Merge lp:~unity-team/compiz/trunk.fix_env into lp:~compiz/compiz/ubuntu

Proposed by Sam Spilsbury
Status: Superseded
Proposed branch: lp:~unity-team/compiz/trunk.fix_env
Merge into: lp:~compiz/compiz/ubuntu
Diff against target: 326281 lines (+324117/-0)
407 files modified
.gitignore (+1/-0)
AUTHORS (+29/-0)
CMakeLists.txt (+131/-0)
COPYING (+6/-0)
COPYING.GPL (+340/-0)
COPYING.LGPL (+510/-0)
COPYING.MIT (+21/-0)
ChangeLog (+1795/-0)
Doxyfile (+1514/-0)
INSTALL (+18/-0)
NEWS (+498/-0)
README (+8/-0)
RELEASING (+75/-0)
TODO (+22/-0)
cmake/CMakeLists.txt (+32/-0)
cmake/CompizBcop.cmake (+41/-0)
cmake/CompizCommon.cmake (+277/-0)
cmake/CompizDefaults.cmake (+15/-0)
cmake/CompizDefaults.cmake.in (+5/-0)
cmake/CompizGconf.cmake (+52/-0)
cmake/CompizPackage.cmake (+101/-0)
cmake/CompizPlugin.cmake (+440/-0)
cmake/FindCompiz.cmake (+94/-0)
cmake/all_plugins_in_folder_example-CMakeLists.txt (+10/-0)
cmake/base.cmake (+63/-0)
cmake/plugin_extensions/CompizGenGconf.cmake (+79/-0)
cmake/plugin_extensions/CompizGenInstallData.cmake (+25/-0)
cmake/plugin_extensions/CompizGenInstallImages.cmake (+25/-0)
compiz.pc.in (+12/-0)
config.h.core.in (+5/-0)
gtk/CMakeLists.txt (+93/-0)
gtk/config.h.gtk.in (+25/-0)
gtk/gnome/50-compiz-desktop-key.xml.in (+16/-0)
gtk/gnome/50-compiz-key.xml.in (+28/-0)
gtk/gnome/CMakeLists.txt (+84/-0)
gtk/gnome/compiz-window-manager.c (+505/-0)
gtk/gnome/compiz-window-manager.h (+39/-0)
gtk/gnome/compiz-wm.desktop.in (+17/-0)
gtk/gnome/compiz.desktop.in (+15/-0)
gtk/window-decorator/CMakeLists.txt (+81/-0)
gtk/window-decorator/TODO (+18/-0)
gtk/window-decorator/actionmenu.c (+134/-0)
gtk/window-decorator/blurprops.c (+89/-0)
gtk/window-decorator/cairo.c (+915/-0)
gtk/window-decorator/decorator.c (+1301/-0)
gtk/window-decorator/decorprops.c (+161/-0)
gtk/window-decorator/events.c (+1177/-0)
gtk/window-decorator/forcequit.c (+201/-0)
gtk/window-decorator/frames.c (+316/-0)
gtk/window-decorator/gdk.c (+106/-0)
gtk/window-decorator/gtk-window-decorator.c (+453/-0)
gtk/window-decorator/gtk-window-decorator.h (+1140/-0)
gtk/window-decorator/gwd.schemas.in (+81/-0)
gtk/window-decorator/metacity.c (+1634/-0)
gtk/window-decorator/settings.c (+546/-0)
gtk/window-decorator/style.c (+66/-0)
gtk/window-decorator/switcher.c (+515/-0)
gtk/window-decorator/tooltip.c (+205/-0)
gtk/window-decorator/util.c (+299/-0)
gtk/window-decorator/wnck.c (+709/-0)
images/CMakeLists.txt (+9/-0)
include/CMakeLists.txt (+11/-0)
include/compiz-common.h.in (+9/-0)
include/compiz.h (+98/-0)
include/core/CMakeLists.txt (+30/-0)
include/core/action.h (+178/-0)
include/core/atoms.h (+162/-0)
include/core/core.h (+88/-0)
include/core/countedlist.h (+114/-0)
include/core/icon.h (+53/-0)
include/core/match.h (+95/-0)
include/core/modifierhandler.h (+114/-0)
include/core/option.h (+243/-0)
include/core/output.h (+70/-0)
include/core/plugin.h (+332/-0)
include/core/pluginclasses.h (+70/-0)
include/core/pluginclasshandler.h (+167/-0)
include/core/point.h (+110/-0)
include/core/propertywriter.h (+54/-0)
include/core/rect.h (+227/-0)
include/core/region.h (+191/-0)
include/core/screen.h (+481/-0)
include/core/serialization.h (+158/-0)
include/core/session.h (+53/-0)
include/core/size.h (+69/-0)
include/core/timer.h (+116/-0)
include/core/window.h (+567/-0)
include/core/wrapsystem.h (+184/-0)
include/decoration.h (+432/-0)
kde/CMakeLists.txt (+1/-0)
kde/window-decorator-kde4/CMakeLists.txt (+76/-0)
kde/window-decorator-kde4/Makefile.am (+49/-0)
kde/window-decorator-kde4/decorator.cpp (+937/-0)
kde/window-decorator-kde4/decorator.h (+168/-0)
kde/window-decorator-kde4/kdecoration_plugins.cpp (+212/-0)
kde/window-decorator-kde4/kdecoration_plugins.h (+90/-0)
kde/window-decorator-kde4/main.cpp (+132/-0)
kde/window-decorator-kde4/options.cpp (+186/-0)
kde/window-decorator-kde4/options.h (+140/-0)
kde/window-decorator-kde4/org.kde.KWin.xml (+10/-0)
kde/window-decorator-kde4/paintredirector.cpp (+124/-0)
kde/window-decorator-kde4/paintredirector.h (+60/-0)
kde/window-decorator-kde4/switcher.cpp (+330/-0)
kde/window-decorator-kde4/switcher.h (+88/-0)
kde/window-decorator-kde4/utils.cpp (+249/-0)
kde/window-decorator-kde4/utils.h (+75/-0)
kde/window-decorator-kde4/window.cpp (+1940/-0)
kde/window-decorator-kde4/window.h (+276/-0)
legacy/compiz-cube.h (+230/-0)
legacy/compiz-cube.pc.in (+13/-0)
legacy/fs.xml.in (+13/-0)
legacy/fuse.cpp (+1442/-0)
legacy/gconf.cpp (+848/-0)
legacy/gconf.xml.in (+18/-0)
legacy/metadata.cpp (+1160/-0)
legacy/metadata.h (+106/-0)
legacy/minimize.cpp (+1059/-0)
legacy/minimize.xml.in (+43/-0)
legacy/privatemetadata.h (+40/-0)
legacy/video.cpp (+1329/-0)
legacy/video.xml.in (+14/-0)
libdecoration/CMakeLists.txt (+59/-0)
libdecoration/config.h.libdecoration.in (+4/-0)
libdecoration/decoration.c (+2987/-0)
libdecoration/libdecoration.pc.in (+12/-0)
metadata/CMakeLists.txt (+52/-0)
metadata/core.xml.in (+275/-0)
plugins/CMakeLists.txt (+10/-0)
plugins/annotate/CMakeLists.txt (+5/-0)
plugins/annotate/annotate.xml.in (+92/-0)
plugins/annotate/src/annotate.cpp (+980/-0)
plugins/annotate/src/annotate.h (+213/-0)
plugins/blur/CMakeLists.txt (+16/-0)
plugins/blur/blur.xml.in (+112/-0)
plugins/blur/src/blur.cpp (+2333/-0)
plugins/blur/src/blur.h (+241/-0)
plugins/clone/CMakeLists.txt (+5/-0)
plugins/clone/clone.xml.in (+22/-0)
plugins/clone/src/clone.cpp (+595/-0)
plugins/clone/src/clone.h (+147/-0)
plugins/commands/CMakeLists.txt (+5/-0)
plugins/commands/commands.xml.in (+385/-0)
plugins/commands/src/commands.cpp (+132/-0)
plugins/commands/src/commands.h (+50/-0)
plugins/compiztoolbox/CMakeLists.txt (+5/-0)
plugins/compiztoolbox/compiz-compiztoolbox.pc.in (+12/-0)
plugins/compiztoolbox/compiztoolbox.xml.in (+13/-0)
plugins/compiztoolbox/include/compiztoolbox/compiztoolbox.h (+168/-0)
plugins/compiztoolbox/src/compiztoolbox.cpp (+742/-0)
plugins/composite/CMakeLists.txt (+5/-0)
plugins/composite/compiz-composite.pc.in (+12/-0)
plugins/composite/composite.xml.in (+35/-0)
plugins/composite/include/composite/composite.h (+414/-0)
plugins/composite/src/composite.cpp (+103/-0)
plugins/composite/src/privates.h (+157/-0)
plugins/composite/src/screen.cpp (+997/-0)
plugins/composite/src/window.cpp (+640/-0)
plugins/copytex/CMakeLists.txt (+5/-0)
plugins/copytex/copytex.xml.in (+12/-0)
plugins/copytex/src/copytex.cpp (+341/-0)
plugins/copytex/src/copytex.h (+114/-0)
plugins/cube/CMakeLists.txt (+5/-0)
plugins/cube/compiz-cube.pc.in (+12/-0)
plugins/cube/cube.xml.in (+167/-0)
plugins/cube/include/cube/cube.h (+181/-0)
plugins/cube/src/cube.cpp (+1772/-0)
plugins/cube/src/privates.h (+183/-0)
plugins/dbus/CMakeLists.txt (+37/-0)
plugins/dbus/dbus.xml.in (+14/-0)
plugins/dbus/src/dbus.cpp (+2046/-0)
plugins/dbus/src/dbus.h (+185/-0)
plugins/decor/CMakeLists.txt (+14/-0)
plugins/decor/decor.xml.in (+75/-0)
plugins/decor/src/decor.cpp (+2160/-0)
plugins/decor/src/decor.h (+252/-0)
plugins/fade/CMakeLists.txt (+5/-0)
plugins/fade/fade.xml.in (+85/-0)
plugins/fade/src/fade.cpp (+398/-0)
plugins/fade/src/fade.h (+102/-0)
plugins/gnomecompat/CMakeLists.txt (+5/-0)
plugins/gnomecompat/gnomecompat.xml.in (+59/-0)
plugins/gnomecompat/src/gnomecompat.cpp (+131/-0)
plugins/gnomecompat/src/gnomecompat.h (+53/-0)
plugins/grid/CMakeLists.txt (+5/-0)
plugins/grid/grid.xml.in (+562/-0)
plugins/grid/src/grid.cpp (+726/-0)
plugins/grid/src/grid.h (+176/-0)
plugins/imgpng/CMakeLists.txt (+5/-0)
plugins/imgpng/imgpng.xml.in (+16/-0)
plugins/imgpng/src/imgpng.cpp (+358/-0)
plugins/imgpng/src/imgpng.h (+69/-0)
plugins/imgsvg/CMakeLists.txt (+5/-0)
plugins/imgsvg/imgsvg.xml.in (+24/-0)
plugins/imgsvg/src/imgsvg.cpp (+637/-0)
plugins/imgsvg/src/imgsvg.h (+136/-0)
plugins/ini/CMakeLists.txt (+5/-0)
plugins/ini/ini.xml.in (+13/-0)
plugins/ini/src/ini.cpp (+611/-0)
plugins/ini/src/ini.h (+106/-0)
plugins/inotify/CMakeLists.txt (+10/-0)
plugins/inotify/inotify.xml.in (+14/-0)
plugins/inotify/src/inotify.cpp (+169/-0)
plugins/inotify/src/inotify.h (+66/-0)
plugins/kde/CMakeLists.txt (+22/-0)
plugins/kde/kde.xml.in (+15/-0)
plugins/kde/src/dispatcher.cpp (+265/-0)
plugins/kde/src/dispatcher.h (+79/-0)
plugins/kde/src/kde.cpp (+68/-0)
plugins/kde/src/kde.h (+60/-0)
plugins/kde/src/socket.cpp (+67/-0)
plugins/kde/src/socket.h (+44/-0)
plugins/kde/src/timer.cpp (+69/-0)
plugins/kde/src/timer.h (+55/-0)
plugins/move/CMakeLists.txt (+5/-0)
plugins/move/move.xml.in (+48/-0)
plugins/move/src/move.cpp (+725/-0)
plugins/move/src/move.h (+129/-0)
plugins/obs/CMakeLists.txt (+5/-0)
plugins/obs/obs.xml.in (+161/-0)
plugins/obs/src/obs.cpp (+332/-0)
plugins/obs/src/obs.h (+102/-0)
plugins/opengl/CMakeLists.txt (+8/-0)
plugins/opengl/compiz-opengl.pc.in (+12/-0)
plugins/opengl/include/opengl/fragment.h (+124/-0)
plugins/opengl/include/opengl/matrix.h (+66/-0)
plugins/opengl/include/opengl/opengl.h (+590/-0)
plugins/opengl/include/opengl/texture.h (+223/-0)
plugins/opengl/include/opengl/vector.h (+127/-0)
plugins/opengl/opengl.xml.in (+48/-0)
plugins/opengl/src/fragment.cpp (+1145/-0)
plugins/opengl/src/matrix.cpp (+440/-0)
plugins/opengl/src/opengl.cpp (+101/-0)
plugins/opengl/src/paint.cpp (+1262/-0)
plugins/opengl/src/privatefragment.h (+54/-0)
plugins/opengl/src/privates.h (+172/-0)
plugins/opengl/src/privatetexture.h (+85/-0)
plugins/opengl/src/screen.cpp (+1235/-0)
plugins/opengl/src/texture.cpp (+616/-0)
plugins/opengl/src/vector.cpp (+276/-0)
plugins/opengl/src/window.cpp (+364/-0)
plugins/place/CMakeLists.txt (+5/-0)
plugins/place/place.xml.in (+168/-0)
plugins/place/src/place.cpp (+1713/-0)
plugins/place/src/place.h (+141/-0)
plugins/regex/CMakeLists.txt (+5/-0)
plugins/regex/regex.xml.in (+14/-0)
plugins/regex/src/regex.cpp (+328/-0)
plugins/regex/src/regexplugin.h (+79/-0)
plugins/resize/CMakeLists.txt (+5/-0)
plugins/resize/resize.xml.in (+193/-0)
plugins/resize/src/resize.cpp (+1824/-0)
plugins/resize/src/resize.h (+187/-0)
plugins/rotate/CMakeLists.txt (+5/-0)
plugins/rotate/rotate.xml.in (+278/-0)
plugins/rotate/src/rotate.cpp (+1086/-0)
plugins/rotate/src/rotate.h (+173/-0)
plugins/scale/CMakeLists.txt (+5/-0)
plugins/scale/compiz-scale.pc.in (+12/-0)
plugins/scale/include/scale/scale.h (+173/-0)
plugins/scale/scale.xml.in (+179/-0)
plugins/scale/src/privates.h (+187/-0)
plugins/scale/src/scale.cpp (+1809/-0)
plugins/screenshot/CMakeLists.txt (+5/-0)
plugins/screenshot/screenshot.xml.in (+35/-0)
plugins/screenshot/src/screenshot.cpp (+365/-0)
plugins/screenshot/src/screenshot.h (+83/-0)
plugins/switcher/CMakeLists.txt (+5/-0)
plugins/switcher/src/switcher.cpp (+1193/-0)
plugins/switcher/src/switcher.h (+180/-0)
plugins/switcher/switcher.xml.in (+170/-0)
plugins/water/CMakeLists.txt (+5/-0)
plugins/water/src/water.cpp (+1356/-0)
plugins/water/src/water.h (+173/-0)
plugins/water/water.xml.in (+64/-0)
plugins/wobbly/CMakeLists.txt (+5/-0)
plugins/wobbly/src/wobbly.cpp (+2380/-0)
plugins/wobbly/src/wobbly.h (+369/-0)
plugins/wobbly/wobbly.xml.in (+126/-0)
plugins/zoom/CMakeLists.txt (+5/-0)
plugins/zoom/src/zoom.cpp (+742/-0)
plugins/zoom/src/zoom.h (+112/-0)
plugins/zoom/zoom.xml.in (+66/-0)
po/CMakeLists.txt (+56/-0)
po/ChangeLog (+25/-0)
po/POTFILES.in (+28/-0)
po/af.po (+3123/-0)
po/ar.po (+3009/-0)
po/as.po (+2624/-0)
po/be.po (+2738/-0)
po/bg.po (+3776/-0)
po/bn.po (+3576/-0)
po/bn_IN.po (+3566/-0)
po/bs.po (+3251/-0)
po/ca.po (+4148/-0)
po/cs.po (+4706/-0)
po/cy.po (+3267/-0)
po/da.po (+4135/-0)
po/de.po (+4823/-0)
po/el.po (+3334/-0)
po/en_GB.po (+3713/-0)
po/en_US.po (+2766/-0)
po/es.po (+4751/-0)
po/et.po (+3726/-0)
po/eu.po (+3222/-0)
po/fa.po (+2634/-0)
po/fi.po (+4724/-0)
po/fr.po (+3378/-0)
po/gl.po (+3329/-0)
po/gu.po (+3345/-0)
po/he.po (+3550/-0)
po/hi.po (+3799/-0)
po/hr.po (+3652/-0)
po/hu.po (+3218/-0)
po/id.po (+3178/-0)
po/it.po (+3436/-0)
po/ja.po (+2974/-0)
po/ka.po (+2999/-0)
po/km.po (+3751/-0)
po/ko.po (+3177/-0)
po/lo.po (+2997/-0)
po/lt.po (+3754/-0)
po/mk.po (+3017/-0)
po/ml_IN.po (+3000/-0)
po/mr.po (+2780/-0)
po/nb.po (+3358/-0)
po/nl.po (+3457/-0)
po/or.po (+3439/-0)
po/pa.po (+3861/-0)
po/pl.po (+3753/-0)
po/pt.po (+3309/-0)
po/pt_BR.po (+3363/-0)
po/ro.po (+3628/-0)
po/ru.po (+3258/-0)
po/sk.po (+3295/-0)
po/sl.po (+3772/-0)
po/sr.po (+3965/-0)
po/sv.po (+3389/-0)
po/ta.po (+3068/-0)
po/tr.po (+3558/-0)
po/uk.po (+3501/-0)
po/vi.po (+3000/-0)
po/xh.po (+3115/-0)
po/zh_CN.po (+4367/-0)
po/zh_TW.po (+4366/-0)
po/zu.po (+3115/-0)
src/CMakeLists.txt (+63/-0)
src/action.cpp (+655/-0)
src/actions.cpp (+289/-0)
src/atoms.cpp (+324/-0)
src/event.cpp (+2043/-0)
src/eventsource.cpp (+93/-0)
src/icon.cpp (+46/-0)
src/main.cpp (+283/-0)
src/match.cpp (+744/-0)
src/modifierhandler.cpp (+207/-0)
src/option.cpp (+982/-0)
src/output.cpp (+90/-0)
src/plugin.cpp (+701/-0)
src/pluginclasses.cpp (+74/-0)
src/point.cpp (+100/-0)
src/privateaction.h (+55/-0)
src/privatematch.h (+88/-0)
src/privateoption.h (+97/-0)
src/privateregion.h (+41/-0)
src/privatescreen.h (+551/-0)
src/privatewindow.h (+327/-0)
src/propertywriter.cpp (+242/-0)
src/rect.cpp (+285/-0)
src/region.cpp (+425/-0)
src/screen.cpp (+4884/-0)
src/session.cpp (+429/-0)
src/size.cpp (+50/-0)
src/string.cpp (+88/-0)
src/timer.cpp (+272/-0)
src/window.cpp (+5885/-0)
src/windowgeometry.cpp (+231/-0)
unity/unity_window_decorator/.gitignore (+1/-0)
unity/unity_window_decorator/AUTHORS (+29/-0)
unity/unity_window_decorator/CMakeLists.txt (+38/-0)
unity/unity_window_decorator/COPYING (+6/-0)
unity/unity_window_decorator/COPYING.GPL (+340/-0)
unity/unity_window_decorator/INSTALL (+14/-0)
unity/unity_window_decorator/README (+8/-0)
unity/unity_window_decorator/src/CMakeLists.txt (+161/-0)
unity/unity_window_decorator/src/TODO (+6/-0)
unity/unity_window_decorator/src/actionmenu.c (+109/-0)
unity/unity_window_decorator/src/blurprops.c (+68/-0)
unity/unity_window_decorator/src/cairo.c (+1001/-0)
unity/unity_window_decorator/src/config.h.gtk.in (+25/-0)
unity/unity_window_decorator/src/decorator.c (+874/-0)
unity/unity_window_decorator/src/decorprops.c (+150/-0)
unity/unity_window_decorator/src/events.c (+1172/-0)
unity/unity_window_decorator/src/forcequit.c (+176/-0)
unity/unity_window_decorator/src/gdk.c (+87/-0)
unity/unity_window_decorator/src/gtk-window-decorator.c (+443/-0)
unity/unity_window_decorator/src/gtk-window-decorator.h (+1009/-0)
unity/unity_window_decorator/src/gwd.schemas.in (+81/-0)
unity/unity_window_decorator/src/metacity.c (+1965/-0)
unity/unity_window_decorator/src/settings.c (+567/-0)
unity/unity_window_decorator/src/style.c (+42/-0)
unity/unity_window_decorator/src/switcher.c (+455/-0)
unity/unity_window_decorator/src/util.c (+278/-0)
unity/unity_window_decorator/src/wnck.c (+772/-0)
xslt/CMakeLists.txt (+13/-0)
xslt/bcop.xslt (+1581/-0)
xslt/compiz_gconf_schemas.xslt (+410/-0)
xslt/default_plugins.xslt (+76/-0)
To merge this branch: bzr merge lp:~unity-team/compiz/trunk.fix_env
Reviewer Review Type Date Requested Status
compiz packagers Pending
Review via email: mp+56565@code.launchpad.net

This proposal has been superseded by a proposal from 2011-04-06.

Description of the change

This branch basically fixes the way we were botching the env for applications that we launch.

Because of the way compiz works, we need to ensure that the program is not just using the env as started by DISPLAY=:blah but actually the display and screen that compiz is running on (eg priv->displayString and priv->screenNum). However what we were doing in this case was replacing the display with 0.priv->screenNum every time which attempts to start any commands we wish to run on display :0. This is incorrect behaviour - it should reflect the display that compiz was actually started on.

To post a comment you must log in.

Unmerged revisions

2733. By Sam Spilsbury

Don't botch the env we pass to other apps

2732. By David Barth

grid plugin improvements - bug #744104

2731. By David Barth

re-integrate the unity-window-decorator, for real this time

2730. By David Barth

improves the grid plugin behavior - Bug #744104

2729. By David Barth

merge display/size problems with xterm

2728. By David Barth

merge lp:~unity-team/compiz/trunk.icccm-4.1.4 - Fix for bug #741074

2727. By David Barth

Merging lp:~unity-team/compiz/trunk.grabs to fix bug #747323

2726. By David Barth

integrate 085_add_grid_plugin.patch to manage the grid plugin directly in trunk

2725. By David Barth

re-integrate the unity-window-decorator patch to facilitate code reviews

2724. By Sam Spilsbury

add stack attack hack

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file '.gitignore'
2--- .gitignore 1970-01-01 00:00:00 +0000
3+++ .gitignore 2011-04-06 13:26:57 +0000
4@@ -0,0 +1,1 @@
5+po/compiz.pot
6
7=== added file 'AUTHORS'
8--- AUTHORS 1970-01-01 00:00:00 +0000
9+++ AUTHORS 2011-04-06 13:26:57 +0000
10@@ -0,0 +1,29 @@
11+compiz and the standard set of plugins are designed and written by
12+
13+David Reveman <davidr@novell.com>
14+
15+with additional functionality by
16+
17+Radek Doulik <rodo@novell.com> IO multiplexing
18+Mirco Müller <macslow@bangang.de> Skydome support in cube plugin
19+Søren Sandmann <sandmann@redhat.com> plane plugin
20+Dan Winship <danw@novell.com> gconf-dump plugin
21+Brian Paul <brian.paul@tungstengraphics.com> Matrix functions
22+
23+and other contributions by
24+
25+Mike Cook <mcook@novell.com>
26+Mike Dransfield <mike@blueroot.co.uk>
27+Diogo Ferreira <diogo@underdev.org>
28+gandalfn <gandalfn@club-internet.fr>
29+Guillaume <ixcemix@gmail.com>
30+Kristian Høgsberg <krh@redhat.com>
31+Dennis Kasprzyk <onestone@beryl-project.org>
32+Gerd Kohlberger <lowfi@chello.at>
33+Volker Krause <vkrause@kde.org>
34+moppsy <moppsy@comcast.net>
35+Jeremy C. Reed <reed@reedmedia.net>
36+Thierry Reding <thierry@gilfi.de>
37+Julian Sikorski <lordzanon@poczta.onet.pl>
38+Quinn Storm <livinglatexkali@gmail.com>
39+Erkin Bahceci <erkinbah@gmail.com>
40
41=== added file 'CMakeLists.txt'
42--- CMakeLists.txt 1970-01-01 00:00:00 +0000
43+++ CMakeLists.txt 2011-04-06 13:26:57 +0000
44@@ -0,0 +1,131 @@
45+project (compiz)
46+
47+set (CMAKE_MODULE_PATH_ORIG ${CMAKE_MODULE_PATH})
48+set (COMPIZ_CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
49+set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${COMPIZ_CMAKE_MODULE_PATH})
50+include (CompizCommon)
51+include (CompizPackage)
52+include (cmake/base.cmake)
53+include (CheckFunctionExists)
54+
55+
56+set (CMAKE_CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo;MinSizeRe" CACHE INTERNAL "" FORCE)
57+if (NOT CMAKE_BUILD_TYPE)
58+ set (CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build type (Debug/Release/RelWithDebInfo/MinSizeRe)" FORCE)
59+endif (NOT CMAKE_BUILD_TYPE)
60+
61+# compiz package version number
62+# An odd micro number indicates in-progress development.
63+# An even micro number indicates a released version.
64+set (COMPIZ_VERSION_MAJOR 0)
65+set (COMPIZ_VERSION_MINOR 9)
66+set (COMPIZ_VERSION_MICRO 4)
67+set (COMPIZ_VERSION_MACRO 0)
68+set (VERSION ${COMPIZ_VERSION_MAJOR}.${COMPIZ_VERSION_MINOR}.${COMPIZ_VERSION_MICRO}.${COMPIZ_VERSION_MACRO})
69+
70+set (DECOR_INTERFACE_VERSION 20110130)
71+
72+if (COMPIZ_PACKAGING_ENABLED)
73+ set (prefix ${CMAKE_INSTALL_PREFIX} CACHE PATH "prefix")
74+ set (exec_prefix ${CMAKE_INSTALL_PREFIX}/bin CACHE PATH "bindir")
75+ set (libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "libdir")
76+ set (includedir ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "includedir")
77+ set (datadir ${CMAKE_INSTALL_PREFIX}/share CACHE PATH "datadir")
78+else (COMPIZ_PACKAGING_ENABLED)
79+ set (prefix ${CMAKE_INSTALL_PREFIX} )
80+ set (exec_prefix ${CMAKE_INSTALL_PREFIX}/bin )
81+ set (libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
82+ set (includedir ${CMAKE_INSTALL_PREFIX}/include )
83+ set (datadir ${CMAKE_INSTALL_PREFIX}/share )
84+endif (COMPIZ_PACKAGING_ENABLED)
85+
86+set (compiz_plugindir ${libdir}/compiz)
87+set (compiz_sharedir ${datadir}/compiz/)
88+set (compiz_metadatadir ${datadir}/compiz)
89+set (COMPIZ_I18N_DIR ${CMAKE_SOURCE_DIR}/po)
90+
91+set (ALL_LINGUAS af ar bg bn bn_IN bs ca cs cy da de el en_GB en_US es eu et fi fr gl gu he hi hr hu id it ja ka km ko lo lt mk mr nb nl or pa pl pt pt_BR ro ru sk sl sr sv ta tr uk vi xh zh_CN zh_TW zu)
92+set (GETTEXT_PACKAGE compiz)
93+
94+find_package (Boost 1.34.0 REQUIRED serialization)
95+
96+set (COMPIZ_REQUIRES
97+ x11
98+ xext
99+ xdamage
100+ xcomposite
101+ x11-xcb
102+ xrandr
103+ xinerama
104+ xext
105+ ice
106+ sm
107+ libxml-2.0
108+ libxslt
109+ glib-2.0
110+ gio-2.0
111+ glibmm-2.4
112+ "libstartup-notification-1.0 >= 0.7"
113+)
114+
115+set (DECORATION_REQUIRES xrender)
116+
117+compiz_pkg_check_modules (COMPIZ REQUIRED ${COMPIZ_REQUIRES})
118+compiz_pkg_check_modules (LIBDECORATION REQUIRED ${DECORATION_REQUIRES})
119+
120+list (APPEND COMPIZ_LIBRARIES ${Boost_LIBRARIES})
121+
122+include (CompizDefaults)
123+
124+set (COMPIZ_CFLAGS "${COMPIZ_CFLAGS} -I${Boost_INCLUDE_DIR}")
125+
126+set (_compiz_package_string "Compiz ${VERSION}")
127+set (_compiz_package "Compiz")
128+
129+compiz_configure_file (${compiz_SOURCE_DIR}/config.h.core.in ${compiz_BINARY_DIR}/generated/config.h)
130+
131+compiz_configure_file (
132+ ${CMAKE_SOURCE_DIR}/include/compiz-common.h.in
133+ ${CMAKE_BINARY_DIR}/generated/compiz-common.h
134+)
135+
136+install (
137+ FILES ${CMAKE_BINARY_DIR}/generated/compiz-common.h
138+ DESTINATION ${COMPIZ_DESTDIR}${includedir}/compiz
139+)
140+
141+compiz_configure_file (
142+ ${CMAKE_SOURCE_DIR}/compiz.pc.in
143+ ${CMAKE_BINARY_DIR}/compiz.pc
144+ COMPIZ_REQUIRES
145+ COMPIZ_CFLAGS
146+)
147+
148+install (
149+ FILES ${CMAKE_BINARY_DIR}/compiz.pc
150+ DESTINATION ${COMPIZ_DESTDIR}${libdir}/pkgconfig
151+)
152+
153+add_subdirectory (cmake)
154+add_subdirectory (include)
155+add_subdirectory (images)
156+add_subdirectory (libdecoration)
157+add_subdirectory (gtk)
158+add_subdirectory (kde)
159+add_subdirectory (unity/unity_window_decorator)
160+add_subdirectory (po)
161+add_subdirectory (metadata)
162+add_subdirectory (src)
163+add_subdirectory (xslt)
164+add_subdirectory (plugins)
165+
166+compiz_ensure_linkage ()
167+compiz_package_generation ("Compiz")
168+compiz_add_uninstall ()
169+compiz_add_git_dist ()
170+
171+_print_configure_results ()
172+
173+_check_compiz_cmake_macro (${CMAKE_MODULE_PATH_ORIG})
174+
175+
176
177=== added file 'COPYING'
178--- COPYING 1970-01-01 00:00:00 +0000
179+++ COPYING 2011-04-06 13:26:57 +0000
180@@ -0,0 +1,6 @@
181+Most of the code is MIT licensed, some code is instead licensed
182+under the LGPL and some under the GPL. Each source code file
183+contain a header that describes the license for the code in that
184+specific file.
185+
186+For More information see COPYING.GPL, COPYING.LGPL and COPYING.MIT.
187
188=== added file 'COPYING.GPL'
189--- COPYING.GPL 1970-01-01 00:00:00 +0000
190+++ COPYING.GPL 2011-04-06 13:26:57 +0000
191@@ -0,0 +1,340 @@
192+ GNU GENERAL PUBLIC LICENSE
193+ Version 2, June 1991
194+
195+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
196+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
197+ Everyone is permitted to copy and distribute verbatim copies
198+ of this license document, but changing it is not allowed.
199+
200+ Preamble
201+
202+ The licenses for most software are designed to take away your
203+freedom to share and change it. By contrast, the GNU General Public
204+License is intended to guarantee your freedom to share and change free
205+software--to make sure the software is free for all its users. This
206+General Public License applies to most of the Free Software
207+Foundation's software and to any other program whose authors commit to
208+using it. (Some other Free Software Foundation software is covered by
209+the GNU Library General Public License instead.) You can apply it to
210+your programs, too.
211+
212+ When we speak of free software, we are referring to freedom, not
213+price. Our General Public Licenses are designed to make sure that you
214+have the freedom to distribute copies of free software (and charge for
215+this service if you wish), that you receive source code or can get it
216+if you want it, that you can change the software or use pieces of it
217+in new free programs; and that you know you can do these things.
218+
219+ To protect your rights, we need to make restrictions that forbid
220+anyone to deny you these rights or to ask you to surrender the rights.
221+These restrictions translate to certain responsibilities for you if you
222+distribute copies of the software, or if you modify it.
223+
224+ For example, if you distribute copies of such a program, whether
225+gratis or for a fee, you must give the recipients all the rights that
226+you have. You must make sure that they, too, receive or can get the
227+source code. And you must show them these terms so they know their
228+rights.
229+
230+ We protect your rights with two steps: (1) copyright the software, and
231+(2) offer you this license which gives you legal permission to copy,
232+distribute and/or modify the software.
233+
234+ Also, for each author's protection and ours, we want to make certain
235+that everyone understands that there is no warranty for this free
236+software. If the software is modified by someone else and passed on, we
237+want its recipients to know that what they have is not the original, so
238+that any problems introduced by others will not reflect on the original
239+authors' reputations.
240+
241+ Finally, any free program is threatened constantly by software
242+patents. We wish to avoid the danger that redistributors of a free
243+program will individually obtain patent licenses, in effect making the
244+program proprietary. To prevent this, we have made it clear that any
245+patent must be licensed for everyone's free use or not licensed at all.
246+
247+ The precise terms and conditions for copying, distribution and
248+modification follow.
249+
250
251+ GNU GENERAL PUBLIC LICENSE
252+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
253+
254+ 0. This License applies to any program or other work which contains
255+a notice placed by the copyright holder saying it may be distributed
256+under the terms of this General Public License. The "Program", below,
257+refers to any such program or work, and a "work based on the Program"
258+means either the Program or any derivative work under copyright law:
259+that is to say, a work containing the Program or a portion of it,
260+either verbatim or with modifications and/or translated into another
261+language. (Hereinafter, translation is included without limitation in
262+the term "modification".) Each licensee is addressed as "you".
263+
264+Activities other than copying, distribution and modification are not
265+covered by this License; they are outside its scope. The act of
266+running the Program is not restricted, and the output from the Program
267+is covered only if its contents constitute a work based on the
268+Program (independent of having been made by running the Program).
269+Whether that is true depends on what the Program does.
270+
271+ 1. You may copy and distribute verbatim copies of the Program's
272+source code as you receive it, in any medium, provided that you
273+conspicuously and appropriately publish on each copy an appropriate
274+copyright notice and disclaimer of warranty; keep intact all the
275+notices that refer to this License and to the absence of any warranty;
276+and give any other recipients of the Program a copy of this License
277+along with the Program.
278+
279+You may charge a fee for the physical act of transferring a copy, and
280+you may at your option offer warranty protection in exchange for a fee.
281+
282+ 2. You may modify your copy or copies of the Program or any portion
283+of it, thus forming a work based on the Program, and copy and
284+distribute such modifications or work under the terms of Section 1
285+above, provided that you also meet all of these conditions:
286+
287+ a) You must cause the modified files to carry prominent notices
288+ stating that you changed the files and the date of any change.
289+
290+ b) You must cause any work that you distribute or publish, that in
291+ whole or in part contains or is derived from the Program or any
292+ part thereof, to be licensed as a whole at no charge to all third
293+ parties under the terms of this License.
294+
295+ c) If the modified program normally reads commands interactively
296+ when run, you must cause it, when started running for such
297+ interactive use in the most ordinary way, to print or display an
298+ announcement including an appropriate copyright notice and a
299+ notice that there is no warranty (or else, saying that you provide
300+ a warranty) and that users may redistribute the program under
301+ these conditions, and telling the user how to view a copy of this
302+ License. (Exception: if the Program itself is interactive but
303+ does not normally print such an announcement, your work based on
304+ the Program is not required to print an announcement.)
305+
306
307+These requirements apply to the modified work as a whole. If
308+identifiable sections of that work are not derived from the Program,
309+and can be reasonably considered independent and separate works in
310+themselves, then this License, and its terms, do not apply to those
311+sections when you distribute them as separate works. But when you
312+distribute the same sections as part of a whole which is a work based
313+on the Program, the distribution of the whole must be on the terms of
314+this License, whose permissions for other licensees extend to the
315+entire whole, and thus to each and every part regardless of who wrote it.
316+
317+Thus, it is not the intent of this section to claim rights or contest
318+your rights to work written entirely by you; rather, the intent is to
319+exercise the right to control the distribution of derivative or
320+collective works based on the Program.
321+
322+In addition, mere aggregation of another work not based on the Program
323+with the Program (or with a work based on the Program) on a volume of
324+a storage or distribution medium does not bring the other work under
325+the scope of this License.
326+
327+ 3. You may copy and distribute the Program (or a work based on it,
328+under Section 2) in object code or executable form under the terms of
329+Sections 1 and 2 above provided that you also do one of the following:
330+
331+ a) Accompany it with the complete corresponding machine-readable
332+ source code, which must be distributed under the terms of Sections
333+ 1 and 2 above on a medium customarily used for software interchange; or,
334+
335+ b) Accompany it with a written offer, valid for at least three
336+ years, to give any third party, for a charge no more than your
337+ cost of physically performing source distribution, a complete
338+ machine-readable copy of the corresponding source code, to be
339+ distributed under the terms of Sections 1 and 2 above on a medium
340+ customarily used for software interchange; or,
341+
342+ c) Accompany it with the information you received as to the offer
343+ to distribute corresponding source code. (This alternative is
344+ allowed only for noncommercial distribution and only if you
345+ received the program in object code or executable form with such
346+ an offer, in accord with Subsection b above.)
347+
348+The source code for a work means the preferred form of the work for
349+making modifications to it. For an executable work, complete source
350+code means all the source code for all modules it contains, plus any
351+associated interface definition files, plus the scripts used to
352+control compilation and installation of the executable. However, as a
353+special exception, the source code distributed need not include
354+anything that is normally distributed (in either source or binary
355+form) with the major components (compiler, kernel, and so on) of the
356+operating system on which the executable runs, unless that component
357+itself accompanies the executable.
358+
359+If distribution of executable or object code is made by offering
360+access to copy from a designated place, then offering equivalent
361+access to copy the source code from the same place counts as
362+distribution of the source code, even though third parties are not
363+compelled to copy the source along with the object code.
364+
365
366+ 4. You may not copy, modify, sublicense, or distribute the Program
367+except as expressly provided under this License. Any attempt
368+otherwise to copy, modify, sublicense or distribute the Program is
369+void, and will automatically terminate your rights under this License.
370+However, parties who have received copies, or rights, from you under
371+this License will not have their licenses terminated so long as such
372+parties remain in full compliance.
373+
374+ 5. You are not required to accept this License, since you have not
375+signed it. However, nothing else grants you permission to modify or
376+distribute the Program or its derivative works. These actions are
377+prohibited by law if you do not accept this License. Therefore, by
378+modifying or distributing the Program (or any work based on the
379+Program), you indicate your acceptance of this License to do so, and
380+all its terms and conditions for copying, distributing or modifying
381+the Program or works based on it.
382+
383+ 6. Each time you redistribute the Program (or any work based on the
384+Program), the recipient automatically receives a license from the
385+original licensor to copy, distribute or modify the Program subject to
386+these terms and conditions. You may not impose any further
387+restrictions on the recipients' exercise of the rights granted herein.
388+You are not responsible for enforcing compliance by third parties to
389+this License.
390+
391+ 7. If, as a consequence of a court judgment or allegation of patent
392+infringement or for any other reason (not limited to patent issues),
393+conditions are imposed on you (whether by court order, agreement or
394+otherwise) that contradict the conditions of this License, they do not
395+excuse you from the conditions of this License. If you cannot
396+distribute so as to satisfy simultaneously your obligations under this
397+License and any other pertinent obligations, then as a consequence you
398+may not distribute the Program at all. For example, if a patent
399+license would not permit royalty-free redistribution of the Program by
400+all those who receive copies directly or indirectly through you, then
401+the only way you could satisfy both it and this License would be to
402+refrain entirely from distribution of the Program.
403+
404+If any portion of this section is held invalid or unenforceable under
405+any particular circumstance, the balance of the section is intended to
406+apply and the section as a whole is intended to apply in other
407+circumstances.
408+
409+It is not the purpose of this section to induce you to infringe any
410+patents or other property right claims or to contest validity of any
411+such claims; this section has the sole purpose of protecting the
412+integrity of the free software distribution system, which is
413+implemented by public license practices. Many people have made
414+generous contributions to the wide range of software distributed
415+through that system in reliance on consistent application of that
416+system; it is up to the author/donor to decide if he or she is willing
417+to distribute software through any other system and a licensee cannot
418+impose that choice.
419+
420+This section is intended to make thoroughly clear what is believed to
421+be a consequence of the rest of this License.
422+
423
424+ 8. If the distribution and/or use of the Program is restricted in
425+certain countries either by patents or by copyrighted interfaces, the
426+original copyright holder who places the Program under this License
427+may add an explicit geographical distribution limitation excluding
428+those countries, so that distribution is permitted only in or among
429+countries not thus excluded. In such case, this License incorporates
430+the limitation as if written in the body of this License.
431+
432+ 9. The Free Software Foundation may publish revised and/or new versions
433+of the General Public License from time to time. Such new versions will
434+be similar in spirit to the present version, but may differ in detail to
435+address new problems or concerns.
436+
437+Each version is given a distinguishing version number. If the Program
438+specifies a version number of this License which applies to it and "any
439+later version", you have the option of following the terms and conditions
440+either of that version or of any later version published by the Free
441+Software Foundation. If the Program does not specify a version number of
442+this License, you may choose any version ever published by the Free Software
443+Foundation.
444+
445+ 10. If you wish to incorporate parts of the Program into other free
446+programs whose distribution conditions are different, write to the author
447+to ask for permission. For software which is copyrighted by the Free
448+Software Foundation, write to the Free Software Foundation; we sometimes
449+make exceptions for this. Our decision will be guided by the two goals
450+of preserving the free status of all derivatives of our free software and
451+of promoting the sharing and reuse of software generally.
452+
453+ NO WARRANTY
454+
455+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
456+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
457+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
458+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
459+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
460+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
461+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
462+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
463+REPAIR OR CORRECTION.
464+
465+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
466+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
467+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
468+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
469+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
470+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
471+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
472+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
473+POSSIBILITY OF SUCH DAMAGES.
474+
475+ END OF TERMS AND CONDITIONS
476+
477
478+ How to Apply These Terms to Your New Programs
479+
480+ If you develop a new program, and you want it to be of the greatest
481+possible use to the public, the best way to achieve this is to make it
482+free software which everyone can redistribute and change under these terms.
483+
484+ To do so, attach the following notices to the program. It is safest
485+to attach them to the start of each source file to most effectively
486+convey the exclusion of warranty; and each file should have at least
487+the "copyright" line and a pointer to where the full notice is found.
488+
489+ <one line to give the program's name and a brief idea of what it does.>
490+ Copyright (C) <year> <name of author>
491+
492+ This program is free software; you can redistribute it and/or modify
493+ it under the terms of the GNU General Public License as published by
494+ the Free Software Foundation; either version 2 of the License, or
495+ (at your option) any later version.
496+
497+ This program is distributed in the hope that it will be useful,
498+ but WITHOUT ANY WARRANTY; without even the implied warranty of
499+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
500+ GNU General Public License for more details.
501+
502+ You should have received a copy of the GNU General Public License
503+ along with this program; if not, write to the Free Software
504+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
505+
506+
507+Also add information on how to contact you by electronic and paper mail.
508+
509+If the program is interactive, make it output a short notice like this
510+when it starts in an interactive mode:
511+
512+ Gnomovision version 69, Copyright (C) year name of author
513+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
514+ This is free software, and you are welcome to redistribute it
515+ under certain conditions; type `show c' for details.
516+
517+The hypothetical commands `show w' and `show c' should show the appropriate
518+parts of the General Public License. Of course, the commands you use may
519+be called something other than `show w' and `show c'; they could even be
520+mouse-clicks or menu items--whatever suits your program.
521+
522+You should also get your employer (if you work as a programmer) or your
523+school, if any, to sign a "copyright disclaimer" for the program, if
524+necessary. Here is a sample; alter the names:
525+
526+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
527+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
528+
529+ <signature of Ty Coon>, 1 April 1989
530+ Ty Coon, President of Vice
531+
532+This General Public License does not permit incorporating your program into
533+proprietary programs. If your program is a subroutine library, you may
534+consider it more useful to permit linking proprietary applications with the
535+library. If this is what you want to do, use the GNU Library General
536+Public License instead of this License.
537
538=== added file 'COPYING.LGPL'
539--- COPYING.LGPL 1970-01-01 00:00:00 +0000
540+++ COPYING.LGPL 2011-04-06 13:26:57 +0000
541@@ -0,0 +1,510 @@
542+
543+ GNU LESSER GENERAL PUBLIC LICENSE
544+ Version 2.1, February 1999
545+
546+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
547+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
548+ Everyone is permitted to copy and distribute verbatim copies
549+ of this license document, but changing it is not allowed.
550+
551+[This is the first released version of the Lesser GPL. It also counts
552+ as the successor of the GNU Library Public License, version 2, hence
553+ the version number 2.1.]
554+
555+ Preamble
556+
557+ The licenses for most software are designed to take away your
558+freedom to share and change it. By contrast, the GNU General Public
559+Licenses are intended to guarantee your freedom to share and change
560+free software--to make sure the software is free for all its users.
561+
562+ This license, the Lesser General Public License, applies to some
563+specially designated software packages--typically libraries--of the
564+Free Software Foundation and other authors who decide to use it. You
565+can use it too, but we suggest you first think carefully about whether
566+this license or the ordinary General Public License is the better
567+strategy to use in any particular case, based on the explanations
568+below.
569+
570+ When we speak of free software, we are referring to freedom of use,
571+not price. Our General Public Licenses are designed to make sure that
572+you have the freedom to distribute copies of free software (and charge
573+for this service if you wish); that you receive source code or can get
574+it if you want it; that you can change the software and use pieces of
575+it in new free programs; and that you are informed that you can do
576+these things.
577+
578+ To protect your rights, we need to make restrictions that forbid
579+distributors to deny you these rights or to ask you to surrender these
580+rights. These restrictions translate to certain responsibilities for
581+you if you distribute copies of the library or if you modify it.
582+
583+ For example, if you distribute copies of the library, whether gratis
584+or for a fee, you must give the recipients all the rights that we gave
585+you. You must make sure that they, too, receive or can get the source
586+code. If you link other code with the library, you must provide
587+complete object files to the recipients, so that they can relink them
588+with the library after making changes to the library and recompiling
589+it. And you must show them these terms so they know their rights.
590+
591+ We protect your rights with a two-step method: (1) we copyright the
592+library, and (2) we offer you this license, which gives you legal
593+permission to copy, distribute and/or modify the library.
594+
595+ To protect each distributor, we want to make it very clear that
596+there is no warranty for the free library. Also, if the library is
597+modified by someone else and passed on, the recipients should know
598+that what they have is not the original version, so that the original
599+author's reputation will not be affected by problems that might be
600+introduced by others.
601+
602
603+ Finally, software patents pose a constant threat to the existence of
604+any free program. We wish to make sure that a company cannot
605+effectively restrict the users of a free program by obtaining a
606+restrictive license from a patent holder. Therefore, we insist that
607+any patent license obtained for a version of the library must be
608+consistent with the full freedom of use specified in this license.
609+
610+ Most GNU software, including some libraries, is covered by the
611+ordinary GNU General Public License. This license, the GNU Lesser
612+General Public License, applies to certain designated libraries, and
613+is quite different from the ordinary General Public License. We use
614+this license for certain libraries in order to permit linking those
615+libraries into non-free programs.
616+
617+ When a program is linked with a library, whether statically or using
618+a shared library, the combination of the two is legally speaking a
619+combined work, a derivative of the original library. The ordinary
620+General Public License therefore permits such linking only if the
621+entire combination fits its criteria of freedom. The Lesser General
622+Public License permits more lax criteria for linking other code with
623+the library.
624+
625+ We call this license the "Lesser" General Public License because it
626+does Less to protect the user's freedom than the ordinary General
627+Public License. It also provides other free software developers Less
628+of an advantage over competing non-free programs. These disadvantages
629+are the reason we use the ordinary General Public License for many
630+libraries. However, the Lesser license provides advantages in certain
631+special circumstances.
632+
633+ For example, on rare occasions, there may be a special need to
634+encourage the widest possible use of a certain library, so that it
635+becomes a de-facto standard. To achieve this, non-free programs must
636+be allowed to use the library. A more frequent case is that a free
637+library does the same job as widely used non-free libraries. In this
638+case, there is little to gain by limiting the free library to free
639+software only, so we use the Lesser General Public License.
640+
641+ In other cases, permission to use a particular library in non-free
642+programs enables a greater number of people to use a large body of
643+free software. For example, permission to use the GNU C Library in
644+non-free programs enables many more people to use the whole GNU
645+operating system, as well as its variant, the GNU/Linux operating
646+system.
647+
648+ Although the Lesser General Public License is Less protective of the
649+users' freedom, it does ensure that the user of a program that is
650+linked with the Library has the freedom and the wherewithal to run
651+that program using a modified version of the Library.
652+
653+ The precise terms and conditions for copying, distribution and
654+modification follow. Pay close attention to the difference between a
655+"work based on the library" and a "work that uses the library". The
656+former contains code derived from the library, whereas the latter must
657+be combined with the library in order to run.
658+
659
660+ GNU LESSER GENERAL PUBLIC LICENSE
661+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
662+
663+ 0. This License Agreement applies to any software library or other
664+program which contains a notice placed by the copyright holder or
665+other authorized party saying it may be distributed under the terms of
666+this Lesser General Public License (also called "this License").
667+Each licensee is addressed as "you".
668+
669+ A "library" means a collection of software functions and/or data
670+prepared so as to be conveniently linked with application programs
671+(which use some of those functions and data) to form executables.
672+
673+ The "Library", below, refers to any such software library or work
674+which has been distributed under these terms. A "work based on the
675+Library" means either the Library or any derivative work under
676+copyright law: that is to say, a work containing the Library or a
677+portion of it, either verbatim or with modifications and/or translated
678+straightforwardly into another language. (Hereinafter, translation is
679+included without limitation in the term "modification".)
680+
681+ "Source code" for a work means the preferred form of the work for
682+making modifications to it. For a library, complete source code means
683+all the source code for all modules it contains, plus any associated
684+interface definition files, plus the scripts used to control
685+compilation and installation of the library.
686+
687+ Activities other than copying, distribution and modification are not
688+covered by this License; they are outside its scope. The act of
689+running a program using the Library is not restricted, and output from
690+such a program is covered only if its contents constitute a work based
691+on the Library (independent of the use of the Library in a tool for
692+writing it). Whether that is true depends on what the Library does
693+and what the program that uses the Library does.
694+
695+ 1. You may copy and distribute verbatim copies of the Library's
696+complete source code as you receive it, in any medium, provided that
697+you conspicuously and appropriately publish on each copy an
698+appropriate copyright notice and disclaimer of warranty; keep intact
699+all the notices that refer to this License and to the absence of any
700+warranty; and distribute a copy of this License along with the
701+Library.
702+
703+ You may charge a fee for the physical act of transferring a copy,
704+and you may at your option offer warranty protection in exchange for a
705+fee.
706+
707
708+ 2. You may modify your copy or copies of the Library or any portion
709+of it, thus forming a work based on the Library, and copy and
710+distribute such modifications or work under the terms of Section 1
711+above, provided that you also meet all of these conditions:
712+
713+ a) The modified work must itself be a software library.
714+
715+ b) You must cause the files modified to carry prominent notices
716+ stating that you changed the files and the date of any change.
717+
718+ c) You must cause the whole of the work to be licensed at no
719+ charge to all third parties under the terms of this License.
720+
721+ d) If a facility in the modified Library refers to a function or a
722+ table of data to be supplied by an application program that uses
723+ the facility, other than as an argument passed when the facility
724+ is invoked, then you must make a good faith effort to ensure that,
725+ in the event an application does not supply such function or
726+ table, the facility still operates, and performs whatever part of
727+ its purpose remains meaningful.
728+
729+ (For example, a function in a library to compute square roots has
730+ a purpose that is entirely well-defined independent of the
731+ application. Therefore, Subsection 2d requires that any
732+ application-supplied function or table used by this function must
733+ be optional: if the application does not supply it, the square
734+ root function must still compute square roots.)
735+
736+These requirements apply to the modified work as a whole. If
737+identifiable sections of that work are not derived from the Library,
738+and can be reasonably considered independent and separate works in
739+themselves, then this License, and its terms, do not apply to those
740+sections when you distribute them as separate works. But when you
741+distribute the same sections as part of a whole which is a work based
742+on the Library, the distribution of the whole must be on the terms of
743+this License, whose permissions for other licensees extend to the
744+entire whole, and thus to each and every part regardless of who wrote
745+it.
746+
747+Thus, it is not the intent of this section to claim rights or contest
748+your rights to work written entirely by you; rather, the intent is to
749+exercise the right to control the distribution of derivative or
750+collective works based on the Library.
751+
752+In addition, mere aggregation of another work not based on the Library
753+with the Library (or with a work based on the Library) on a volume of
754+a storage or distribution medium does not bring the other work under
755+the scope of this License.
756+
757+ 3. You may opt to apply the terms of the ordinary GNU General Public
758+License instead of this License to a given copy of the Library. To do
759+this, you must alter all the notices that refer to this License, so
760+that they refer to the ordinary GNU General Public License, version 2,
761+instead of to this License. (If a newer version than version 2 of the
762+ordinary GNU General Public License has appeared, then you can specify
763+that version instead if you wish.) Do not make any other change in
764+these notices.
765+
766
767+ Once this change is made in a given copy, it is irreversible for
768+that copy, so the ordinary GNU General Public License applies to all
769+subsequent copies and derivative works made from that copy.
770+
771+ This option is useful when you wish to copy part of the code of
772+the Library into a program that is not a library.
773+
774+ 4. You may copy and distribute the Library (or a portion or
775+derivative of it, under Section 2) in object code or executable form
776+under the terms of Sections 1 and 2 above provided that you accompany
777+it with the complete corresponding machine-readable source code, which
778+must be distributed under the terms of Sections 1 and 2 above on a
779+medium customarily used for software interchange.
780+
781+ If distribution of object code is made by offering access to copy
782+from a designated place, then offering equivalent access to copy the
783+source code from the same place satisfies the requirement to
784+distribute the source code, even though third parties are not
785+compelled to copy the source along with the object code.
786+
787+ 5. A program that contains no derivative of any portion of the
788+Library, but is designed to work with the Library by being compiled or
789+linked with it, is called a "work that uses the Library". Such a
790+work, in isolation, is not a derivative work of the Library, and
791+therefore falls outside the scope of this License.
792+
793+ However, linking a "work that uses the Library" with the Library
794+creates an executable that is a derivative of the Library (because it
795+contains portions of the Library), rather than a "work that uses the
796+library". The executable is therefore covered by this License.
797+Section 6 states terms for distribution of such executables.
798+
799+ When a "work that uses the Library" uses material from a header file
800+that is part of the Library, the object code for the work may be a
801+derivative work of the Library even though the source code is not.
802+Whether this is true is especially significant if the work can be
803+linked without the Library, or if the work is itself a library. The
804+threshold for this to be true is not precisely defined by law.
805+
806+ If such an object file uses only numerical parameters, data
807+structure layouts and accessors, and small macros and small inline
808+functions (ten lines or less in length), then the use of the object
809+file is unrestricted, regardless of whether it is legally a derivative
810+work. (Executables containing this object code plus portions of the
811+Library will still fall under Section 6.)
812+
813+ Otherwise, if the work is a derivative of the Library, you may
814+distribute the object code for the work under the terms of Section 6.
815+Any executables containing that work also fall under Section 6,
816+whether or not they are linked directly with the Library itself.
817+
818
819+ 6. As an exception to the Sections above, you may also combine or
820+link a "work that uses the Library" with the Library to produce a
821+work containing portions of the Library, and distribute that work
822+under terms of your choice, provided that the terms permit
823+modification of the work for the customer's own use and reverse
824+engineering for debugging such modifications.
825+
826+ You must give prominent notice with each copy of the work that the
827+Library is used in it and that the Library and its use are covered by
828+this License. You must supply a copy of this License. If the work
829+during execution displays copyright notices, you must include the
830+copyright notice for the Library among them, as well as a reference
831+directing the user to the copy of this License. Also, you must do one
832+of these things:
833+
834+ a) Accompany the work with the complete corresponding
835+ machine-readable source code for the Library including whatever
836+ changes were used in the work (which must be distributed under
837+ Sections 1 and 2 above); and, if the work is an executable linked
838+ with the Library, with the complete machine-readable "work that
839+ uses the Library", as object code and/or source code, so that the
840+ user can modify the Library and then relink to produce a modified
841+ executable containing the modified Library. (It is understood
842+ that the user who changes the contents of definitions files in the
843+ Library will not necessarily be able to recompile the application
844+ to use the modified definitions.)
845+
846+ b) Use a suitable shared library mechanism for linking with the
847+ Library. A suitable mechanism is one that (1) uses at run time a
848+ copy of the library already present on the user's computer system,
849+ rather than copying library functions into the executable, and (2)
850+ will operate properly with a modified version of the library, if
851+ the user installs one, as long as the modified version is
852+ interface-compatible with the version that the work was made with.
853+
854+ c) Accompany the work with a written offer, valid for at least
855+ three years, to give the same user the materials specified in
856+ Subsection 6a, above, for a charge no more than the cost of
857+ performing this distribution.
858+
859+ d) If distribution of the work is made by offering access to copy
860+ from a designated place, offer equivalent access to copy the above
861+ specified materials from the same place.
862+
863+ e) Verify that the user has already received a copy of these
864+ materials or that you have already sent this user a copy.
865+
866+ For an executable, the required form of the "work that uses the
867+Library" must include any data and utility programs needed for
868+reproducing the executable from it. However, as a special exception,
869+the materials to be distributed need not include anything that is
870+normally distributed (in either source or binary form) with the major
871+components (compiler, kernel, and so on) of the operating system on
872+which the executable runs, unless that component itself accompanies
873+the executable.
874+
875+ It may happen that this requirement contradicts the license
876+restrictions of other proprietary libraries that do not normally
877+accompany the operating system. Such a contradiction means you cannot
878+use both them and the Library together in an executable that you
879+distribute.
880+
881
882+ 7. You may place library facilities that are a work based on the
883+Library side-by-side in a single library together with other library
884+facilities not covered by this License, and distribute such a combined
885+library, provided that the separate distribution of the work based on
886+the Library and of the other library facilities is otherwise
887+permitted, and provided that you do these two things:
888+
889+ a) Accompany the combined library with a copy of the same work
890+ based on the Library, uncombined with any other library
891+ facilities. This must be distributed under the terms of the
892+ Sections above.
893+
894+ b) Give prominent notice with the combined library of the fact
895+ that part of it is a work based on the Library, and explaining
896+ where to find the accompanying uncombined form of the same work.
897+
898+ 8. You may not copy, modify, sublicense, link with, or distribute
899+the Library except as expressly provided under this License. Any
900+attempt otherwise to copy, modify, sublicense, link with, or
901+distribute the Library is void, and will automatically terminate your
902+rights under this License. However, parties who have received copies,
903+or rights, from you under this License will not have their licenses
904+terminated so long as such parties remain in full compliance.
905+
906+ 9. You are not required to accept this License, since you have not
907+signed it. However, nothing else grants you permission to modify or
908+distribute the Library or its derivative works. These actions are
909+prohibited by law if you do not accept this License. Therefore, by
910+modifying or distributing the Library (or any work based on the
911+Library), you indicate your acceptance of this License to do so, and
912+all its terms and conditions for copying, distributing or modifying
913+the Library or works based on it.
914+
915+ 10. Each time you redistribute the Library (or any work based on the
916+Library), the recipient automatically receives a license from the
917+original licensor to copy, distribute, link with or modify the Library
918+subject to these terms and conditions. You may not impose any further
919+restrictions on the recipients' exercise of the rights granted herein.
920+You are not responsible for enforcing compliance by third parties with
921+this License.
922+
923
924+ 11. If, as a consequence of a court judgment or allegation of patent
925+infringement or for any other reason (not limited to patent issues),
926+conditions are imposed on you (whether by court order, agreement or
927+otherwise) that contradict the conditions of this License, they do not
928+excuse you from the conditions of this License. If you cannot
929+distribute so as to satisfy simultaneously your obligations under this
930+License and any other pertinent obligations, then as a consequence you
931+may not distribute the Library at all. For example, if a patent
932+license would not permit royalty-free redistribution of the Library by
933+all those who receive copies directly or indirectly through you, then
934+the only way you could satisfy both it and this License would be to
935+refrain entirely from distribution of the Library.
936+
937+If any portion of this section is held invalid or unenforceable under
938+any particular circumstance, the balance of the section is intended to
939+apply, and the section as a whole is intended to apply in other
940+circumstances.
941+
942+It is not the purpose of this section to induce you to infringe any
943+patents or other property right claims or to contest validity of any
944+such claims; this section has the sole purpose of protecting the
945+integrity of the free software distribution system which is
946+implemented by public license practices. Many people have made
947+generous contributions to the wide range of software distributed
948+through that system in reliance on consistent application of that
949+system; it is up to the author/donor to decide if he or she is willing
950+to distribute software through any other system and a licensee cannot
951+impose that choice.
952+
953+This section is intended to make thoroughly clear what is believed to
954+be a consequence of the rest of this License.
955+
956+ 12. If the distribution and/or use of the Library is restricted in
957+certain countries either by patents or by copyrighted interfaces, the
958+original copyright holder who places the Library under this License
959+may add an explicit geographical distribution limitation excluding those
960+countries, so that distribution is permitted only in or among
961+countries not thus excluded. In such case, this License incorporates
962+the limitation as if written in the body of this License.
963+
964+ 13. The Free Software Foundation may publish revised and/or new
965+versions of the Lesser General Public License from time to time.
966+Such new versions will be similar in spirit to the present version,
967+but may differ in detail to address new problems or concerns.
968+
969+Each version is given a distinguishing version number. If the Library
970+specifies a version number of this License which applies to it and
971+"any later version", you have the option of following the terms and
972+conditions either of that version or of any later version published by
973+the Free Software Foundation. If the Library does not specify a
974+license version number, you may choose any version ever published by
975+the Free Software Foundation.
976+
977
978+ 14. If you wish to incorporate parts of the Library into other free
979+programs whose distribution conditions are incompatible with these,
980+write to the author to ask for permission. For software which is
981+copyrighted by the Free Software Foundation, write to the Free
982+Software Foundation; we sometimes make exceptions for this. Our
983+decision will be guided by the two goals of preserving the free status
984+of all derivatives of our free software and of promoting the sharing
985+and reuse of software generally.
986+
987+ NO WARRANTY
988+
989+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
990+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
991+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
992+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
993+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
994+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
995+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
996+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
997+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
998+
999+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
1000+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
1001+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
1002+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
1003+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
1004+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
1005+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
1006+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
1007+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
1008+DAMAGES.
1009+
1010+ END OF TERMS AND CONDITIONS
1011+
1012
1013+ How to Apply These Terms to Your New Libraries
1014+
1015+ If you develop a new library, and you want it to be of the greatest
1016+possible use to the public, we recommend making it free software that
1017+everyone can redistribute and change. You can do so by permitting
1018+redistribution under these terms (or, alternatively, under the terms
1019+of the ordinary General Public License).
1020+
1021+ To apply these terms, attach the following notices to the library.
1022+It is safest to attach them to the start of each source file to most
1023+effectively convey the exclusion of warranty; and each file should
1024+have at least the "copyright" line and a pointer to where the full
1025+notice is found.
1026+
1027+
1028+ <one line to give the library's name and a brief idea of what it does.>
1029+ Copyright (C) <year> <name of author>
1030+
1031+ This library is free software; you can redistribute it and/or
1032+ modify it under the terms of the GNU Lesser General Public
1033+ License as published by the Free Software Foundation; either
1034+ version 2.1 of the License, or (at your option) any later version.
1035+
1036+ This library is distributed in the hope that it will be useful,
1037+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1038+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1039+ Lesser General Public License for more details.
1040+
1041+ You should have received a copy of the GNU Lesser General Public
1042+ License along with this library; if not, write to the Free Software
1043+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1044+
1045+Also add information on how to contact you by electronic and paper mail.
1046+
1047+You should also get your employer (if you work as a programmer) or
1048+your school, if any, to sign a "copyright disclaimer" for the library,
1049+if necessary. Here is a sample; alter the names:
1050+
1051+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
1052+ library `Frob' (a library for tweaking knobs) written by James
1053+ Random Hacker.
1054+
1055+ <signature of Ty Coon>, 1 April 1990
1056+ Ty Coon, President of Vice
1057+
1058+That's all there is to it!
1059+
1060+
1061
1062=== added file 'COPYING.MIT'
1063--- COPYING.MIT 1970-01-01 00:00:00 +0000
1064+++ COPYING.MIT 2011-04-06 13:26:57 +0000
1065@@ -0,0 +1,21 @@
1066+
1067+Copyright © 2005 Novell, Inc.
1068+
1069+Permission to use, copy, modify, distribute, and sell this software
1070+and its documentation for any purpose is hereby granted without
1071+fee, provided that the above copyright notice appear in all copies
1072+and that both that copyright notice and this permission notice
1073+appear in supporting documentation, and that the name of
1074+Novell, Inc. not be used in advertising or publicity pertaining to
1075+distribution of the software without specific, written prior permission.
1076+Novell, Inc. makes no representations about the suitability of this
1077+software for any purpose. It is provided "as is" without express or
1078+implied warranty.
1079+
1080+NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
1081+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
1082+NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR
1083+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
1084+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
1085+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
1086+WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1087\ No newline at end of file
1088
1089=== added file 'ChangeLog'
1090--- ChangeLog 1970-01-01 00:00:00 +0000
1091+++ ChangeLog 2011-04-06 13:26:57 +0000
1092@@ -0,0 +1,1795 @@
1093+2006-06-21 David Reveman <davidr@novell.com>
1094+
1095+ * src/window.c: Add updateTransientHint to protect against circular
1096+ transient dependencies. (bnc 186825)
1097+
1098+2006-06-20 David Reveman <davidr@novell.com>
1099+
1100+ * src/window.c (addWindowSizeChanges): Constrain window
1101+ dimensions if they are too large.
1102+
1103+ * gnome/window-decorator/gnome-window-decorator.c (get_mwm_prop):
1104+ Trap X errors.
1105+
1106+2006-06-20 Dan Winship <danw@novell.com>
1107+
1108+ * configure.ac (ALL_LINGUAS): Add pl
1109+
1110+2006-06-16 David Reveman <davidr@novell.com>
1111+
1112+ * plugins/compiz.schemas.in.in: Regen.
1113+
1114+ * plugins/switcher.c:
1115+ * plugins/scale.c: Add modal dialogs and fullscreen windows
1116+ to default window types. (bnc 185749)
1117+
1118+ * gnome/window-decorator/gnome-window-decorator.c: Track motif
1119+ WM hints and disable decorations when application wants no
1120+ titlebar. (bnc 185852)
1121+
1122+2006-06-15 David Reveman <davidr@novell.com>
1123+
1124+ * plugins/cube.c (cubePaintTransformedScreen): Remove
1125+ PAINT_SCREEN_CLEAR_MASK from mask.
1126+
1127+ * plugins/switcher.c (switchPaintScreen): Add PAINT_SCREEN_CLEAR_MASK
1128+ when zooming. (bnc 183676)
1129+
1130+ * src/paint.c (paintTransformedScreen): Clear color buffer if
1131+ PAINT_SCREEN_CLEAR_MASK is present.
1132+
1133+ * include/compiz.h: Add PAINT_SCREEN_CLEAR_MASK.
1134+
1135+ * gnome/window-decorator/gnome-window-decorator.c: Add DM selection
1136+ support and --repalce option so it's possible to replace an
1137+ existing window decorator in the same way as it's possible to replace
1138+ a window manager. (bnc 185296)
1139+ (close_button_event):
1140+ (max_button_event):
1141+ (min_button_event): De-highlight on NotifyGrab. (bnc 185293)
1142+
1143+2006-06-12 Dan Winship <danw@novell.com>
1144+
1145+ * plugins/cube.c:
1146+ * plugins/switcher.c: Mark cube as needing to load before switcher
1147+ rather than marking switcher as requiring cube. bnc #183676.
1148+
1149+ * plugins/gconf-dump.c (dumpPluginOptions): Output load_before and
1150+ requires for all plugins, even if the list is empty, to ensure
1151+ that an empty value in a new release overrides a non-empty value
1152+ in an older release.
1153+
1154+ * plugins/compiz.schemas.in.in: regen
1155+
1156+2006-06-09 Dan Winship <danw@novell.com>
1157+
1158+ * configure.ac: add translations
1159+
1160+2006-06-09 David Reveman <davidr@novell.com>
1161+
1162+ * plugins/move.c (moveHandleMotionEvent): Handle shaded windows
1163+ better.
1164+
1165+ * src/window.c (maximizeWindow):
1166+ * src/event.c (handleEvent): Allow windows to be both maximized
1167+ and shaded.
1168+
1169+ * src/window.c: Update addWindowSizeChanges so it can be used by
1170+ moveResizeWindow.
1171+ (updateWindowAttributes): Add missing sendSyncRequest call.
1172+ (addWindowSizeChanges): Make maximized window placement a bit better.
1173+ (moveResizeWindow): Adjust window geometry using
1174+ addWindowSizeChanges. (bnc 183121)
1175+
1176+ * src/window.c: Only allow shading on windows with top decoration.
1177+
1178+ * src/event.c (handleEvent): Check that shade action is allowed
1179+ before shading a window.
1180+
1181+2006-06-08 David Reveman <davidr@novell.com>
1182+
1183+ * plugins/decoration.c (decorInitWindow):
1184+ * plugins/minimize.c (minInitWindow):
1185+ * src/window.c (addWindow): Handle initially shaded windows
1186+ correctly.
1187+
1188+ * plugins/switcher.c (switchTerminate): Only use hideWindow
1189+ if switcher window is managed and mapped.
1190+ (switchInitiate): Only use showWindow if switcher window is
1191+ hidden. (bnc 182519)
1192+
1193+ * plugins/minimize.c (minHandleEvent): Make sure we adjust the window
1194+ region correctly when it's being unshaded.
1195+
1196+2006-06-07 David Reveman <davidr@novell.com>
1197+
1198+ * configure.ac: Bump version to 0.0.13.
1199+
1200+ * plugins/compiz.schemas.in.in: Regen.
1201+
1202+ * src/window.c: Add window shading support.
1203+
1204+ * src/screen.c:
1205+ * src/paint.c:
1206+ * src/event.c: Adjust for window shading support.
1207+ (handleEvent): Handle RESTACK client messages with sibling None
1208+ correctly.
1209+
1210+ * src/event.c:
1211+ * src/display.c: Add toggle window shade binding.
1212+
1213+ * plugins/minimize.c: Add window shading animation support.
1214+
1215+ * plugins/fade.c:
1216+ * plugins/place.c:
1217+ * plugins/resize.c:
1218+ * plugins/scale.c:
1219+ * plugins/switcher.c:
1220+ * plugins/decoration.c: Adjust for window shading support.
1221+
1222+ * include/compiz.h: Add window shading support.
1223+
1224+ * gnome/window-decorator/gnome-window-decorator.c: lower_window ->
1225+ restack_window and change it so it can be used for both
1226+ raising and lowering a window.
1227+ Add support for double_click_titlebar setting.
1228+ (title_event): Don't activate window on titlebar click only
1229+ raise it. Use double_click_action to determine what should be
1230+ done when titlebar is double clicked.
1231+ (update_event_windows): Remove vertical resize event windows
1232+ when top level window is shaded.
1233+ (window_state_changed): Update event windows when window state
1234+ changed.
1235+
1236+ * gnome/window-decorator/gnome-window-decorator.c:
1237+ * gnome/compiz-window-manager.c: Add support for shade double click
1238+ setting.
1239+
1240+ * plugins/compiz.schemas.in.in: Regen.
1241+
1242+ * plugins/cube.c (cubePaintTransformedScreen):
1243+ * plugins/wobbly.c (wobblyDrawWindowGeometry):
1244+ * plugins/switcher.c (switchPaintWindow):
1245+ * src/paint.c (drawWindowGeometry): Disable client-side texture
1246+ coordinate arrays that are not used. (bnc #182430)
1247+
1248+ * plugins/compiz.schemas.in.in:
1249+ * plugins/resize.c:
1250+ * plugins/move.c: Add initiate_keyboard binding which is more
1251+ appropriate for key-binding as it moves the cursor to middle of
1252+ window.
1253+
1254+2006-06-06 David Reveman <davidr@novell.com>
1255+
1256+ * plugins/switcher.c: Track thumbnail damage correctly.
1257+ (switchPaintScreen): Only intercept paintScreen when screen is
1258+ grabbed or we're zooming and ss->translate > 0.001.
1259+ (switchPaintScreen): Paint switcher window correctly when we're
1260+ not zooming.
1261+ Add cube as a dependency to make sure background is rendered
1262+ correctly when zooming.
1263+ (bnc #181909)
1264+
1265+ * src/window.c (moveResizeWindow, ensureWindowVisibility):
1266+ Don't make sure fullscreen windows are in workarea.
1267+ (fdo #7115) (bnc #181907)
1268+
1269+ * src/event.c (handleEvent): Track XA_WM_CLASS property changes.
1270+
1271+ * src/window.c:
1272+ * include/compiz.h: remove updateWindowClass and update
1273+ updateWindowClassHints.
1274+
1275+2006-06-02 David Reveman <davidr@novell.com>
1276+
1277+ * configure.ac: Bump version to 0.0.12.
1278+
1279+ * src/event.c (handleEvent): Fix typo.
1280+
1281+ * gnome/window-decorator/gnome-window-decorator.c:
1282+ Hide tooltips on NotifyGrab. (bnc #180692)
1283+
1284+2006-06-01 Dan Winship <danw@novell.com>
1285+
1286+ * src/event.c (handleEvent): If we receive a _NET_SHOWING_DESKTOP
1287+ request with no window set, set the flag on all screens. (Fixes
1288+ the KDE "show desktop" applet.) Also, don't allow a client to
1289+ change its _NET_WM_DESKTOP.
1290+
1291+ * src/window.c (addWindow): Set _NET_WM_DESKTOP on all windows to
1292+ 0; KDE's pager and tasklist require this to be set. (bnc 178320)
1293+
1294+2006-06-01 David Reveman <davidr@novell.com>
1295+
1296+ * include/compiz.h:
1297+ * src/window.c: Add updateWindowClass.
1298+
1299+2006-05-31 David Reveman <davidr@novell.com>
1300+
1301+ * include/compiz.h:
1302+ * src/screen.c:
1303+ * src/display.c: Add hide_skip_taskbar_windows option. (bnc 180055)
1304+
1305+ * include/compiz.h:
1306+ * src/window.c: Add getStartupId.
1307+
1308+ * src/screen.c: Save initial viewport when startup notification
1309+ is received. Fix implementation of applyStartupProperties.
1310+ (bnc 180224)
1311+
1312+ * src/event.c (handleEvent): Handle startup ID property changes.
1313+
1314+ * plugins/place.c: Adjust work area to initial viewport.
1315+
1316+ * plugins/cube.c (cubePaintTransformedScreen): Disable skydome
1317+ animation while cube is unfolded. (bnc 179833)
1318+
1319+ * plugins/switcher.c (switchPaintWindow): Make sure selected window is
1320+ not clipped incorrectly when some window is transformed. (bnc 179828)
1321+
1322+ * plugins/move.c (moveHandleEvent): Initialize xRoot and yRoot.
1323+ (bnc 179902)
1324+
1325+ * src/Makefile.am (INCLUDES): Add @GL_CFLAGS@. (Eric Work)
1326+
1327+2006-05-30 Dan Winship <danw@novell.com>
1328+
1329+ * configure.ac: Check libwnck for wnck_window_has_name (new in
1330+ HEAD).
1331+
1332+ * gnome/window-decorator/gnome-window-decorator.c
1333+ (wnck_window_get_real_name): #if HAVE_WNCK_WINDOW_HAS_NAME,
1334+ redefine wnck_window_get_name to return NULL if the window only
1335+ has a fallback name. bnc 173059.
1336+
1337+ * src/event.c (handleEvent): call moveInputFocusToOtherWindow()
1338+ before destroyWindow() when processing a DestroyNotify, or else
1339+ the input focus can get stranded.
1340+
1341+2006-05-26 David Reveman <davidr@novell.com>
1342+
1343+ * plugins/compiz.schemas.in.in: Regen.
1344+
1345+ * plugins/scale.c (SCALE_SLOPPY_FOCUS_DEFAULT): TRUE.
1346+
1347+ * plugins/decoration.c (decorWindowUpdate): No drop-shadow decoration
1348+ on windows with below state.
1349+
1350+ * src/window.c (recalcWindowType): Treat dock windows with below state
1351+ as normal windows. (bnc #178316)
1352+
1353+ * plugins/cube.c (cubePaintTransformedScreen): Avoid optimized case
1354+ when more than 4 cube sides.
1355+
1356+2006-05-25 David Reveman <davidr@novell.com>
1357+
1358+ * plugins/compiz.schemas.in.in: Regen.
1359+
1360+ * src/window.c (moveResizeWindow): Don't adjust position for NorthWest
1361+ gravity. (bnc 178765) (fdo #6992)
1362+
1363+ * plugins/compiz.schemas.in.in:
1364+ * include/compiz.h:
1365+ * src/event.c (handleEvent):
1366+ * src/display.c: Add maximize_window_horizontally,
1367+ maximize_window_vertically, toggle_window_maximized,
1368+ toggle_window_maximized_horizontally,
1369+ toggle_window_maximized_vertically.
1370+
1371+ * src/event.c (handleEvent): Track changes to maximizeWindow function.
1372+
1373+ * plugins/move.c (moveHandleMotionEvent): Make sure we have a saved
1374+ width before we use it. Track changes to maximizeWindow function.
1375+
1376+ * plugins/wobbly.c (wobblyHandleEvent): Handle the case where
1377+ window is not both vertically and horizontally maximized better.
1378+
1379+ * include/compiz.h: Add MAXIMIZE_STATE macro.
1380+
1381+ * include/compiz.h:
1382+ * src/window.c: Remove unmaximizeWindow and make maximizeWindow
1383+ take a state mask so it can be used for both maximizing and
1384+ unmaximizing.
1385+
1386+ * plugins/switcher.c: Don't add windows that appear after the switcher
1387+ is popped up. (bnc 178350)
1388+ (switchWindowRemove): Don't create a new list. Instead remove
1389+ window from the existing list and make sure we're positioned
1390+ correctly.
1391+
1392+2006-05-24 David Reveman <davidr@novell.com>
1393+
1394+ * plugins/scale.c (scaleMoveFocusWindow): When moving to window on
1395+ left, make sure the window we're moving to is completely left of
1396+ currently selected window. And same thing when moving to window on
1397+ right, top, bottom.
1398+ (layoutThumbs): Set slot->x2 and slot->y2 correctly. (bnc 178216)
1399+
1400+2006-05-23 David Reveman <davidr@novell.com>
1401+
1402+ * plugins/water.c: GL_UNSIGNED_INT_8_8_8_8_REV as pixel data type on
1403+ MSBFirst machines.
1404+
1405+ * src/texture.c: Include config.h before compiz.h so that
1406+ IMAGE_BYTE_ORDER is defined correctly. (bnc 178171)
1407+
1408+ * include/compiz.h: Define LSBFirst, MSBFirst, IMAGE_BYTE_ORDER,
1409+ BITMAP_BIT_ORDER. (bnc 178171)
1410+
1411+2006-05-23 Dan Winship <danw@novell.com>
1412+
1413+ * plugins/switcher.c (switchToWindow): use ss->windows here as
1414+ well so that multiple activeNum==0 windows don't get skipped.
1415+ (switchTerminate): Remove the screen grab right away so that
1416+ keystrokes don't get dropped. bnc 177650
1417+ (switchPreparePaintScreen, switchPaintScreen,
1418+ switchDonePaintScreen): update for that
1419+
1420+2006-05-22 Dan Winship <danw@novell.com>
1421+
1422+ * src/window.c (moveResizeWindow): deal with both vertical and
1423+ horizontal struts; but not when moving a dock window
1424+
1425+ * plugins/switcher.c (switchHandleEvent): Check init_all binding
1426+ before init, so you can bind "<Alt>" to init_all and so end up
1427+ with "<Alt>Tab" being init_all rather than init (but with no way
1428+ to get "init"...). bnc 173376
1429+
1430+2006-05-21 David Reveman <davidr@novell.com>
1431+
1432+ * src/display.c (addDisplay): Select for button events on root windows.
1433+
1434+ * configure.ac: Bump version to 0.0.11.
1435+
1436+ * gnome/window-decorator/gnome-window-decorator.c: Fix shadow
1437+ performance by separating the convolution filter into one vertical and
1438+ one horizontal pass.
1439+
1440+ * src/window.c (mapWindow): Give sync request on map another try, it
1441+ seems to be working now.
1442+
1443+ * src/window.c (addWindow): Allow XGetWindowAttributes to fail.
1444+ (bnc 173416).
1445+
1446+ * src/window.c (addWindow): Initialize managed to false. Set managed
1447+ to true if widows is viewable.
1448+
1449+ * src/event.c (handleEvent): Set managed to false when window
1450+ transitions to withdrawn state.
1451+ (handleEvent): Set managed to true when we get MapRequest.
1452+ (handleEvent): Constrain configure request if window is managed.
1453+
1454+ * include/compiz.h: Add "managed" variable that is true while
1455+ windows is managed.
1456+
1457+2006-05-19 David Reveman <davidr@novell.com>
1458+
1459+ * plugins/switcher.c (ICON_SIZE): Allow use of larger window icons.
1460+
1461+2006-05-18 Dan Winship <danw@novell.com>
1462+
1463+ * plugins/wobbly.c (WOBBLY_FOCUS_DEFAULT): Set this to "None" to
1464+ match wobblyInitScreen() so that it actually works right.
1465+
1466+ * plugins/compiz.schemas.in.in: regen
1467+
1468+2006-05-18 Dan Winship <danw@novell.com>
1469+
1470+ * src/session.c (saveYourselfCallback): if we have a
1471+ RestartCommand registered with the session manager, update the
1472+ --sm-client-id in it to match the id we were assigned. bnc 176746
1473+
1474+ * src/main.c (main, usage): remove unused --sm-save-file arg and
1475+ fix documentation of --sm-client-id.
1476+
1477+2006-05-17 David Reveman <davidr@novell.com>
1478+
1479+ * plugins/compiz.schemas.in.in: Regen (Overlay Icon).
1480+
1481+ * plugins/switcher.c (switchPaintScreen): Don't remove switcher
1482+ from window list, just temporarily mark it as destroyed. This fixes
1483+ issue with switcher decorations disappearing when some window is
1484+ unmapped.
1485+
1486+ * src/screen.c (updateDefaultIcon): width and height should be
1487+ unsigned.
1488+
1489+ * gnome/window-decorator/gnome-window-decorator.c: Add minimal
1490+ option that can be used to run g-w-d with drop-shadows but without full
1491+ window decorations.
1492+
1493+ * plugins/minimize.c (minHandleEvent): Restore window position
1494+ when transitioning to withdrawn state.
1495+
1496+ * plugins/scale.c: Remove next_window binding and fix so that arrow
1497+ keys can be used to select window.
1498+ Focus new window when pointer enter window decorations and sloppy focus
1499+ is used.
1500+ Remove scaleSelectWindow.
1501+
1502+ * plugins/scale.c: Icon support (Nat Friedman).
1503+
1504+2006-05-17 Dan Winship <danw@novell.com>
1505+
1506+ * src/display.c (handleSelectionClear, eventLoop): don't process
1507+ exit-on-selection-clear until the event queue is empty, or else
1508+ MapRequest and ConfigureRequest events could get lost. bnc 175558
1509+
1510+2006-05-14 David Reveman <davidr@novell.com>
1511+
1512+ * src/event.c (handleEvent): mapNum might be 0 if we found the window
1513+ unmapped when trying to bind it to a texture.
1514+
1515+2006-05-12 David Reveman <davidr@novell.com>
1516+
1517+ * src/screen.c (enterShowDesktopMode): Only go into show desktop mode
1518+ when some window is being hidden.
1519+
1520+ * src/event.c (handleWindowDamageRect): Make sure placed is set to true
1521+ when no plugin is doing placement.
1522+ (handleEvent): Don't set WM_STATE on override redirect windows.
1523+
1524+ * plugins/switcher.c (isSwitchWin): Don't show windows that ask not to
1525+ be in tasklists.
1526+
1527+ * plugins/rotate.c (rotateHandleEvent): Only adjust viewport if window
1528+ has been placed.
1529+
1530+ * plugins/minimize.c (minHandleEvent): Reset everything when going
1531+ into withdrawn state.
1532+
1533+ * src/window.c (moveResizeWindow): Handle west and north gravity
1534+ correctly.
1535+
1536+2006-05-11 David Reveman <davidr@novell.com>
1537+
1538+ * src/display.c (addDisplay):
1539+ * src/screen.c (addScreen): Move server grab to addDisplay to make
1540+ sure that no windows are created between XSelectInput and XQueryTree
1541+ as that would result in them being added two times.
1542+
1543+ * src/window.c (moveResizeWindow): Fix typo, CWY should be CWX.
1544+ (moveResizeWindow): Constrain Y position so that window titlebar is
1545+ visible.
1546+ (restoreWindowGeometry): Fix issue with going from maximized state
1547+ to non-maximized state without changing the window size.
1548+
1549+ * gnome/window-decorator/gnome-window-decorator.c
1550+ (max_window_name_width): Make sure title text fit in titlebar.
1551+
1552+2006-05-11 Dan Winship <danw@novell.com>
1553+
1554+ * plugins/gconf-compiz-utils.c (gconfStringToBinding): Treat "" as
1555+ meaning "disabled"
1556+
1557+2006-05-11 David Reveman <davidr@novell.com>
1558+
1559+ * gnome/window-decorator/gnome-window-decorator.c (action_menu_map):
1560+ Don't show window action menu on desktop and dock windows.
1561+
1562+ * src/event.c (handleEvent): Allow click on window decorations
1563+ to trigger window action menu.
1564+
1565+ * plugins/place.c (placeWindow): Place fullscreen and maximized
1566+ windows correctly.
1567+ (placeWindow): Only clip dialog position to screen if parent is
1568+ visible in current viewport.
1569+
1570+2006-05-09 David Reveman <davidr@novell.com>
1571+
1572+ * plugins/switcher.c (switchPaintThumb): Rearrange code so we handle
1573+ the case when bindWindow fails.
1574+
1575+ * src/paint.c (paintWindow): Bail out if window is not mapped.
1576+
1577+ * src/window.c (bindWindow): Make sure window is mapped when
1578+ getting the window pixmap. (bnc 173248)
1579+
1580+ * plugins/compiz.schemas.in.in: Regen.
1581+
1582+ * plugins/cube.c (CUBE_MIPMAP_DEFAULT): Enable by default as
1583+ performance seem to be OK now when new mipmaps are only generated
1584+ when necessary.
1585+
1586+ * src/texture.c (enableTexture): Don't generate new mipmaps
1587+ every time the texture is used.
1588+
1589+2006-05-08 David Reveman <davidr@novell.com>
1590+
1591+ * plugins/switcher.c: Allow switcher to be initiated with prev
1592+ bindings. (Quinn Storm)
1593+
1594+2006-05-07 David Reveman <davidr@novell.com>
1595+
1596+ * plugins/compiz.schemas.in.in: Regen.
1597+
1598+ * plugins/switcher.c: Add icon support, minimized windows support
1599+ and allow switcher to show up when only one selectable window exist.
1600+
1601+ * images/Makefile.am: Add default icon image.
1602+
1603+ * include/compiz.h:
1604+ * src/texture.c:
1605+ * src/event.c (handleEvent):
1606+ * src/screen.c:
1607+ * src/display.c:
1608+ * src/window.c: Add WM icon interface.
1609+
1610+ * gnome/window-decorator/gnome-window-decorator.c: Compute
1611+ switcher title text width correctly.
1612+
1613+ * src/event.c (handleEvent): Insert windows correctly when
1614+ reparenting.
1615+
1616+2006-05-07 Dan Winship <danw@novell.com>
1617+
1618+ * configure.ac: Add --with-scale-corner option and make
1619+ compiz.schemas reflect it; the best corner to use depends on where
1620+ the panels are and what's on them, so distros will want to
1621+ override this to match their default panel layout.
1622+
1623+ * src/event.c (eventMatches): Fix the the "water plugin gets
1624+ mysteriously activated when activating some other keybinding" bug.
1625+
1626+2006-05-05 Dan Winship <danw@novell.com>
1627+
1628+ * Makefile.am:
1629+ * autogen.sh:
1630+ * configure.ac: require intltool for option-description
1631+ translation
1632+
1633+ * plugins/Makefile.am: translate compiz.schemas.in into
1634+ compiz.schemas
1635+
1636+2006-05-05 Dan Winship <danw@novell.com>
1637+
1638+ * src/display.c (COMMAND_OPTION): Put numbers into the shortDescs
1639+ of the command and run_command options
1640+
1641+ * plugins/wobbly.c (WOBBLY_SNAP_MODIFIERS_DEFAULT): Use Shift
1642+ rather than Control, for consistency with Metacity, and to remove
1643+ the ambiguity about whether Ctrl+Alt+Button1 should be "grab cube"
1644+ or "move with snapping". (bnc 169402)
1645+
1646+ * plugins/compiz.schemas: regen
1647+
1648+2006-05-05 David Reveman <davidr@novell.com>
1649+
1650+ * plugins/compiz.schemas: Regen.
1651+
1652+ * gnome/window-decorator/gnome-window-decorator.c: Forward
1653+ metacity's bell settings to compiz.
1654+
1655+ * plugins/water.c:
1656+ * plugins/wobbly.c:
1657+ * plugins/fade.c: Add visual bell.
1658+
1659+ * include/compiz.h:
1660+ * src/display.c: Add audible bell option.
1661+
1662+2006-05-04 David Reveman <davidr@novell.com>
1663+
1664+ * src/window.c (getModalTransient): Avoid infinite recursion when more
1665+ than one group transient got modal state.
1666+
1667+2006-05-03 David Reveman <davidr@novell.com>
1668+
1669+ * plugins/move.c:
1670+ * plugins/resize.c (resizeHandleMotionEvent): Don't constrain the
1671+ cursor.
1672+
1673+ * plugins/rotate.c (rotateHandleEvent): Use defaultViewportForWindow
1674+ to figure out which viewport we should move to. (bnc 152677)
1675+
1676+ * src/window.c (addWindowSizeChanges): Offset x coordinate with
1677+ default viewport coordinate. (bnc 171465)
1678+ (updateWindowAttributes): Always add windows size changes. (bnc 171465)
1679+
1680+ * include/compiz.h:
1681+ * src/window.c (defaultViewportForWindow): Add defaultViewportForWindow
1682+ function that computes the default viewport for a window.
1683+
1684+2006-05-02 David Reveman <davidr@novell.com>
1685+
1686+ * plugins/cube.c (cubePaintTransformedScreen): Bump up size a bit more
1687+ to make sure the cube unfolds completely.
1688+
1689+ * src/event.c (handleEvent): Not constraints should be applied to
1690+ ConfigureRequests for withdrawn windows. (bnc 171143)
1691+
1692+ * src/window.c (syncWindowPosition): We never need to send synthetic
1693+ ConfigureNotify events as we're not reparenting windows.
1694+
1695+2006-05-02 Dan Winship <danw@novell.com>
1696+
1697+ * plugins/gconf-dump.c: rewrite to make compiz.schema regeneration
1698+ a little easier, and to make it possible to generate schema files
1699+ for third-party plugins. Include plugin descriptions and
1700+ dependency information in the schema.
1701+
1702+ * plugins/Makefile.am: add a rule to generate compiz.schemas
1703+
1704+ * plugins/compiz.schemas: regen
1705+
1706+ * plugins/cube.c, plugins/decoration.c, plugins/fade.c,
1707+ plugins/gconf.c, plugins/minimize.c, plugins/wobbly.c:
1708+ s/expose/scale/ in dependencies
1709+
1710+2006-05-02 David Reveman <davidr@novell.com>
1711+
1712+ * include/compiz.h:
1713+ * configure.ac: Don't require glproto, include necessary enums in
1714+ compiz.h.
1715+
1716+ * src/texture.c:
1717+ * include/compiz.h: Update to latest EXT_tfp spec. Requires an
1718+ X server that has also been updated.
1719+
1720+ * configure.ac: Require glproto >= 1.4.7 with final EXT_tfp tokens.
1721+
1722+2006-05-01 David Reveman <davidr@novell.com>
1723+
1724+ * src/window.c (circulateWindow):
1725+ * src/event.c (handleEvent): Use getTopWindow instead of
1726+ reverseWindows->id as reverseWindows might be a destroyed window.
1727+
1728+ * include/compiz.h:
1729+ * src/screen.c: Add getTopWindow function that returns top window.
1730+
1731+2006-04-30 David Reveman <davidr@novell.com>
1732+
1733+ * plugins/compiz.schemas: Regen.
1734+
1735+ * plugins/decoration.c (decorWindowUpdate): Don't decorate fullscreen
1736+ windows.
1737+
1738+ * plugins/cube.c: Add initial support for unfolding the cube. Default
1739+ key-binding is <Control><Alt>Down.
1740+
1741+ * plugins/rotate.c (rotateHandleEvent): Fix absolute rotation.
1742+
1743+ * plugins/switcher.c: Fix so that bring-to-front doesn't change
1744+ the actual stacking order.
1745+ Add zoom option, enable it by default so it gets some testing.
1746+ Made bring-to-front enabled by default as it makes zoom functionality
1747+ more useful.
1748+ Made switcher window always rendered above all other windows and
1749+ not affected by screen transformations.
1750+
1751+ * src/event.c (handleEvent): Send configure notify before mapping
1752+ window if PPosition or USPosition is set.
1753+
1754+ * src/screen.c (insertWindowIntoScreen): Sibling above doesn't have to
1755+ be mapped. This change seem to currently by causing the
1756+ stacking order of some override-redirect windows to be incorrect.
1757+ Don't insert window when aboveId doesn't match an existing window.
1758+ (removeScreenGrab): ifdef DEBUG around abort.
1759+
1760+ * src/event.c (handleEvent): Only update active window property
1761+ when it's changing.
1762+
1763+ * src/window.c (sendConfigureNotify): Make sure the latest
1764+ window attributes are put in the ConfigureNotify.
1765+ (moveResizeWindow): Only send sync request if window is mapped.
1766+
1767+ * plugins/rotate.c: Add support for edge-flipping when using
1768+ drag-and-drop. Remove edge_flip and flip_move options and add
1769+ edge_flip_pointer, edge_flip_move, edge_flip_dnd.
1770+
1771+ * src/screen.c:
1772+ * src/display.c:
1773+ * include/compiz.h:
1774+ Make screen edges drag-and-drop aware.
1775+
1776+ * plugins/zoom.c:
1777+ * plugins/water.c:
1778+ * plugins/switcher.c:
1779+ * plugins/scale.c:
1780+ * plugins/rotate.c:
1781+ * plugins/resize.c:
1782+ * plugins/move.c:
1783+ * src/scren.c:
1784+ * include/compiz.h:
1785+ Variable argument list to otherScreenGrabExist, last argument must
1786+ be 0.
1787+
1788+ * src/event.c:
1789+ * src/display.c:
1790+ * include/compiz.h: Add raise-on-click option.
1791+
1792+ * gnome/window-decorator/gnome-window-decorator.c (title_event):
1793+ Activate window when clicking titlebar.
1794+
1795+2006-04-28 David Reveman <davidr@novell.com>
1796+
1797+ * gnome/window-decorator/gnome-window-decorator.c: Back out last change
1798+ as it clearly didn't fix anything. XFixed being defined as "int"
1799+ is perfectly fine of course. libXrender is currently broken on 64bit.
1800+ See Bug #6774 for a fix.
1801+ (XRenderSetPictureFilter_wrapper): Add workaround for 64bit
1802+ issue in libXrender. (Dan Winship)
1803+
1804+ * src/event.c (handleEvent):
1805+ * src/display.c:
1806+ * include/compiz.h:
1807+ Add show desktop binding. (Martin Szulecki)
1808+
1809+ * plugins/rotate.c: Reset timout handle correctly.
1810+
1811+ * plugins/move.c:
1812+ * plugins/resize.c:
1813+ * plugins/rotate.c:
1814+ * plugins/scale.c:
1815+ * plugins/switcher.c:
1816+ * plugins/water.c:
1817+ * plugins/zoom.c: Track screen grab changes changes.
1818+
1819+ * src/screen.c:
1820+ * include/compiz.h: Associate all screen grabs with a name. Add
1821+ otherScreenGrabExist function which can be used to check if screen
1822+ is grabbed by other plugins.
1823+
1824+2006-04-28 Dan Winship <danw@novell.com>
1825+
1826+ * src/event.c (eventMatches): new method that replaces EV_KEY and
1827+ EV_BUTTON. Tests if an event matches a binding, being more precise
1828+ about modifier state than EV_KEY and EV_BUTTON were.
1829+ (eventTerminates): Tests if an event is "the opposite" of a
1830+ binding. (Eg, button or modifier key release.) Replaces
1831+ CompReleaseMask and "terminate" bindings.
1832+ (handleEvent): Use eventMatches
1833+
1834+ * src/screen.c (addPassiveKeyGrab, removePassiveKeyGrab,
1835+ updatePassiveKeyGrabs): When passed a keybinding containing just
1836+ modifiers, grab/ungrab every keypress event that would result in
1837+ that modifier state (eg, both left and right modifier keys, and
1838+ allow them to be pressed in any order).
1839+
1840+ * src/display.c: Remove CompPressMask from default bindings.
1841+ (eventLoop): don't add virtual modifiers to event state.
1842+ (updateModifierMappings): store the XModifierKeymap for later
1843+ use.
1844+
1845+ * plugins/*.c: Use eventMatches and eventTerminates. Remove
1846+ CompPressMask and "terminate" bindings (except from scale, which
1847+ is different from the others).
1848+
1849+ * plugins/switcher.c: Make initiate_all be just the modifier key
1850+ used in addition to the initiate binding ("<Control>"). Remove
1851+ next_window since it doesn't make a lot of sense to have it be
1852+ different from initiate_all, and make prev_window be just a
1853+ modifier key as well. ("<Shift>").
1854+ (SwitchScreen): add extra options to store the fully-composed
1855+ initiate_all, prev, and prev_all bindings.
1856+ (switchScreenInitOptions, switchSetScreenOption): Generate and
1857+ regenerate initiate_all, prev, and prev_all bindings as needed.
1858+ (switchHandleEvent): update
1859+
1860+ * plugins/gconf-compiz-utils.c: Remove "<Release>" handling.
1861+
1862+ * plugins/compiz.schemas: regen, dropping the terminate bindings
1863+ and updating a few others.
1864+
1865+ * include/compiz.h: remove CompPressMask, CompReleaseMask,
1866+ EV_BUTTON, and EV_KEY. Add eventMatches, eventTerminates, and
1867+ keycodeToModifiers. Add modMap field to CompDisplay.
1868+
1869+2006-04-28 David Reveman <davidr@novell.com>
1870+
1871+ * plugins/water.c: Handle enter/leave notify events.
1872+
1873+ * plugins/decoration.c (decorInitWindow): Check for window specific
1874+ decoration on both mapped and unmapped windows so that initially
1875+ minimized windows get properly decorated. (Dan Winship)
1876+
1877+ * gnome/window-decorator/gnome-window-decorator.c: Use xfixed_16_16_t
1878+ instead of XFixed to avoid 64bit issue with XFixed being defined as
1879+ "int".
1880+
1881+ * configure.ac: xrender 0.8.4 is good enough.
1882+
1883+2006-04-27 Dan Winship <danw@novell.com>
1884+
1885+ * plugins/rotate.c (rotateHandleEvent): for the
1886+ rotate-to-specific-face keys, rotate counterclockwise when that's
1887+ faster. (bnc 169427)
1888+
1889+ * plugins/scale.c (scaleHandleEvent): Make the corners toggle
1890+ scale mode rather than only activating it. (bnc 169408)
1891+
1892+2006-04-27 David Reveman <davidr@novell.com>
1893+
1894+ * configure.ac: Bump version to 0.0.10.
1895+
1896+ * plugins/decoration.c: Remove debug variable.
1897+
1898+ * src/window.c (addWindow): Check if window is minimized. (Dan Winship)
1899+
1900+ * plugins/compiz.schemas: Regen (snapoff and maximize_effect).
1901+
1902+ * plugins/wobbly.c: Add maximize effect.
1903+
1904+ * plugins/zoom.c:
1905+ * plugins/water.c:
1906+ * plugins/rotate.c:
1907+ * plugins/resize.c:
1908+ * plugins/move.c:
1909+ * src/event.c:
1910+ * src/screen.c:
1911+ * src/display.c:
1912+ * include/compiz.h: Add proper warp pointer interface and update
1913+ all plugins to use it.
1914+
1915+2006-04-26 Dan Winship <danw@novell.com>
1916+
1917+ * src/event.c (handleEvent): activate window on Button2 click in
1918+ addition to Button1 and Button3.
1919+
1920+ * plugins/gconf.c (gconfSetOption): gconf_value_compare against
1921+ the old value for list-type options too.
1922+ (gconfInitOption): Change the call to gconf_client_get_entry to
1923+ request the default value again; the fix to gconfSetOption will
1924+ prevent the infinite loops that happened before.
1925+
1926+2006-04-26 David Reveman <davidr@novell.com>
1927+
1928+ * gnome/window-decorator/gnome-window-decorator.c (update_shadow):
1929+ Remove comment that is no longer valid.
1930+
1931+ * plugins/move.c: Support for maximized windows snap-off. Based on
1932+ patch by Colin Guthrie.
1933+
1934+ * plugins/rotate.c (rotateHandleEvent): Don't do edge flipping
1935+ when a horizontally maximized or fullscreen window is grabbed.
1936+
1937+ * plugins/zoom.c:
1938+ * plugins/rotate.c:
1939+ * plugins/resize.c:
1940+ * plugins/move.c:
1941+ * src/screen.c:
1942+ * include/compiz.h: Add warpPointerToScreenPos and use it everywhere
1943+ we want to invisibly warp the pointer.
1944+
1945+2006-04-25 David Reveman <davidr@novell.com>
1946+
1947+ * gnome/window-decorator/gnome-window-decorator.c:
1948+ * plugins/decoration.c: Add clamp and min size.
1949+
1950+ * plugins/decoration.c (decorReleaseDecoration): Fix memory leak.
1951+
1952+ * plugins/scale.c: Click on background leaves scale mode and enters
1953+ show desktop mode. (Dan Winship)
1954+
1955+ * plugins/minimize.c (minHandleEvent): Initialize scale and
1956+ translate properly.
1957+
1958+ * src/window.c (activateWindow):
1959+ * src/event.c (handleEvent):
1960+ * src/screen.c: Add window parameter to leaveShowDesktopMode and
1961+ use this function for making one window leave show desktop mode.
1962+ Fixes so that we're leaving show desktop mode when no windows
1963+ are longer hidden.
1964+
1965+ * plugins/scale.c (scaleSetScreenOption): Add missing break statement.
1966+
1967+ * plugins/rotate.c (rotateInitScreen): Initialize rotateHandle.
1968+
1969+ * src/paint.c (paintScreen): Only paint windows that have been
1970+ damaged.
1971+
1972+2006-04-24 Dan Winship <danw@novell.com>
1973+
1974+ * plugins/scale.c:
1975+ * plugins/switcher.c: clarify the "initiate" descriptions
1976+
1977+ * plugins/compiz.schemas: regen
1978+
1979+2006-04-24 David Reveman <davidr@novell.com>
1980+
1981+ * src/paint.c (paintScreen): Always call paintWindow when window
1982+ is visible. Fixes so that window animations (fade, minimize...) aren't
1983+ paused when if window becomes invisible.
1984+ (paintWindow): Return early if region is empty.
1985+
1986+ * plugins/switcher.c: Use hideWindow and showWindow so that the
1987+ decoration doesn't have to be redrawn every time the switcher window
1988+ is mapped.
1989+
1990+ * src/window.c:
1991+ * include/compiz.h: Add hidden flag, that can be used to hide windows
1992+ without minimizing them.
1993+
1994+ * plugins/compiz.schemas: Regen (drop-shadow options).
1995+
1996+ * configure.ac: xrender 0.9, required for g-w-d.
1997+
1998+ * gnome/window-decorator/gnome-window-decorator.c:
1999+ * plugins/decoration.c: Add configurable drop-shadows. A minor issue is
2000+ that shadows around "tiny" windows are not rendered correctly when
2001+ large shadow offsets are used. Solution is to have the decorator set
2002+ a minimum size for which a decoration can be used so that no shadows
2003+ are rendered around "tiny" windows.
2004+
2005+2006-04-20 Dan Winship <danw@novell.com>
2006+
2007+ * plugins/rotate.c: add 12 go-directly-to-cube-face and 12
2008+ go-directly-to-cube-face-with-window bindings.
2009+
2010+ * src/display.c (compDisplayInitOptions): fix the binding type on
2011+ WINDOW_MENU.
2012+
2013+ * plugins/compiz.schemas: Regen. (lower_window, window_menu,
2014+ scale_image, images, resize, flip_move, move_window_types, and the
2015+ new rotate bindings)
2016+
2017+2006-04-20 David Reveman <davidr@novell.com>
2018+
2019+ * src/window.c:
2020+ * src/event.c (handleEvent):
2021+ * src/display.c:
2022+ * include/compiz.h:
2023+ * gnome/window-decorator/gnome-window-decorator.c: Add force quit
2024+ dialog.
2025+
2026+ * plugins/resize.c: Changed default binding to Button2.
2027+
2028+ * src/display.c (LOWER_WINDOW_BUTTON_DEFAULT): Button2 -> 6.
2029+
2030+ * gnome/window-decorator/gnome-window-decorator.c:
2031+ * include/compiz.h:
2032+ * src/event.c (handleEvent):
2033+ * src/display.c: Add window menu binding.
2034+
2035+ * gnome/window-decorator/gnome-window-decorator.c: Pick up toolkit
2036+ actions from compiz and send gnome panel actions for "main menu" and
2037+ "run dialog" actions.
2038+
2039+ * src/event.c (handleEvent):
2040+ * src/screen.c:
2041+ * include/compiz.h:
2042+ * src/display.c (addDisplay): panel action -> toolkit action.
2043+
2044+ * src/window.c (getModalTransient): Group transient must not be an
2045+ ancestor to the window we've currently found as the window to focus.
2046+ (getModalTransient): Check for child modal transient.
2047+
2048+2006-04-19 David Reveman <davidr@novell.com>
2049+
2050+ * gnome/compiz-window-manager.c: Be nice to gnome-theme-manager
2051+ and return a theme even though we currently don't support it.
2052+
2053+ * include/compiz.h:
2054+ * src/main.c: Remove window-image option.
2055+
2056+ * include/compiz.h:
2057+ * plugins/water.c:
2058+ * plugins/cube.c:
2059+ * src/texture.c:
2060+ * src/paint.c:
2061+ * src/main.c: Add strict-binding option.
2062+
2063+2006-04-18 Dan Winship <danw@novell.com>
2064+
2065+ * src/event.c (handleEvent): Fix a crasher in the screenshot
2066+ binding code (and rename some of the #defines to make them not so
2067+ ridiculously long). Also temporarily hack around a bug in EV_KEY
2068+ by putting the check for WINDOW_SCREENSHOT before the check for
2069+ SCREENSHOT.
2070+
2071+ * plugins/scale.c: Change the keybinding again, now to "Pause".
2072+ (F11 is the "fullscreen mode" binding for many apps.)
2073+
2074+ * plugins/compiz.schemas: update
2075+
2076+ * plugins/gconf.c:
2077+ * plugins/gconf-compiz-utils.c:
2078+ * plugins/gconf-dump.c: Rearrange #includes to prevent warning
2079+ about TRUE and FALSE being redefined
2080+
2081+2006-04-18 David Reveman <davidr@novell.com>
2082+
2083+ * plugins/rotate.c (ROTATE_FLIPMOVE_DEFAULT): Changed to TRUE.
2084+
2085+ * src/window.c (recalcWindowActions): Remove maximize and fullscreen
2086+ actions when resizing isn't allowed.
2087+
2088+ * gnome/window-decorator/gnome-window-decorator.c: Dynamic positioning
2089+ of window buttons.
2090+
2091+ * plugins/cube.c (readSvgToTexture): Fix typo.
2092+
2093+ * plugins/resize.c: Constrain cursor movement to min/max window size.
2094+
2095+ * src/window.c (constrainNewWindowSize): Fix aspect ratio calculations.
2096+
2097+2006-04-17 David Reveman <davidr@novell.com>
2098+
2099+ * plugins/cube.c: Put PNG on top face by default.
2100+
2101+ * images/Makefile.am: Remove window.png.
2102+ Add novell.png.
2103+
2104+ * include/compiz.h:
2105+ * src/readpng.c: Add openImageFile.
2106+
2107+ * plugins/cube.c: Support for PNGs on top face.
2108+ Add scale image option which is used to determine if top face
2109+ image should be scaled or not.
2110+
2111+2006-04-15 David Reveman <davidr@novell.com>
2112+
2113+ * plugins/wobbly.c: Add modal dialog type to default list of windows
2114+ that should be wobbly when moved.
2115+
2116+ * plugins/water.c (SET): +1 for border.
2117+
2118+2006-04-14 Dan Winship <danw@novell.com>
2119+
2120+ * plugins/gconf-dump.c: add "water" to gconfDeps
2121+
2122+ * plugins/compiz.schemas: regen including the water options
2123+
2124+2006-04-14 David Reveman <davidr@novell.com>
2125+
2126+ * src/event.c (handleWindowDamageRect): Ignore damage from windows
2127+ that aren't redirected.
2128+
2129+ * include/compiz.h:
2130+ * src/window.c:
2131+ * src/display.c (eventLoop):
2132+ * src/screen.c: Add support for automatic unredirecting of fullscreen
2133+ windows.
2134+
2135+ * plugins/scale.c (scaleInitiate): Layout thumbnails before we
2136+ grab the screen to make sure some window exist.
2137+
2138+ * plugins/resize.c: Allow 4-way resize. (Mike Hearn)
2139+
2140+2006-04-13 Dan Winship <danw@novell.com>
2141+
2142+ * src/screen.c (panelAction): take a timestamp and pass that to
2143+ the panel rather than using CurrentTime
2144+
2145+ * src/event.c (handleEvent): update for that
2146+
2147+ * src/window.c (moveResizeWindow): fix the gravity handling so
2148+ self-resizing windows don't dance (although I'm pretty sure this
2149+ is a symptom of mishandling gravity somewhere else).
2150+
2151+ * plugins/gconf.c (gconfInitOption): Request the default value of
2152+ the key from gconf, rather than initializing the key to the
2153+ internal default value if it hasn't yet been set by the user.
2154+ Notably, this makes it so that "compiz gconf" on a new account
2155+ will use the default value of active_plugins rather than the
2156+ (effectively empty) list of plugins on the command line. (It also
2157+ makes it so that the sysadmin can override defaults via sabayon or
2158+ whatever.)
2159+
2160+2006-04-13 David Reveman <davidr@novell.com>
2161+
2162+ * src/window.c (mapWindow): Maybe not, disable it again. :(
2163+
2164+ * src/window.c (mapWindow): Enable draw synchronization on map
2165+ again. Should be working correctly with CVS version of X server.
2166+
2167+2006-04-12 Dan Winship <danw@novell.com>
2168+
2169+ * src/window.c (moveResizeWindow): move duplicated code from
2170+ _NET_MOVERESIZE_WINDOW and ConfigureRequest handlers in event.c to
2171+ here, and handle gravity as well. (Fixes bnc 163058.)
2172+ (updateWindowAttributes): Do nothing if the window is
2173+ override_redirect (and remove a few now-redundant checks of that
2174+ elsewhere). Previously we were forgetting to check
2175+ !override_redirect in the case where the motif hints changed. (bnc
2176+ 163931)
2177+ (getWindowUserTime): fix a cut-and-paste-o that caused a crash on
2178+ 64bit machines.
2179+
2180+ * src/event.c (handleEvent): fix the _NET_MOVERESIZE_WINDOW bit
2181+ manipulation to correspond to what the EWMH means rather than what
2182+ it says, and use moveResizeWindow for that and for
2183+ ConfigureRequest.
2184+
2185+ * plugins/gconf-compiz-utils.c (gconfBindingToString): DTRT with
2186+ "None" bindings.
2187+
2188+ * gnome/window-decorator/gnome-window-decorator.c (title_event):
2189+ if the user right-clicks on the titlebar while the context menu is
2190+ popped up, just pop it down and eat the click, like all other
2191+ GNOME context menus do.
2192+ (style_changed, value_changed): Don't add decorations to
2193+ previously-undecorated windows. (bnc 165393)
2194+
2195+2006-04-11 David Reveman <davidr@novell.com>
2196+
2197+ * src/screen.c (addScreen): Fix typo.
2198+
2199+2006-04-10 Dan Winship <danw@novell.com>
2200+
2201+ * src/window.c (focusWindowOnMap): new function to decide whether
2202+ or not to focus a newly-mapped window. In addition to the old
2203+ checks, this also checks that _NET_WM_USER_TIME isn't 0, to allow
2204+ a window to explicitly request to not get focus.
2205+
2206+ * src/event.c (handleEvent): use focusWindowOnMap when processing
2207+ MapRequest.
2208+
2209+ * plugins/rotate.c (rotateHandleEvent): fix _NET_ACTIVE_WINDOW
2210+ handling so this doesn't interfere with focusable panel applets.
2211+
2212+ * plugins/compiz.schemas: regen (fixing cube top/bottom color)
2213+
2214+ * plugins/gconf-dump.c: Handle CompOptionTypeColor.
2215+
2216+ * configure.ac: Add --enable-gconf-dump so that the gconf-dump
2217+ plugin doesn't get built in normal builds
2218+
2219+ * plugins/Makefile.am: make gconf-dump optional.
2220+
2221+2006-04-09 Dan Winship <danw@novell.com>
2222+
2223+ * plugins/gconf-dump.c: add plugin options, and add information
2224+ about restrictions (numeric ranges, specific string values) to the
2225+ long description. Make gconf-dump refuse to run if gconf is
2226+ running (since you want the defaults it writes out to be coming
2227+ from the defaults in the source code, not from any gconf
2228+ overrides).
2229+
2230+ * plugins/compiz.schemas: regen
2231+
2232+ * plugins/gconf.c (gconfGetOptionValue): don't call gconfSetOption
2233+ from here, or we'll get an infinite loop when anything changes
2234+
2235+2006-04-09 David Reveman <davidr@novell.com>
2236+
2237+ * include/compiz.h:
2238+ * src/display.c:
2239+ * src/main.c:
2240+ * src/screen.c:
2241+ * src/texture.c:
2242+ * src/window.c: Remove test mode.
2243+
2244+ * plugins/Makefile.am: Remove schema from CLEANFILES.
2245+
2246+ * plugins/compiz.schemas:
2247+ * src/display.c:
2248+ Improve documentation for runcommand keys slightly. (Mike Hearn)
2249+
2250+ * include/compiz.h:
2251+ * src/texture.c:
2252+ * src/screen.c (addScreen): Switch to using GLX 1.3 functions.
2253+ (James Jones)
2254+
2255+ * src/main.c: Indirect rendering option. (James Jones)
2256+
2257+2006-04-08 David Reveman <davidr@novell.com>
2258+
2259+ * plugins/water.c: Add rain delay option. (Emilie Roberts)
2260+
2261+2006-04-07 David Reveman <davidr@novell.com>
2262+
2263+ * plugins/gconf-dump.c: Dump list options correctly.
2264+
2265+ * plugins/rotate.c: Add flip_move option, edge flipping is only
2266+ used when moving windows if this option is enabled.
2267+ (rotateHandleEvent): Make we don't rotate when some other plugin
2268+ has grabbed the screen.
2269+
2270+ * plugins/scale.c: Change default key-binding to F11.
2271+ (scaleInitiate): Make sure screen isn't grabbed by some other plugin.
2272+ (scaleInitScreen): Initialize darkenBack properly.
2273+
2274+ * configure.ac: Bump version to 0.0.9.
2275+
2276+ * plugins/Makefile.am (CLEANFILES, EXTRA_DIST): Fix.
2277+
2278+ * plugins/rotate.c (ROTATE_SPEED_DEFAULT): 1.5.
2279+
2280+2006-04-07 Dan Winship <danw@novell.com>
2281+
2282+ (Much of this patch was written by Radek Doulik
2283+ <rodo@novell.com>.)
2284+
2285+ * src/display.c:
2286+ * src/event.c:
2287+ * src/screen.c: Move keybinding stuff to CompDisplay, making it no
2288+ longer settable per-screen. Add bindings for screenshots (for
2289+ compatibility with metacity, which handles that keybinding in
2290+ GNOME for historical reasons).
2291+
2292+ * include/compiz.h: add an explicit CompBindingTypeNone rather
2293+ than relying on modifiers==0 to mean none. Update bindings stuff.
2294+
2295+ * src/screen.c (removePassiveKeyGrab, removePassiveButtonGrab):
2296+ Fix these to remove the right grab rather than always removing the
2297+ most-recently-added one.
2298+ (addScreenBinding): deal with CompBindingTypeNone
2299+
2300+ * plugins/gconf-dump.c: hacky plugin to dump information about the
2301+ other plugins to a gconf schemas file (used to regenerate
2302+ compiz.schemas)
2303+
2304+ * plugins/gconf-compiz-utils.c: shared code between gconf.c and
2305+ gconf-dump.c
2306+
2307+ * plugins/Makefile.am: add gconf-dump plugin and compiz.schemas,
2308+ and code to install compiz.schemas.
2309+
2310+ * configure.ac: Update gconf test to set macros needed for schema
2311+ install.
2312+
2313+2006-04-07 David Reveman <davidr@novell.com>
2314+
2315+ * plugins/rotate.c: Add edge flipping support.
2316+
2317+ * plugins/scale.c: Allow corner screen edges to be used for
2318+ initiating scale mode.
2319+
2320+ * src/option.c (compSetBoolOption): Only return TRUE if value changed.
2321+
2322+ * src/screen.c:
2323+ * src/window.c:
2324+ * plugins/minimize.c:
2325+ * plugins/decoration.c:
2326+ * include/compiz.h: Add immediate argument to MoveNotify, immediate
2327+ means that any animations should be avoided.
2328+
2329+ * src/screen.c:
2330+ * plugins/water.c:
2331+ * plugins/resize.c:
2332+ * plugins/place.c:
2333+ * plugins/move.c:
2334+ * plugins/zoom.c:
2335+ * plugins/rotate.c:
2336+ * plugins/scale.c:
2337+ * src/event.c:
2338+ * include/compiz.h:
2339+ Add previous pointer position that can be shared between multiple
2340+ plugins.
2341+
2342+2006-04-06 David Reveman <davidr@novell.com>
2343+
2344+ * include/compiz.h:
2345+ * src/screen.c: Add screen edges and simple interface for enabling
2346+ and disabling them.
2347+
2348+ * plugins/switcher.c (switchDamageWindowRect)
2349+ (switchWindowRemove): Update switcher list even when screen isn't
2350+ grabbed.
2351+
2352+ * plugins/switcher.c (switchDamageWindowRect):
2353+ * include/compiz.h:
2354+ * src/event.c (handleEvent):
2355+ * src/window.c: Made it possible to select if window should be
2356+ stacked above fullscreen windows or not.
2357+
2358+ * src/window.c (findSiblingBelow): Only find a fullscreen sibling
2359+ if aboveFs is TRUE.
2360+ (activateWindow): Allow stacking of window above fullscreen windows
2361+ when being activated.
2362+
2363+2006-04-05 David Reveman <davidr@novell.com>
2364+
2365+ * plugins/water.c (fboEpilogue): Reset raster position. Avoids
2366+ an FBO/raster-position issue found in newer nvidia drivers.
2367+
2368+ * plugins/move.c: Add constrain_y option that constrains window
2369+ movement so that top of window is always visible (on by default).
2370+
2371+ * src/event.c (handleEvent): Change active window property even though
2372+ it's not different than the window we currently have as active.
2373+
2374+ * src/window.c (moveInputFocusToWindow): Set focus even though
2375+ the window is considered the active window.
2376+
2377+2006-04-03 David Reveman <davidr@novell.com>
2378+
2379+ * plugins/water.c: Use char everywhere instead.
2380+ Fix offset direction (P-a Bäckström).
2381+ Add offset scale option.
2382+
2383+ * plugins/water.c: (loadFragmentProgram): GLubyte -> const GLbyte.
2384+ (loadWaterProgram): char -> GLbyte.
2385+ (loadBumpMapProgram): char -> GLbyte.
2386+ Use char everywhere.
2387+
2388+ * configure.ac: Bump version to 0.0.8.
2389+
2390+ * plugins/water.c: Add simple rain effect.
2391+ (loadFragmentProgram): Clear any previous error.
2392+
2393+ * src/display.c: Change so that timeouts are not only triggered
2394+ when we're idle.
2395+
2396+2006-04-02 David Reveman <davidr@novell.com>
2397+
2398+ * plugins/water.c: Add scale and bias to normal so that light can be
2399+ computed correclty. Offset texture coordinates for nice refraction
2400+ effect. (P-a Bäckström)
2401+ (waterDrawWindowTexture): Add scaling after setting up texture
2402+ coordinate generation.
2403+ Fix up loading of bump map programs.
2404+ (softwareUpdate): Improve performance of software fall-back code a bit.
2405+ (waterDrawWindowTexture): Always use filter for when window is
2406+ transformed.
2407+
2408+ * plugins/gconf.c (gconfGetValue): Fix typo that caused color
2409+ parsing to be incomplete (Quinn Storm).
2410+
2411+2006-04-01 David Reveman <davidr@novell.com>
2412+
2413+ * plugins/switcher.c: Add "initiate all" binding which brings up the
2414+ switcher window with all mapped windows and "initiate" binding will
2415+ now bring up the switcher window with only the visible windows.
2416+
2417+2006-03-31 David Reveman <davidr@novell.com>
2418+
2419+ * plugins/minimize.c (minDamageWindowRect): Never leave windows
2420+ in scaled state.
2421+
2422+ * src/screen.c (moveScreenViewport): Move hidden windows as well.
2423+
2424+ * src/window.c (addWindow, activateWindow, hideWindow)
2425+ (showWindow):
2426+ * src/screen.c (enterShowDesktopMode, leaveShowDesktopMode):
2427+ * src/event.c (handleEvent):
2428+ * include/compiz.h: Fix up show desktop mode.
2429+
2430+ * plugins/water.c (fboVertices): return 1.
2431+
2432+2006-03-30 David Reveman <davidr@novell.com>
2433+
2434+ * src/texture.c (enableTexture): Always make sure mipmaps are up to
2435+ date when using GL_LINEAR_MIPMAP_LINEAR filter.
2436+
2437+2006-03-29 David Reveman <davidr@novell.com>
2438+
2439+ * gnome/window-decorator/gnome-window-decorator.c: Draw outline around
2440+ window title text and buttons instead of small shadow.
2441+
2442+ * src/event.c (handleEvent):
2443+ * include/compiz.h:
2444+ * src/window.c: Set allowed window actions more correctly.
2445+
2446+ * plugins/move.c: Add opacity option.
2447+
2448+ * plugins/Makefile.am: Add water plugin. It's not very useful yet
2449+ and it needs more work but it's a good example of how to use
2450+ GL_ARB_fragment_program and GL_EXT_framebuffer_object for visual
2451+ effects.
2452+
2453+ * src/screen.c (addScreen): Fix light position.
2454+
2455+ * src/paint.c (paintWindow):
2456+ * plugins/switcher.c (switchPaintThumb):
2457+ * plugins/decoration.c (decorPaintWindow):
2458+ * include/compiz.h: Make drawWindowTexture a screen function so that
2459+ plugins can wrap it.
2460+
2461+ * src/texture.c (enableTexture):
2462+ * src/screen.c (addScreen):
2463+ * include/compiz.h: GL_EXT_framebuffer_object and
2464+ GL_ARB_fragment_program support.
2465+
2466+2006-03-21 David Reveman <davidr@novell.com>
2467+
2468+ * gnome/window-decorator/gnome-window-decorator.c (lower_window): Don't
2469+ try to lower a window below hidden windows or desktop windows.
2470+
2471+2006-03-20 David Reveman <davidr@novell.com>
2472+
2473+ * plugins/wobbly.c (wobblyHandleEvent):
2474+ xunmap -> xmap (François Ingelrest).
2475+
2476+ * src/screen.c (isClientListWindow): All type of windows should go into
2477+ the client lists (Thanks to Quinn Storm).
2478+
2479+ * src/window.c (freeWindow): Destroy frame window.
2480+ (mapWindow): Fix so the sync requests are sent correctly when a window
2481+ is mapped but disable it for now as it seems to be causing problems
2482+ with some applications.
2483+ (recalcWindowActions): Allow dialog window actions on util and
2484+ toolbar windows.
2485+
2486+ * src/event.c (handleEvent): Remove event mask and button grabs
2487+ when window is reparented.
2488+ (handleEvent): Update client list when window type changes.
2489+ (handleEvent): Use constrainNewWindowSize on move/resize client
2490+ messages and configure requests.
2491+
2492+ * gnome/window-decorator/gnome-window-decorator.c (window_closed):
2493+ Delete decor property when window is closed.
2494+
2495+2006-03-17 Jeremy C. Reed <reed@reedmedia.net>
2496+
2497+ reviewed by: David Reveman
2498+
2499+ * autogen.sh:
2500+ Be consistent with rest of modular xorg by using same
2501+ autogen.sh. This allows it to be run using a different
2502+ work directory.
2503+
2504+2006-03-17 Jeremy C. Reed <reed@reedmedia.net>
2505+
2506+ reviewed by: David Reveman
2507+
2508+ * INSTALL:
2509+ Mention startup-notification requirement.
2510+
2511+2006-03-17 David Reveman <davidr@novell.com>
2512+
2513+ * plugins/scale.c: Add opacity option.
2514+
2515+ * configure.ac: Bump version to 0.0.7.
2516+
2517+2006-03-17 Radek Doulik <rodo@novell.com>
2518+
2519+ * src/session.c: added all mandatory SM client callbacks, handle
2520+ ICE connection and process ICE messages
2521+
2522+ * src/display.c (compAddWatchFd): new function, adds new fd watch
2523+ - for poll io multiplexing
2524+ (compRemoveWatchFd): new function, remove fd watch added by
2525+ compAddWatchFd
2526+ (doPoll): new helper function, does call poll and calls callbacks
2527+ for watch fd's. returns the value of poll call
2528+ (eventLoop): use doPoll, we use NULL for display fd watch so that
2529+ it doesn't call anything and just use return value from poll as
2530+ before
2531+
2532+2006-03-17 David Reveman <davidr@novell.com>
2533+
2534+ * plugins/switcher.c (switchDamageWindowRect): Update window
2535+ attributes for popup window. We never get a MapRequest for this
2536+ window so it most be done here.
2537+ Add "bring to front" option. (Greg)
2538+
2539+ * src/window.c (stackAncestors): Never raise desktop windows.
2540+ Made restackWindowAbove and restackWindowBelow smarter.
2541+
2542+2006-03-16 David Reveman <davidr@novell.com>
2543+
2544+ * plugins/minimize.c:
2545+ * src/event.c (handleEvent):
2546+ * src/window.c:
2547+ Handle window state changes correctly.
2548+ (maximizeWindow): Use actions to determine if we're allowed maximize
2549+ window.
2550+
2551+ * src/event.c (handleEvent):
2552+ * src/window.c: Send configure notifies correctly.
2553+
2554+2006-03-15 David Reveman <davidr@novell.com>
2555+
2556+ * plugins/switcher.c (switchPaintWindow): Fix paint attribute
2557+ calculations.
2558+
2559+ * include/compiz.h:
2560+ * src/event.c (handleEvent):
2561+ * src/window.c: Add restackWindowBelow.
2562+
2563+2006-03-14 David Reveman <davidr@novell.com>
2564+
2565+ * plugins/switcher.c: Opacity, brightness and saturation as adjustable
2566+ options. (Greg)
2567+
2568+ * src/window.c (syncWindowPosition): Move frame window now instead of
2569+ waiting for client window to change before moving it.
2570+
2571+ * plugins/move.c (moveTerminate): Sync window position before
2572+ releasing pointer grab so that the EnterNotify event from the release
2573+ go to the correct window.
2574+
2575+ * src/window.c (unmapWindow): Put window in withdrawn state when
2576+ being unmapped. Should make it work better with KDE. (Tim Northover)
2577+
2578+ * src/screen.c (addScreen): Fix ambient and diffuse light.
2579+
2580+ * src/main.c (main): Add --version command line option.
2581+
2582+ * src/event.c:
2583+ * src/screen.c:
2584+ * include/compiz.h: Add bindings for changing window opacity.
2585+
2586+2006-03-14 Radek Doulik <rodo@novell.com>
2587+
2588+ * src/event.c (handleEvent): handle minimize/maximize/unmaximize
2589+ window keybindings
2590+
2591+ * src/screen.c: added minimize/maximize/unmaximize window
2592+ options/keybindings
2593+
2594+ * src/window.c (maximizeWindow): new helper function
2595+ (unmaximizeWindow): ditto
2596+
2597+2006-03-14 David Reveman <davidr@novell.com>
2598+
2599+ * plugins/scale.c: Add darken background option (Daniel G. Taylor).
2600+
2601+2006-03-13 David Reveman <davidr@novell.com>
2602+
2603+ * src/display.c (eventLoop):
2604+ * include/compiz.h:
2605+ * src/screen.c (addScreen): CopySubBufferMESA support.
2606+
2607+2006-03-07 David Reveman <davidr@novell.com>
2608+
2609+ * gnome/window-decorator/gnome-window-decorator.c (lower_window):
2610+ Remove unused variable tmp.
2611+
2612+ * src/event.c:
2613+ * src/display.c:
2614+ * src/window.c:
2615+ * src/screen.c:
2616+ * include/compiz.h: Better window stacking support.
2617+
2618+ * gnome/window-decorator/gnome-window-decorator.c: Lower window
2619+ when clicking button 2 on titlebar.
2620+
2621+ * src/window.c (ensureWindowVisibility): Only ensure that window is
2622+ visible if it isn't a override redirect window, dock window or
2623+ window with struts.
2624+
2625+2006-03-06 David Reveman <davidr@novell.com>
2626+
2627+ * configure.ac: Bump version to 0.0.6.
2628+
2629+ * plugins/cube.c: Skydome update. (MacSlow)
2630+
2631+ * src/window.c: Ensure window visibility when activating window.
2632+
2633+2006-03-05 David Reveman <davidr@novell.com>
2634+
2635+ * src/window.c (closeWindow): Use protocol mask to determine if
2636+ Client Message should be send or if we should kill the client.
2637+
2638+ * plugins/decoration.c: Don't draw shadow only decorations around
2639+ windows with alpha channel.
2640+
2641+2006-03-03 David Reveman <davidr@novell.com>
2642+
2643+ * src/texture.c (readImageBufferToTexture):
2644+ (readImageToTexture): Check that returnWidth and returnHeight are
2645+ not NULL.
2646+
2647+ * plugins/cube.c: Skydome support. Thanks to MacSlow.
2648+
2649+ * plugins/fade.c (fadeHandleEvent): Make sure opacity isn't opaque
2650+ when fading out.
2651+ Stop fading if window is resized.
2652+
2653+ * src/window.c (resizeWindow): Only verify pixmap size if window is
2654+ mapped.
2655+ (resizeWindow): Check XGetGeometry result.
2656+
2657+ * plugins/switcher.c: Make sure switcher is correctly updated
2658+ even though the previously selected window isn't selectable by
2659+ switcher.
2660+
2661+ * src/event.c (handleEvent): Avoid panel actions when screen is
2662+ grabbed.
2663+
2664+2006-03-03 Radek Doulik <rodo@novell.com>
2665+
2666+ * src/main.c (main): init and close session when sm is not
2667+ disabled. Enable sm by default.
2668+
2669+ * src/session.c: added minimal session support so that compiz at
2670+ least register with session manager to avoid registering timeouts
2671+
2672+2006-03-03 David Reveman <davidr@novell.com>
2673+
2674+ * src/screen.c (removeScreenGrab): Use correct cursor when changing
2675+ actvie pointer grab.
2676+
2677+2006-03-02 David Reveman <davidr@novell.com>
2678+
2679+ * plugins/rotate.c (rotateHandleEvent):
2680+ * plugins/zoom.c (zoomHandleEvent): Make sure no pending motion
2681+ notify events exists when warping the pointer.
2682+
2683+ * plugins/rotate.c (rotateHandleEvent): Reset movement.
2684+
2685+ * plugins/switcher.c: Always send activate request when selecting a
2686+ window.
2687+
2688+ * plugins/cube.c (cubePaintTransformedScreen): Reset color.
2689+
2690+ * plugins/switcher.c (switchPaintThumb): PAINT_WINDOW_TRANSLUCENT_MASK
2691+ if opacity isn't opaque.
2692+ (switchPaintWindow): Reset color.
2693+
2694+2006-03-01 David Reveman <davidr@novell.com>
2695+
2696+ * configure.ac: Bump version to 0.0.5.
2697+
2698+ * plugins/fade.c (fadeAddDisplayModal): Higher brightness when showing
2699+ display modal dialogs.
2700+
2701+ * plugins/switcher.c (switchPreparePaintScreen): Continue adjusting
2702+ window selection even though we're not grabbing the screen.
2703+ (switchPaintWindow): Use last used paint attributes for thumbnails.
2704+ (switchPaintWindow): Use blending when drawing selection rectangle.
2705+
2706+ * plugins/fade.c (fadeHandleEvent): unmap. -> map.
2707+ (fadeDamageWindowRect): Only zero opacity if we're not already
2708+ fading the window.
2709+
2710+ * src/window.c (unmapWindow): 'placed' variable should be reset on
2711+ first call to unmapWindow.
2712+
2713+ * src/screen.c:
2714+ * src/event.c (handleEvent):
2715+ * src/display.c (eventLoop):
2716+ * include/compiz.h: Add slow animation option.
2717+
2718+ * src/window.c (recalcNormalHints): Constrain window dimensions to
2719+ max texture size.
2720+
2721+ * src/screen.c (addScreen): Get max texture size.
2722+
2723+ * gnome/window-decorator/gnome-window-decorator.c: Nicer drop shadow
2724+ on windows without decorations.
2725+
2726+ * src/window.c (addWindow): Move initialization of sync alarm.
2727+
2728+ * plugins/cube.c:
2729+ * plugins/decoration.c:
2730+ (decorCreateDecoration): Fix minimum size check.
2731+
2732+ * src/main.c:
2733+ * include/compiz.h:
2734+ * src/paint.c:
2735+ * src/screen.c: Ligthing support.
2736+
2737+ * compiz.pc.in: Fix.
2738+
2739+2006-02-23 David Reveman <davidr@novell.com>
2740+
2741+ * src/window.c (unmapWindow): Not minimized and not part of showing
2742+ desktop mode.
2743+
2744+ * plugins/wobbly.c: Fix handling of scaled windows.
2745+ Update options so that user gets more control over which windows
2746+ that should wobble and when.
2747+
2748+ * configure.ac: Bump version to 0.0.4.
2749+
2750+ * gnome/window-decorator/gnome-window-decorator.c (window_opened): Make
2751+ sure decoration property for switcher window is set.
2752+
2753+ * plugins/decoration.c (decorHandleEvent):
2754+ * src/event.c (handleEvent):
2755+ * plugins/switcher.c:
2756+ * src/screen.c (addScreen, setScreenOption)
2757+ (compScreenInitOptions):
2758+ * src/texture.c:
2759+ * include/compiz.h: Mipmap support. Add more RUN_COMMAND options.
2760+
2761+2006-02-22 David Reveman <davidr@novell.com>
2762+
2763+ * src/display.c (realToVirtualModMask): Remove modifiers that should
2764+ be ignored.
2765+ (addDisplay): Select ButtonPress and ButtonRelease events on root
2766+ window.
2767+
2768+ * include/compiz.h (EV_KEY):
2769+ (EV_BUTTON): Modifiers should match exactly.
2770+
2771+ * plugins/switcher.c: Add binding for selecting previous window.
2772+
2773+ * plugins/decoration.c: Remove sync hack.
2774+
2775+ * gnome/window-decorator/gnome-window-decorator.c
2776+ (draw_shadow_background): Fix drawing of bottom and bottom right
2777+ shadow rectangle.
2778+ Add switcher window decorations.
2779+ Remove sync hack.
2780+ Always use double buffering.
2781+
2782+ * plugins/switcher.c: Remove background color option.
2783+ Use property instead of client message to indicate change of selected
2784+ window.
2785+
2786+2006-02-21 David Reveman <davidr@novell.com>
2787+
2788+ * plugins/cube.c (cubeHandleEvent): Only load new SVG when available.
2789+
2790+2006-02-20 David Reveman <davidr@novell.com>
2791+
2792+ * plugins/decoration.c (decorWindowUpdate): Decorate window
2793+ MwmDecorTitle is present.
2794+
2795+ * src/window.c (focusWindow):
2796+ (moveInputFocusToWindow):
2797+ Allow focusing windows with input hint set to false.
2798+ (activateWindow): Fix so that dock windows can be active.
2799+
2800+ * src/screen.c (isClientListWindow): Don't put destroyed windows in
2801+ client lists.
2802+
2803+ * src/event.c (handleEvent): Fix so that dock windows can be active.
2804+ (handleEvent): Avoid focusing windows with input hint set to false
2805+ when mapped.
2806+
2807+2006-02-18 David Reveman <davidr@novell.com>
2808+
2809+ * src/window.c (unmapWindow): Windows not being minimized should be
2810+ placed again at next map.
2811+
2812+ * plugins/wobbly.c (wobblyDonePaintScreen): Also add pending damage
2813+ if any window is in initial wobbly state.
2814+
2815+2006-02-17 David Reveman <davidr@novell.com>
2816+
2817+ * configure.ac: Bump version to 0.0.3.
2818+
2819+ * plugins/zoom.c (zoomIn): Translate less.
2820+ (zoomPaintScreen): Use selected filter.
2821+ (adjustZoomVelocity): Made zoom animation nicer.
2822+ (zoomPreparePaintScreen): Don't zoom to much.
2823+ ADd filter selection option.
2824+
2825+ * plugins/decoration.c (decorPaintWindow):
2826+ * src/paint.c (drawWindowTexture): Use screen filters.
2827+
2828+ * include/compiz.h: Add support for adjusting filters.
2829+
2830+ * plugins/scale.c (scaleHandleEvent): Only button 1.
2831+
2832+ * plugins/cube.c (cubePaintTransformedScreen): Fix drawing with size
2833+ greater than 4.
2834+
2835+2006-02-16 David Reveman <davidr@novell.com>
2836+
2837+ * configure.ac: Remove menu.
2838+
2839+ * plugins/switcher.c (switchNextWindow): Damage new and previously
2840+ selected window.
2841+ (switchInitiate): Damage screen initiating switching.
2842+ (switchTerminate): Damage screen terminating switching.
2843+ (switchPaintThumb): Draw thumbnail without calling any function that
2844+ can be wrapped.
2845+
2846+ * gnome/window-decorator/gnome-window-decorator.c
2847+ (update_window_decoration_size): Make sure title isn't rendered
2848+ when it doesn't fit.
2849+
2850+2006-02-14 David Reveman <davidr@novell.com>
2851+
2852+ * gnome/window-decorator/gnome-window-decorator.c
2853+ (draw_window_decoration): Make sure complete icon is visible.
2854+
2855+ * src/display.c (eventLoop):
2856+ (getTimeToNextRedraw): Handle clock rollback.
2857+
2858+2006-02-13 David Reveman <davidr@novell.com>
2859+
2860+ * configure.ac: Remove menu plugin check.
2861+ Require version 2.8.0 or greater of gtk+.
2862+
2863+2006-02-11 David Reveman <davidr@novell.com>
2864+
2865+ * configure.ac: Bump version to 0.0.2.
2866+
2867+ * src/window.c:
2868+ * src/event.c:
2869+ * plugins/fade.c:
2870+ * src/display.c:
2871+ * include/compiz.h: Lower brightness of windows that are not responding
2872+ and all windows when showing logout dialog.
2873+
2874+ * gnome/window-decorator/gnome-window-decorator.c: Use metacity
2875+ titlebar font settings.
2876+
2877+ * gnome/compiz-window-manager.c: Add titlebar font setting.
2878+
2879+ * plugins/Makefile.am:
2880+ * plugins/switcher.c: Add switcher plugin.
2881+
2882+ * plugins/gconf.c: Add alpha to color options.
2883+
2884+2006-02-10 David Reveman <davidr@novell.com>
2885+
2886+ * src/screen.c:
2887+ * src/display.c: Do not include X11/extensions/Xevie.h.
2888
2889=== added file 'Doxyfile'
2890--- Doxyfile 1970-01-01 00:00:00 +0000
2891+++ Doxyfile 2011-04-06 13:26:57 +0000
2892@@ -0,0 +1,1514 @@
2893+# Doxyfile 1.6.1
2894+
2895+# This file describes the settings to be used by the documentation system
2896+# doxygen (www.doxygen.org) for a project
2897+#
2898+# All text after a hash (#) is considered a comment and will be ignored
2899+# The format is:
2900+# TAG = value [value, ...]
2901+# For lists items can also be appended using:
2902+# TAG += value [value, ...]
2903+# Values that contain spaces should be placed between quotes (" ")
2904+
2905+#---------------------------------------------------------------------------
2906+# Project related configuration options
2907+#---------------------------------------------------------------------------
2908+
2909+# This tag specifies the encoding used for all characters in the config file
2910+# that follow. The default is UTF-8 which is also the encoding used for all
2911+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
2912+# iconv built into libc) for the transcoding. See
2913+# http://www.gnu.org/software/libiconv for the list of possible encodings.
2914+
2915+DOXYFILE_ENCODING = UTF-8
2916+
2917+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
2918+# by quotes) that should identify the project.
2919+
2920+PROJECT_NAME = Compiz
2921+
2922+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
2923+# This could be handy for archiving the generated documentation or
2924+# if some version control system is used.
2925+
2926+PROJECT_NUMBER = 0.9
2927+
2928+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
2929+# base path where the generated documentation will be put.
2930+# If a relative path is entered, it will be relative to the location
2931+# where doxygen was started. If left blank the current directory will be used.
2932+
2933+OUTPUT_DIRECTORY = doc
2934+
2935+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
2936+# 4096 sub-directories (in 2 levels) under the output directory of each output
2937+# format and will distribute the generated files over these directories.
2938+# Enabling this option can be useful when feeding doxygen a huge amount of
2939+# source files, where putting all generated files in the same directory would
2940+# otherwise cause performance problems for the file system.
2941+
2942+CREATE_SUBDIRS = NO
2943+
2944+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
2945+# documentation generated by doxygen is written. Doxygen will use this
2946+# information to generate all constant output in the proper language.
2947+# The default language is English, other supported languages are:
2948+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
2949+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
2950+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
2951+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
2952+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
2953+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
2954+
2955+OUTPUT_LANGUAGE = English
2956+
2957+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
2958+# include brief member descriptions after the members that are listed in
2959+# the file and class documentation (similar to JavaDoc).
2960+# Set to NO to disable this.
2961+
2962+BRIEF_MEMBER_DESC = YES
2963+
2964+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
2965+# the brief description of a member or function before the detailed description.
2966+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
2967+# brief descriptions will be completely suppressed.
2968+
2969+REPEAT_BRIEF = YES
2970+
2971+# This tag implements a quasi-intelligent brief description abbreviator
2972+# that is used to form the text in various listings. Each string
2973+# in this list, if found as the leading text of the brief description, will be
2974+# stripped from the text and the result after processing the whole list, is
2975+# used as the annotated text. Otherwise, the brief description is used as-is.
2976+# If left blank, the following values are used ("$name" is automatically
2977+# replaced with the name of the entity): "The $name class" "The $name widget"
2978+# "The $name file" "is" "provides" "specifies" "contains"
2979+# "represents" "a" "an" "the"
2980+
2981+ABBREVIATE_BRIEF =
2982+
2983+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
2984+# Doxygen will generate a detailed section even if there is only a brief
2985+# description.
2986+
2987+ALWAYS_DETAILED_SEC = YES
2988+
2989+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
2990+# inherited members of a class in the documentation of that class as if those
2991+# members were ordinary class members. Constructors, destructors and assignment
2992+# operators of the base classes will not be shown.
2993+
2994+INLINE_INHERITED_MEMB = NO
2995+
2996+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
2997+# path before files name in the file list and in the header files. If set
2998+# to NO the shortest path that makes the file name unique will be used.
2999+
3000+FULL_PATH_NAMES = YES
3001+
3002+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
3003+# can be used to strip a user-defined part of the path. Stripping is
3004+# only done if one of the specified strings matches the left-hand part of
3005+# the path. The tag can be used to show relative paths in the file list.
3006+# If left blank the directory from which doxygen is run is used as the
3007+# path to strip.
3008+
3009+STRIP_FROM_PATH =
3010+
3011+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
3012+# the path mentioned in the documentation of a class, which tells
3013+# the reader which header file to include in order to use a class.
3014+# If left blank only the name of the header file containing the class
3015+# definition is used. Otherwise one should specify the include paths that
3016+# are normally passed to the compiler using the -I flag.
3017+
3018+STRIP_FROM_INC_PATH =
3019+
3020+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
3021+# (but less readable) file names. This can be useful is your file systems
3022+# doesn't support long names like on DOS, Mac, or CD-ROM.
3023+
3024+SHORT_NAMES = NO
3025+
3026+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
3027+# will interpret the first line (until the first dot) of a JavaDoc-style
3028+# comment as the brief description. If set to NO, the JavaDoc
3029+# comments will behave just like regular Qt-style comments
3030+# (thus requiring an explicit @brief command for a brief description.)
3031+
3032+JAVADOC_AUTOBRIEF = YES
3033+
3034+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
3035+# interpret the first line (until the first dot) of a Qt-style
3036+# comment as the brief description. If set to NO, the comments
3037+# will behave just like regular Qt-style comments (thus requiring
3038+# an explicit \brief command for a brief description.)
3039+
3040+QT_AUTOBRIEF = NO
3041+
3042+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
3043+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
3044+# comments) as a brief description. This used to be the default behaviour.
3045+# The new default is to treat a multi-line C++ comment block as a detailed
3046+# description. Set this tag to YES if you prefer the old behaviour instead.
3047+
3048+MULTILINE_CPP_IS_BRIEF = NO
3049+
3050+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
3051+# member inherits the documentation from any documented member that it
3052+# re-implements.
3053+
3054+INHERIT_DOCS = YES
3055+
3056+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
3057+# a new page for each member. If set to NO, the documentation of a member will
3058+# be part of the file/class/namespace that contains it.
3059+
3060+SEPARATE_MEMBER_PAGES = NO
3061+
3062+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
3063+# Doxygen uses this value to replace tabs by spaces in code fragments.
3064+
3065+TAB_SIZE = 8
3066+
3067+# This tag can be used to specify a number of aliases that acts
3068+# as commands in the documentation. An alias has the form "name=value".
3069+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
3070+# put the command \sideeffect (or @sideeffect) in the documentation, which
3071+# will result in a user-defined paragraph with heading "Side Effects:".
3072+# You can put \n's in the value part of an alias to insert newlines.
3073+
3074+ALIASES =
3075+
3076+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
3077+# sources only. Doxygen will then generate output that is more tailored for C.
3078+# For instance, some of the names that are used will be different. The list
3079+# of all members will be omitted, etc.
3080+
3081+OPTIMIZE_OUTPUT_FOR_C = NO
3082+
3083+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
3084+# sources only. Doxygen will then generate output that is more tailored for
3085+# Java. For instance, namespaces will be presented as packages, qualified
3086+# scopes will look different, etc.
3087+
3088+OPTIMIZE_OUTPUT_JAVA = NO
3089+
3090+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
3091+# sources only. Doxygen will then generate output that is more tailored for
3092+# Fortran.
3093+
3094+OPTIMIZE_FOR_FORTRAN = NO
3095+
3096+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
3097+# sources. Doxygen will then generate output that is tailored for
3098+# VHDL.
3099+
3100+OPTIMIZE_OUTPUT_VHDL = NO
3101+
3102+# Doxygen selects the parser to use depending on the extension of the files it parses.
3103+# With this tag you can assign which parser to use for a given extension.
3104+# Doxygen has a built-in mapping, but you can override or extend it using this tag.
3105+# The format is ext=language, where ext is a file extension, and language is one of
3106+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
3107+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
3108+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
3109+# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
3110+
3111+EXTENSION_MAPPING =
3112+
3113+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
3114+# to include (a tag file for) the STL sources as input, then you should
3115+# set this tag to YES in order to let doxygen match functions declarations and
3116+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
3117+# func(std::string) {}). This also make the inheritance and collaboration
3118+# diagrams that involve STL classes more complete and accurate.
3119+
3120+BUILTIN_STL_SUPPORT = NO
3121+
3122+# If you use Microsoft's C++/CLI language, you should set this option to YES to
3123+# enable parsing support.
3124+
3125+CPP_CLI_SUPPORT = NO
3126+
3127+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
3128+# Doxygen will parse them like normal C++ but will assume all classes use public
3129+# instead of private inheritance when no explicit protection keyword is present.
3130+
3131+SIP_SUPPORT = NO
3132+
3133+# For Microsoft's IDL there are propget and propput attributes to indicate getter
3134+# and setter methods for a property. Setting this option to YES (the default)
3135+# will make doxygen to replace the get and set methods by a property in the
3136+# documentation. This will only work if the methods are indeed getting or
3137+# setting a simple type. If this is not the case, or you want to show the
3138+# methods anyway, you should set this option to NO.
3139+
3140+IDL_PROPERTY_SUPPORT = YES
3141+
3142+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
3143+# tag is set to YES, then doxygen will reuse the documentation of the first
3144+# member in the group (if any) for the other members of the group. By default
3145+# all members of a group must be documented explicitly.
3146+
3147+DISTRIBUTE_GROUP_DOC = NO
3148+
3149+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
3150+# the same type (for instance a group of public functions) to be put as a
3151+# subgroup of that type (e.g. under the Public Functions section). Set it to
3152+# NO to prevent subgrouping. Alternatively, this can be done per class using
3153+# the \nosubgrouping command.
3154+
3155+SUBGROUPING = YES
3156+
3157+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
3158+# is documented as struct, union, or enum with the name of the typedef. So
3159+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
3160+# with name TypeT. When disabled the typedef will appear as a member of a file,
3161+# namespace, or class. And the struct will be named TypeS. This can typically
3162+# be useful for C code in case the coding convention dictates that all compound
3163+# types are typedef'ed and only the typedef is referenced, never the tag name.
3164+
3165+TYPEDEF_HIDES_STRUCT = NO
3166+
3167+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
3168+# determine which symbols to keep in memory and which to flush to disk.
3169+# When the cache is full, less often used symbols will be written to disk.
3170+# For small to medium size projects (<1000 input files) the default value is
3171+# probably good enough. For larger projects a too small cache size can cause
3172+# doxygen to be busy swapping symbols to and from disk most of the time
3173+# causing a significant performance penality.
3174+# If the system has enough physical memory increasing the cache will improve the
3175+# performance by keeping more symbols in memory. Note that the value works on
3176+# a logarithmic scale so increasing the size by one will rougly double the
3177+# memory usage. The cache size is given by this formula:
3178+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
3179+# corresponding to a cache size of 2^16 = 65536 symbols
3180+
3181+SYMBOL_CACHE_SIZE = 0
3182+
3183+#---------------------------------------------------------------------------
3184+# Build related configuration options
3185+#---------------------------------------------------------------------------
3186+
3187+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
3188+# documentation are documented, even if no documentation was available.
3189+# Private class members and static file members will be hidden unless
3190+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
3191+
3192+EXTRACT_ALL = NO
3193+
3194+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
3195+# will be included in the documentation.
3196+
3197+EXTRACT_PRIVATE = NO
3198+
3199+# If the EXTRACT_STATIC tag is set to YES all static members of a file
3200+# will be included in the documentation.
3201+
3202+EXTRACT_STATIC = NO
3203+
3204+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
3205+# defined locally in source files will be included in the documentation.
3206+# If set to NO only classes defined in header files are included.
3207+
3208+EXTRACT_LOCAL_CLASSES = YES
3209+
3210+# This flag is only useful for Objective-C code. When set to YES local
3211+# methods, which are defined in the implementation section but not in
3212+# the interface are included in the documentation.
3213+# If set to NO (the default) only methods in the interface are included.
3214+
3215+EXTRACT_LOCAL_METHODS = NO
3216+
3217+# If this flag is set to YES, the members of anonymous namespaces will be
3218+# extracted and appear in the documentation as a namespace called
3219+# 'anonymous_namespace{file}', where file will be replaced with the base
3220+# name of the file that contains the anonymous namespace. By default
3221+# anonymous namespace are hidden.
3222+
3223+EXTRACT_ANON_NSPACES = NO
3224+
3225+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
3226+# undocumented members of documented classes, files or namespaces.
3227+# If set to NO (the default) these members will be included in the
3228+# various overviews, but no documentation section is generated.
3229+# This option has no effect if EXTRACT_ALL is enabled.
3230+
3231+HIDE_UNDOC_MEMBERS = NO
3232+
3233+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
3234+# undocumented classes that are normally visible in the class hierarchy.
3235+# If set to NO (the default) these classes will be included in the various
3236+# overviews. This option has no effect if EXTRACT_ALL is enabled.
3237+
3238+HIDE_UNDOC_CLASSES = NO
3239+
3240+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
3241+# friend (class|struct|union) declarations.
3242+# If set to NO (the default) these declarations will be included in the
3243+# documentation.
3244+
3245+HIDE_FRIEND_COMPOUNDS = NO
3246+
3247+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
3248+# documentation blocks found inside the body of a function.
3249+# If set to NO (the default) these blocks will be appended to the
3250+# function's detailed documentation block.
3251+
3252+HIDE_IN_BODY_DOCS = NO
3253+
3254+# The INTERNAL_DOCS tag determines if documentation
3255+# that is typed after a \internal command is included. If the tag is set
3256+# to NO (the default) then the documentation will be excluded.
3257+# Set it to YES to include the internal documentation.
3258+
3259+INTERNAL_DOCS = NO
3260+
3261+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
3262+# file names in lower-case letters. If set to YES upper-case letters are also
3263+# allowed. This is useful if you have classes or files whose names only differ
3264+# in case and if your file system supports case sensitive file names. Windows
3265+# and Mac users are advised to set this option to NO.
3266+
3267+CASE_SENSE_NAMES = YES
3268+
3269+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
3270+# will show members with their full class and namespace scopes in the
3271+# documentation. If set to YES the scope will be hidden.
3272+
3273+HIDE_SCOPE_NAMES = NO
3274+
3275+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
3276+# will put a list of the files that are included by a file in the documentation
3277+# of that file.
3278+
3279+SHOW_INCLUDE_FILES = YES
3280+
3281+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
3282+# is inserted in the documentation for inline members.
3283+
3284+INLINE_INFO = YES
3285+
3286+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
3287+# will sort the (detailed) documentation of file and class members
3288+# alphabetically by member name. If set to NO the members will appear in
3289+# declaration order.
3290+
3291+SORT_MEMBER_DOCS = YES
3292+
3293+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
3294+# brief documentation of file, namespace and class members alphabetically
3295+# by member name. If set to NO (the default) the members will appear in
3296+# declaration order.
3297+
3298+SORT_BRIEF_DOCS = NO
3299+
3300+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
3301+
3302+SORT_MEMBERS_CTORS_1ST = NO
3303+
3304+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
3305+# hierarchy of group names into alphabetical order. If set to NO (the default)
3306+# the group names will appear in their defined order.
3307+
3308+SORT_GROUP_NAMES = NO
3309+
3310+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
3311+# sorted by fully-qualified names, including namespaces. If set to
3312+# NO (the default), the class list will be sorted only by class name,
3313+# not including the namespace part.
3314+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
3315+# Note: This option applies only to the class list, not to the
3316+# alphabetical list.
3317+
3318+SORT_BY_SCOPE_NAME = NO
3319+
3320+# The GENERATE_TODOLIST tag can be used to enable (YES) or
3321+# disable (NO) the todo list. This list is created by putting \todo
3322+# commands in the documentation.
3323+
3324+GENERATE_TODOLIST = YES
3325+
3326+# The GENERATE_TESTLIST tag can be used to enable (YES) or
3327+# disable (NO) the test list. This list is created by putting \test
3328+# commands in the documentation.
3329+
3330+GENERATE_TESTLIST = YES
3331+
3332+# The GENERATE_BUGLIST tag can be used to enable (YES) or
3333+# disable (NO) the bug list. This list is created by putting \bug
3334+# commands in the documentation.
3335+
3336+GENERATE_BUGLIST = YES
3337+
3338+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
3339+# disable (NO) the deprecated list. This list is created by putting
3340+# \deprecated commands in the documentation.
3341+
3342+GENERATE_DEPRECATEDLIST= YES
3343+
3344+# The ENABLED_SECTIONS tag can be used to enable conditional
3345+# documentation sections, marked by \if sectionname ... \endif.
3346+
3347+ENABLED_SECTIONS =
3348+
3349+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
3350+# the initial value of a variable or define consists of for it to appear in
3351+# the documentation. If the initializer consists of more lines than specified
3352+# here it will be hidden. Use a value of 0 to hide initializers completely.
3353+# The appearance of the initializer of individual variables and defines in the
3354+# documentation can be controlled using \showinitializer or \hideinitializer
3355+# command in the documentation regardless of this setting.
3356+
3357+MAX_INITIALIZER_LINES = 30
3358+
3359+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
3360+# at the bottom of the documentation of classes and structs. If set to YES the
3361+# list will mention the files that were used to generate the documentation.
3362+
3363+SHOW_USED_FILES = YES
3364+
3365+# If the sources in your project are distributed over multiple directories
3366+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
3367+# in the documentation. The default is NO.
3368+
3369+SHOW_DIRECTORIES = NO
3370+
3371+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
3372+# This will remove the Files entry from the Quick Index and from the
3373+# Folder Tree View (if specified). The default is YES.
3374+
3375+SHOW_FILES = YES
3376+
3377+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
3378+# Namespaces page.
3379+# This will remove the Namespaces entry from the Quick Index
3380+# and from the Folder Tree View (if specified). The default is YES.
3381+
3382+SHOW_NAMESPACES = YES
3383+
3384+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
3385+# doxygen should invoke to get the current version for each file (typically from
3386+# the version control system). Doxygen will invoke the program by executing (via
3387+# popen()) the command <command> <input-file>, where <command> is the value of
3388+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
3389+# provided by doxygen. Whatever the program writes to standard output
3390+# is used as the file version. See the manual for examples.
3391+
3392+FILE_VERSION_FILTER =
3393+
3394+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
3395+# doxygen. The layout file controls the global structure of the generated output files
3396+# in an output format independent way. The create the layout file that represents
3397+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
3398+# file name after the option, if omitted DoxygenLayout.xml will be used as the name
3399+# of the layout file.
3400+
3401+LAYOUT_FILE =
3402+
3403+#---------------------------------------------------------------------------
3404+# configuration options related to warning and progress messages
3405+#---------------------------------------------------------------------------
3406+
3407+# The QUIET tag can be used to turn on/off the messages that are generated
3408+# by doxygen. Possible values are YES and NO. If left blank NO is used.
3409+
3410+QUIET = NO
3411+
3412+# The WARNINGS tag can be used to turn on/off the warning messages that are
3413+# generated by doxygen. Possible values are YES and NO. If left blank
3414+# NO is used.
3415+
3416+WARNINGS = YES
3417+
3418+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
3419+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
3420+# automatically be disabled.
3421+
3422+WARN_IF_UNDOCUMENTED = NO
3423+
3424+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
3425+# potential errors in the documentation, such as not documenting some
3426+# parameters in a documented function, or documenting parameters that
3427+# don't exist or using markup commands wrongly.
3428+
3429+WARN_IF_DOC_ERROR = YES
3430+
3431+# This WARN_NO_PARAMDOC option can be abled to get warnings for
3432+# functions that are documented, but have no documentation for their parameters
3433+# or return value. If set to NO (the default) doxygen will only warn about
3434+# wrong or incomplete parameter documentation, but not about the absence of
3435+# documentation.
3436+
3437+WARN_NO_PARAMDOC = NO
3438+
3439+# The WARN_FORMAT tag determines the format of the warning messages that
3440+# doxygen can produce. The string should contain the $file, $line, and $text
3441+# tags, which will be replaced by the file and line number from which the
3442+# warning originated and the warning text. Optionally the format may contain
3443+# $version, which will be replaced by the version of the file (if it could
3444+# be obtained via FILE_VERSION_FILTER)
3445+
3446+WARN_FORMAT = "$file:$line: $text"
3447+
3448+# The WARN_LOGFILE tag can be used to specify a file to which warning
3449+# and error messages should be written. If left blank the output is written
3450+# to stderr.
3451+
3452+WARN_LOGFILE =
3453+
3454+#---------------------------------------------------------------------------
3455+# configuration options related to the input files
3456+#---------------------------------------------------------------------------
3457+
3458+# The INPUT tag can be used to specify the files and/or directories that contain
3459+# documented source files. You may enter file names like "myfile.cpp" or
3460+# directories like "/usr/src/myproject". Separate the files or directories
3461+# with spaces.
3462+
3463+INPUT = include/ src/
3464+
3465+# This tag can be used to specify the character encoding of the source files
3466+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
3467+# also the default input encoding. Doxygen uses libiconv (or the iconv built
3468+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
3469+# the list of possible encodings.
3470+
3471+INPUT_ENCODING = UTF-8
3472+
3473+# If the value of the INPUT tag contains directories, you can use the
3474+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
3475+# and *.h) to filter out the source-files in the directories. If left
3476+# blank the following patterns are tested:
3477+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
3478+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
3479+
3480+FILE_PATTERNS = *.h
3481+
3482+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
3483+# should be searched for input files as well. Possible values are YES and NO.
3484+# If left blank NO is used.
3485+
3486+RECURSIVE = YES
3487+
3488+# The EXCLUDE tag can be used to specify files and/or directories that should
3489+# excluded from the INPUT source files. This way you can easily exclude a
3490+# subdirectory from a directory tree whose root is specified with the INPUT tag.
3491+
3492+EXCLUDE =
3493+
3494+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
3495+# directories that are symbolic links (a Unix filesystem feature) are excluded
3496+# from the input.
3497+
3498+EXCLUDE_SYMLINKS = NO
3499+
3500+# If the value of the INPUT tag contains directories, you can use the
3501+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
3502+# certain files from those directories. Note that the wildcards are matched
3503+# against the file with absolute path, so to exclude all test directories
3504+# for example use the pattern */test/*
3505+
3506+EXCLUDE_PATTERNS = private*
3507+
3508+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
3509+# (namespaces, classes, functions, etc.) that should be excluded from the
3510+# output. The symbol name can be a fully qualified name, a word, or if the
3511+# wildcard * is used, a substring. Examples: ANamespace, AClass,
3512+# AClass::ANamespace, ANamespace::*Test
3513+
3514+EXCLUDE_SYMBOLS = _* *Private* *Wrap*
3515+
3516+# The EXAMPLE_PATH tag can be used to specify one or more files or
3517+# directories that contain example code fragments that are included (see
3518+# the \include command).
3519+
3520+EXAMPLE_PATH =
3521+
3522+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
3523+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
3524+# and *.h) to filter out the source-files in the directories. If left
3525+# blank all files are included.
3526+
3527+EXAMPLE_PATTERNS =
3528+
3529+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
3530+# searched for input files to be used with the \include or \dontinclude
3531+# commands irrespective of the value of the RECURSIVE tag.
3532+# Possible values are YES and NO. If left blank NO is used.
3533+
3534+EXAMPLE_RECURSIVE = NO
3535+
3536+# The IMAGE_PATH tag can be used to specify one or more files or
3537+# directories that contain image that are included in the documentation (see
3538+# the \image command).
3539+
3540+IMAGE_PATH =
3541+
3542+# The INPUT_FILTER tag can be used to specify a program that doxygen should
3543+# invoke to filter for each input file. Doxygen will invoke the filter program
3544+# by executing (via popen()) the command <filter> <input-file>, where <filter>
3545+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
3546+# input file. Doxygen will then use the output that the filter program writes
3547+# to standard output.
3548+# If FILTER_PATTERNS is specified, this tag will be
3549+# ignored.
3550+
3551+INPUT_FILTER =
3552+
3553+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
3554+# basis.
3555+# Doxygen will compare the file name with each pattern and apply the
3556+# filter if there is a match.
3557+# The filters are a list of the form:
3558+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
3559+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
3560+# is applied to all files.
3561+
3562+FILTER_PATTERNS =
3563+
3564+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
3565+# INPUT_FILTER) will be used to filter the input files when producing source
3566+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
3567+
3568+FILTER_SOURCE_FILES = NO
3569+
3570+#---------------------------------------------------------------------------
3571+# configuration options related to source browsing
3572+#---------------------------------------------------------------------------
3573+
3574+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
3575+# be generated. Documented entities will be cross-referenced with these sources.
3576+# Note: To get rid of all source code in the generated output, make sure also
3577+# VERBATIM_HEADERS is set to NO.
3578+
3579+SOURCE_BROWSER = NO
3580+
3581+# Setting the INLINE_SOURCES tag to YES will include the body
3582+# of functions and classes directly in the documentation.
3583+
3584+INLINE_SOURCES = NO
3585+
3586+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
3587+# doxygen to hide any special comment blocks from generated source code
3588+# fragments. Normal C and C++ comments will always remain visible.
3589+
3590+STRIP_CODE_COMMENTS = YES
3591+
3592+# If the REFERENCED_BY_RELATION tag is set to YES
3593+# then for each documented function all documented
3594+# functions referencing it will be listed.
3595+
3596+REFERENCED_BY_RELATION = NO
3597+
3598+# If the REFERENCES_RELATION tag is set to YES
3599+# then for each documented function all documented entities
3600+# called/used by that function will be listed.
3601+
3602+REFERENCES_RELATION = NO
3603+
3604+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
3605+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
3606+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
3607+# link to the source code.
3608+# Otherwise they will link to the documentation.
3609+
3610+REFERENCES_LINK_SOURCE = YES
3611+
3612+# If the USE_HTAGS tag is set to YES then the references to source code
3613+# will point to the HTML generated by the htags(1) tool instead of doxygen
3614+# built-in source browser. The htags tool is part of GNU's global source
3615+# tagging system (see http://www.gnu.org/software/global/global.html). You
3616+# will need version 4.8.6 or higher.
3617+
3618+USE_HTAGS = NO
3619+
3620+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
3621+# will generate a verbatim copy of the header file for each class for
3622+# which an include is specified. Set to NO to disable this.
3623+
3624+VERBATIM_HEADERS = YES
3625+
3626+#---------------------------------------------------------------------------
3627+# configuration options related to the alphabetical class index
3628+#---------------------------------------------------------------------------
3629+
3630+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
3631+# of all compounds will be generated. Enable this if the project
3632+# contains a lot of classes, structs, unions or interfaces.
3633+
3634+ALPHABETICAL_INDEX = YES
3635+
3636+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
3637+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
3638+# in which this list will be split (can be a number in the range [1..20])
3639+
3640+COLS_IN_ALPHA_INDEX = 5
3641+
3642+# In case all classes in a project start with a common prefix, all
3643+# classes will be put under the same header in the alphabetical index.
3644+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
3645+# should be ignored while generating the index headers.
3646+
3647+IGNORE_PREFIX = _,Private
3648+
3649+#---------------------------------------------------------------------------
3650+# configuration options related to the HTML output
3651+#---------------------------------------------------------------------------
3652+
3653+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
3654+# generate HTML output.
3655+
3656+GENERATE_HTML = YES
3657+
3658+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
3659+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
3660+# put in front of it. If left blank `html' will be used as the default path.
3661+
3662+HTML_OUTPUT = html
3663+
3664+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
3665+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
3666+# doxygen will generate files with .html extension.
3667+
3668+HTML_FILE_EXTENSION = .html
3669+
3670+# The HTML_HEADER tag can be used to specify a personal HTML header for
3671+# each generated HTML page. If it is left blank doxygen will generate a
3672+# standard header.
3673+
3674+HTML_HEADER =
3675+
3676+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
3677+# each generated HTML page. If it is left blank doxygen will generate a
3678+# standard footer.
3679+
3680+HTML_FOOTER =
3681+
3682+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
3683+# style sheet that is used by each HTML page. It can be used to
3684+# fine-tune the look of the HTML output. If the tag is left blank doxygen
3685+# will generate a default style sheet. Note that doxygen will try to copy
3686+# the style sheet file to the HTML output directory, so don't put your own
3687+# stylesheet in the HTML output directory as well, or it will be erased!
3688+
3689+HTML_STYLESHEET =
3690+
3691+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
3692+# files or namespaces will be aligned in HTML using tables. If set to
3693+# NO a bullet list will be used.
3694+
3695+HTML_ALIGN_MEMBERS = YES
3696+
3697+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
3698+# documentation will contain sections that can be hidden and shown after the
3699+# page has loaded. For this to work a browser that supports
3700+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
3701+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
3702+
3703+HTML_DYNAMIC_SECTIONS = YES
3704+
3705+# If the GENERATE_DOCSET tag is set to YES, additional index files
3706+# will be generated that can be used as input for Apple's Xcode 3
3707+# integrated development environment, introduced with OSX 10.5 (Leopard).
3708+# To create a documentation set, doxygen will generate a Makefile in the
3709+# HTML output directory. Running make will produce the docset in that
3710+# directory and running "make install" will install the docset in
3711+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
3712+# it at startup.
3713+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
3714+
3715+GENERATE_DOCSET = NO
3716+
3717+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
3718+# feed. A documentation feed provides an umbrella under which multiple
3719+# documentation sets from a single provider (such as a company or product suite)
3720+# can be grouped.
3721+
3722+DOCSET_FEEDNAME = "Doxygen generated docs"
3723+
3724+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
3725+# should uniquely identify the documentation set bundle. This should be a
3726+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
3727+# will append .docset to the name.
3728+
3729+DOCSET_BUNDLE_ID = org.doxygen.Project
3730+
3731+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
3732+# will be generated that can be used as input for tools like the
3733+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
3734+# of the generated HTML documentation.
3735+
3736+GENERATE_HTMLHELP = NO
3737+
3738+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
3739+# be used to specify the file name of the resulting .chm file. You
3740+# can add a path in front of the file if the result should not be
3741+# written to the html output directory.
3742+
3743+CHM_FILE =
3744+
3745+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
3746+# be used to specify the location (absolute path including file name) of
3747+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
3748+# the HTML help compiler on the generated index.hhp.
3749+
3750+HHC_LOCATION =
3751+
3752+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
3753+# controls if a separate .chi index file is generated (YES) or that
3754+# it should be included in the master .chm file (NO).
3755+
3756+GENERATE_CHI = NO
3757+
3758+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
3759+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
3760+# content.
3761+
3762+CHM_INDEX_ENCODING =
3763+
3764+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
3765+# controls whether a binary table of contents is generated (YES) or a
3766+# normal table of contents (NO) in the .chm file.
3767+
3768+BINARY_TOC = NO
3769+
3770+# The TOC_EXPAND flag can be set to YES to add extra items for group members
3771+# to the contents of the HTML help documentation and to the tree view.
3772+
3773+TOC_EXPAND = NO
3774+
3775+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
3776+# are set, an additional index file will be generated that can be used as input for
3777+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
3778+# HTML documentation.
3779+
3780+GENERATE_QHP = NO
3781+
3782+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
3783+# be used to specify the file name of the resulting .qch file.
3784+# The path specified is relative to the HTML output folder.
3785+
3786+QCH_FILE =
3787+
3788+# The QHP_NAMESPACE tag specifies the namespace to use when generating
3789+# Qt Help Project output. For more information please see
3790+# http://doc.trolltech.com/qthelpproject.html#namespace
3791+
3792+QHP_NAMESPACE =
3793+
3794+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
3795+# Qt Help Project output. For more information please see
3796+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
3797+
3798+QHP_VIRTUAL_FOLDER = doc
3799+
3800+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
3801+# For more information please see
3802+# http://doc.trolltech.com/qthelpproject.html#custom-filters
3803+
3804+QHP_CUST_FILTER_NAME =
3805+
3806+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
3807+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
3808+
3809+QHP_CUST_FILTER_ATTRS =
3810+
3811+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
3812+# filter section matches.
3813+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
3814+
3815+QHP_SECT_FILTER_ATTRS =
3816+
3817+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
3818+# be used to specify the location of Qt's qhelpgenerator.
3819+# If non-empty doxygen will try to run qhelpgenerator on the generated
3820+# .qhp file.
3821+
3822+QHG_LOCATION =
3823+
3824+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
3825+# top of each HTML page. The value NO (the default) enables the index and
3826+# the value YES disables it.
3827+
3828+DISABLE_INDEX = NO
3829+
3830+# This tag can be used to set the number of enum values (range [1..20])
3831+# that doxygen will group on one line in the generated HTML documentation.
3832+
3833+ENUM_VALUES_PER_LINE = 4
3834+
3835+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
3836+# structure should be generated to display hierarchical information.
3837+# If the tag value is set to YES, a side panel will be generated
3838+# containing a tree-like index structure (just like the one that
3839+# is generated for HTML Help). For this to work a browser that supports
3840+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
3841+# Windows users are probably better off using the HTML help feature.
3842+
3843+GENERATE_TREEVIEW = NO
3844+
3845+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
3846+# and Class Hierarchy pages using a tree view instead of an ordered list.
3847+
3848+USE_INLINE_TREES = NO
3849+
3850+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
3851+# used to set the initial width (in pixels) of the frame in which the tree
3852+# is shown.
3853+
3854+TREEVIEW_WIDTH = 250
3855+
3856+# Use this tag to change the font size of Latex formulas included
3857+# as images in the HTML documentation. The default is 10. Note that
3858+# when you change the font size after a successful doxygen run you need
3859+# to manually remove any form_*.png images from the HTML output directory
3860+# to force them to be regenerated.
3861+
3862+FORMULA_FONTSIZE = 10
3863+
3864+# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
3865+# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP)
3866+# there is already a search function so this one should typically
3867+# be disabled.
3868+
3869+SEARCHENGINE = YES
3870+
3871+#---------------------------------------------------------------------------
3872+# configuration options related to the LaTeX output
3873+#---------------------------------------------------------------------------
3874+
3875+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
3876+# generate Latex output.
3877+
3878+GENERATE_LATEX = NO
3879+
3880+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
3881+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
3882+# put in front of it. If left blank `latex' will be used as the default path.
3883+
3884+LATEX_OUTPUT = latex
3885+
3886+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
3887+# invoked. If left blank `latex' will be used as the default command name.
3888+
3889+LATEX_CMD_NAME = latex
3890+
3891+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
3892+# generate index for LaTeX. If left blank `makeindex' will be used as the
3893+# default command name.
3894+
3895+MAKEINDEX_CMD_NAME = makeindex
3896+
3897+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
3898+# LaTeX documents. This may be useful for small projects and may help to
3899+# save some trees in general.
3900+
3901+COMPACT_LATEX = NO
3902+
3903+# The PAPER_TYPE tag can be used to set the paper type that is used
3904+# by the printer. Possible values are: a4, a4wide, letter, legal and
3905+# executive. If left blank a4wide will be used.
3906+
3907+PAPER_TYPE = a4wide
3908+
3909+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
3910+# packages that should be included in the LaTeX output.
3911+
3912+EXTRA_PACKAGES =
3913+
3914+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
3915+# the generated latex document. The header should contain everything until
3916+# the first chapter. If it is left blank doxygen will generate a
3917+# standard header. Notice: only use this tag if you know what you are doing!
3918+
3919+LATEX_HEADER =
3920+
3921+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
3922+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
3923+# contain links (just like the HTML output) instead of page references
3924+# This makes the output suitable for online browsing using a pdf viewer.
3925+
3926+PDF_HYPERLINKS = YES
3927+
3928+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
3929+# plain latex in the generated Makefile. Set this option to YES to get a
3930+# higher quality PDF documentation.
3931+
3932+USE_PDFLATEX = YES
3933+
3934+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
3935+# command to the generated LaTeX files. This will instruct LaTeX to keep
3936+# running if errors occur, instead of asking the user for help.
3937+# This option is also used when generating formulas in HTML.
3938+
3939+LATEX_BATCHMODE = NO
3940+
3941+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
3942+# include the index chapters (such as File Index, Compound Index, etc.)
3943+# in the output.
3944+
3945+LATEX_HIDE_INDICES = NO
3946+
3947+# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
3948+
3949+LATEX_SOURCE_CODE = NO
3950+
3951+#---------------------------------------------------------------------------
3952+# configuration options related to the RTF output
3953+#---------------------------------------------------------------------------
3954+
3955+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
3956+# The RTF output is optimized for Word 97 and may not look very pretty with
3957+# other RTF readers or editors.
3958+
3959+GENERATE_RTF = NO
3960+
3961+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
3962+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
3963+# put in front of it. If left blank `rtf' will be used as the default path.
3964+
3965+RTF_OUTPUT = rtf
3966+
3967+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
3968+# RTF documents. This may be useful for small projects and may help to
3969+# save some trees in general.
3970+
3971+COMPACT_RTF = NO
3972+
3973+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
3974+# will contain hyperlink fields. The RTF file will
3975+# contain links (just like the HTML output) instead of page references.
3976+# This makes the output suitable for online browsing using WORD or other
3977+# programs which support those fields.
3978+# Note: wordpad (write) and others do not support links.
3979+
3980+RTF_HYPERLINKS = NO
3981+
3982+# Load stylesheet definitions from file. Syntax is similar to doxygen's
3983+# config file, i.e. a series of assignments. You only have to provide
3984+# replacements, missing definitions are set to their default value.
3985+
3986+RTF_STYLESHEET_FILE =
3987+
3988+# Set optional variables used in the generation of an rtf document.
3989+# Syntax is similar to doxygen's config file.
3990+
3991+RTF_EXTENSIONS_FILE =
3992+
3993+#---------------------------------------------------------------------------
3994+# configuration options related to the man page output
3995+#---------------------------------------------------------------------------
3996+
3997+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
3998+# generate man pages
3999+
4000+GENERATE_MAN = NO
4001+
4002+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
4003+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
4004+# put in front of it. If left blank `man' will be used as the default path.
4005+
4006+MAN_OUTPUT = man
4007+
4008+# The MAN_EXTENSION tag determines the extension that is added to
4009+# the generated man pages (default is the subroutine's section .3)
4010+
4011+MAN_EXTENSION = .3
4012+
4013+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
4014+# then it will generate one additional man file for each entity
4015+# documented in the real man page(s). These additional files
4016+# only source the real man page, but without them the man command
4017+# would be unable to find the correct page. The default is NO.
4018+
4019+MAN_LINKS = NO
4020+
4021+#---------------------------------------------------------------------------
4022+# configuration options related to the XML output
4023+#---------------------------------------------------------------------------
4024+
4025+# If the GENERATE_XML tag is set to YES Doxygen will
4026+# generate an XML file that captures the structure of
4027+# the code including all documentation.
4028+
4029+GENERATE_XML = NO
4030+
4031+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
4032+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
4033+# put in front of it. If left blank `xml' will be used as the default path.
4034+
4035+XML_OUTPUT = xml
4036+
4037+# The XML_SCHEMA tag can be used to specify an XML schema,
4038+# which can be used by a validating XML parser to check the
4039+# syntax of the XML files.
4040+
4041+XML_SCHEMA =
4042+
4043+# The XML_DTD tag can be used to specify an XML DTD,
4044+# which can be used by a validating XML parser to check the
4045+# syntax of the XML files.
4046+
4047+XML_DTD =
4048+
4049+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
4050+# dump the program listings (including syntax highlighting
4051+# and cross-referencing information) to the XML output. Note that
4052+# enabling this will significantly increase the size of the XML output.
4053+
4054+XML_PROGRAMLISTING = YES
4055+
4056+#---------------------------------------------------------------------------
4057+# configuration options for the AutoGen Definitions output
4058+#---------------------------------------------------------------------------
4059+
4060+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
4061+# generate an AutoGen Definitions (see autogen.sf.net) file
4062+# that captures the structure of the code including all
4063+# documentation. Note that this feature is still experimental
4064+# and incomplete at the moment.
4065+
4066+GENERATE_AUTOGEN_DEF = NO
4067+
4068+#---------------------------------------------------------------------------
4069+# configuration options related to the Perl module output
4070+#---------------------------------------------------------------------------
4071+
4072+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
4073+# generate a Perl module file that captures the structure of
4074+# the code including all documentation. Note that this
4075+# feature is still experimental and incomplete at the
4076+# moment.
4077+
4078+GENERATE_PERLMOD = NO
4079+
4080+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
4081+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
4082+# to generate PDF and DVI output from the Perl module output.
4083+
4084+PERLMOD_LATEX = NO
4085+
4086+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
4087+# nicely formatted so it can be parsed by a human reader.
4088+# This is useful
4089+# if you want to understand what is going on.
4090+# On the other hand, if this
4091+# tag is set to NO the size of the Perl module output will be much smaller
4092+# and Perl will parse it just the same.
4093+
4094+PERLMOD_PRETTY = YES
4095+
4096+# The names of the make variables in the generated doxyrules.make file
4097+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
4098+# This is useful so different doxyrules.make files included by the same
4099+# Makefile don't overwrite each other's variables.
4100+
4101+PERLMOD_MAKEVAR_PREFIX =
4102+
4103+#---------------------------------------------------------------------------
4104+# Configuration options related to the preprocessor
4105+#---------------------------------------------------------------------------
4106+
4107+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
4108+# evaluate all C-preprocessor directives found in the sources and include
4109+# files.
4110+
4111+ENABLE_PREPROCESSING = YES
4112+
4113+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
4114+# names in the source code. If set to NO (the default) only conditional
4115+# compilation will be performed. Macro expansion can be done in a controlled
4116+# way by setting EXPAND_ONLY_PREDEF to YES.
4117+
4118+MACRO_EXPANSION = NO
4119+
4120+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
4121+# then the macro expansion is limited to the macros specified with the
4122+# PREDEFINED and EXPAND_AS_DEFINED tags.
4123+
4124+EXPAND_ONLY_PREDEF = NO
4125+
4126+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
4127+# in the INCLUDE_PATH (see below) will be search if a #include is found.
4128+
4129+SEARCH_INCLUDES = YES
4130+
4131+# The INCLUDE_PATH tag can be used to specify one or more directories that
4132+# contain include files that are not input files but should be processed by
4133+# the preprocessor.
4134+
4135+INCLUDE_PATH =
4136+
4137+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
4138+# patterns (like *.h and *.hpp) to filter out the header-files in the
4139+# directories. If left blank, the patterns specified with FILE_PATTERNS will
4140+# be used.
4141+
4142+INCLUDE_FILE_PATTERNS =
4143+
4144+# The PREDEFINED tag can be used to specify one or more macro names that
4145+# are defined before the preprocessor is started (similar to the -D option of
4146+# gcc). The argument of the tag is a list of macros of the form: name
4147+# or name=definition (no spaces). If the definition and the = are
4148+# omitted =1 is assumed. To prevent a macro definition from being
4149+# undefined via #undef or recursively expanded use the := operator
4150+# instead of the = operator.
4151+
4152+PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
4153+
4154+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
4155+# this tag can be used to specify a list of macro names that should be expanded.
4156+# The macro definition that is found in the sources will be used.
4157+# Use the PREDEFINED tag if you want to use a different macro definition.
4158+
4159+EXPAND_AS_DEFINED =
4160+
4161+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
4162+# doxygen's preprocessor will remove all function-like macros that are alone
4163+# on a line, have an all uppercase name, and do not end with a semicolon. Such
4164+# function macros are typically used for boiler-plate code, and will confuse
4165+# the parser if not removed.
4166+
4167+SKIP_FUNCTION_MACROS = YES
4168+
4169+#---------------------------------------------------------------------------
4170+# Configuration::additions related to external references
4171+#---------------------------------------------------------------------------
4172+
4173+# The TAGFILES option can be used to specify one or more tagfiles.
4174+# Optionally an initial location of the external documentation
4175+# can be added for each tagfile. The format of a tag file without
4176+# this location is as follows:
4177+#
4178+# TAGFILES = file1 file2 ...
4179+# Adding location for the tag files is done as follows:
4180+#
4181+# TAGFILES = file1=loc1 "file2 = loc2" ...
4182+# where "loc1" and "loc2" can be relative or absolute paths or
4183+# URLs. If a location is present for each tag, the installdox tool
4184+# does not have to be run to correct the links.
4185+# Note that each tag file must have a unique name
4186+# (where the name does NOT include the path)
4187+# If a tag file is not located in the directory in which doxygen
4188+# is run, you must also specify the path to the tagfile here.
4189+
4190+TAGFILES =
4191+
4192+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
4193+# a tag file that is based on the input files it reads.
4194+
4195+GENERATE_TAGFILE =
4196+
4197+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
4198+# in the class index. If set to NO only the inherited external classes
4199+# will be listed.
4200+
4201+ALLEXTERNALS = NO
4202+
4203+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
4204+# in the modules index. If set to NO, only the current project's groups will
4205+# be listed.
4206+
4207+EXTERNAL_GROUPS = YES
4208+
4209+# The PERL_PATH should be the absolute path and name of the perl script
4210+# interpreter (i.e. the result of `which perl').
4211+
4212+PERL_PATH = /usr/bin/perl
4213+
4214+#---------------------------------------------------------------------------
4215+# Configuration options related to the dot tool
4216+#---------------------------------------------------------------------------
4217+
4218+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
4219+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
4220+# or super classes. Setting the tag to NO turns the diagrams off. Note that
4221+# this option is superseded by the HAVE_DOT option below. This is only a
4222+# fallback. It is recommended to install and use dot, since it yields more
4223+# powerful graphs.
4224+
4225+CLASS_DIAGRAMS = NO
4226+
4227+# You can define message sequence charts within doxygen comments using the \msc
4228+# command. Doxygen will then run the mscgen tool (see
4229+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
4230+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
4231+# the mscgen tool resides. If left empty the tool is assumed to be found in the
4232+# default search path.
4233+
4234+MSCGEN_PATH =
4235+
4236+# If set to YES, the inheritance and collaboration graphs will hide
4237+# inheritance and usage relations if the target is undocumented
4238+# or is not a class.
4239+
4240+HIDE_UNDOC_RELATIONS = YES
4241+
4242+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
4243+# available from the path. This tool is part of Graphviz, a graph visualization
4244+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
4245+# have no effect if this option is set to NO (the default)
4246+
4247+HAVE_DOT = NO
4248+
4249+# By default doxygen will write a font called FreeSans.ttf to the output
4250+# directory and reference it in all dot files that doxygen generates. This
4251+# font does not include all possible unicode characters however, so when you need
4252+# these (or just want a differently looking font) you can specify the font name
4253+# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
4254+# which can be done by putting it in a standard location or by setting the
4255+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
4256+# containing the font.
4257+
4258+DOT_FONTNAME = FreeSans
4259+
4260+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
4261+# The default size is 10pt.
4262+
4263+DOT_FONTSIZE = 10
4264+
4265+# By default doxygen will tell dot to use the output directory to look for the
4266+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
4267+# different font using DOT_FONTNAME you can set the path where dot
4268+# can find it using this tag.
4269+
4270+DOT_FONTPATH =
4271+
4272+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
4273+# will generate a graph for each documented class showing the direct and
4274+# indirect inheritance relations. Setting this tag to YES will force the
4275+# the CLASS_DIAGRAMS tag to NO.
4276+
4277+CLASS_GRAPH = YES
4278+
4279+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
4280+# will generate a graph for each documented class showing the direct and
4281+# indirect implementation dependencies (inheritance, containment, and
4282+# class references variables) of the class with other documented classes.
4283+
4284+COLLABORATION_GRAPH = YES
4285+
4286+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
4287+# will generate a graph for groups, showing the direct groups dependencies
4288+
4289+GROUP_GRAPHS = YES
4290+
4291+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
4292+# collaboration diagrams in a style similar to the OMG's Unified Modeling
4293+# Language.
4294+
4295+UML_LOOK = NO
4296+
4297+# If set to YES, the inheritance and collaboration graphs will show the
4298+# relations between templates and their instances.
4299+
4300+TEMPLATE_RELATIONS = NO
4301+
4302+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
4303+# tags are set to YES then doxygen will generate a graph for each documented
4304+# file showing the direct and indirect include dependencies of the file with
4305+# other documented files.
4306+
4307+INCLUDE_GRAPH = NO
4308+
4309+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
4310+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
4311+# documented header file showing the documented files that directly or
4312+# indirectly include this file.
4313+
4314+INCLUDED_BY_GRAPH = YES
4315+
4316+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
4317+# doxygen will generate a call dependency graph for every global function
4318+# or class method. Note that enabling this option will significantly increase
4319+# the time of a run. So in most cases it will be better to enable call graphs
4320+# for selected functions only using the \callgraph command.
4321+
4322+CALL_GRAPH = NO
4323+
4324+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
4325+# doxygen will generate a caller dependency graph for every global function
4326+# or class method. Note that enabling this option will significantly increase
4327+# the time of a run. So in most cases it will be better to enable caller
4328+# graphs for selected functions only using the \callergraph command.
4329+
4330+CALLER_GRAPH = NO
4331+
4332+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
4333+# will graphical hierarchy of all classes instead of a textual one.
4334+
4335+GRAPHICAL_HIERARCHY = YES
4336+
4337+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
4338+# then doxygen will show the dependencies a directory has on other directories
4339+# in a graphical way. The dependency relations are determined by the #include
4340+# relations between the files in the directories.
4341+
4342+DIRECTORY_GRAPH = YES
4343+
4344+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
4345+# generated by dot. Possible values are png, jpg, or gif
4346+# If left blank png will be used.
4347+
4348+DOT_IMAGE_FORMAT = png
4349+
4350+# The tag DOT_PATH can be used to specify the path where the dot tool can be
4351+# found. If left blank, it is assumed the dot tool can be found in the path.
4352+
4353+DOT_PATH =
4354+
4355+# The DOTFILE_DIRS tag can be used to specify one or more directories that
4356+# contain dot files that are included in the documentation (see the
4357+# \dotfile command).
4358+
4359+DOTFILE_DIRS =
4360+
4361+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
4362+# nodes that will be shown in the graph. If the number of nodes in a graph
4363+# becomes larger than this value, doxygen will truncate the graph, which is
4364+# visualized by representing a node as a red box. Note that doxygen if the
4365+# number of direct children of the root node in a graph is already larger than
4366+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
4367+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
4368+
4369+DOT_GRAPH_MAX_NODES = 50
4370+
4371+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
4372+# graphs generated by dot. A depth value of 3 means that only nodes reachable
4373+# from the root by following a path via at most 3 edges will be shown. Nodes
4374+# that lay further from the root node will be omitted. Note that setting this
4375+# option to 1 or 2 may greatly reduce the computation time needed for large
4376+# code bases. Also note that the size of a graph can be further restricted by
4377+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
4378+
4379+MAX_DOT_GRAPH_DEPTH = 0
4380+
4381+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
4382+# background. This is disabled by default, because dot on Windows does not
4383+# seem to support this out of the box. Warning: Depending on the platform used,
4384+# enabling this option may lead to badly anti-aliased labels on the edges of
4385+# a graph (i.e. they become hard to read).
4386+
4387+DOT_TRANSPARENT = NO
4388+
4389+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
4390+# files in one run (i.e. multiple -o and -T options on the command line). This
4391+# makes dot run faster, but since only newer versions of dot (>1.8.10)
4392+# support this, this feature is disabled by default.
4393+
4394+DOT_MULTI_TARGETS = YES
4395+
4396+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
4397+# generate a legend page explaining the meaning of the various boxes and
4398+# arrows in the dot generated graphs.
4399+
4400+GENERATE_LEGEND = YES
4401+
4402+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
4403+# remove the intermediate dot files that are used to generate
4404+# the various graphs.
4405+
4406+DOT_CLEANUP = YES
4407
4408=== added file 'INSTALL'
4409--- INSTALL 1970-01-01 00:00:00 +0000
4410+++ INSTALL 2011-04-06 13:26:57 +0000
4411@@ -0,0 +1,18 @@
4412+compiz uses libstartup-notification which is available at
4413+ftp://ftp.gnome.org/pub/GNOME/sources/startup-notification/
4414+
4415+compiz uses out-of-tree builds with cmake, in order to generate the Makefiles for compiz use:
4416+
4417+ $ mkdir build
4418+ $ cd build
4419+ $ cmake ..
4420+
4421+After that, standard build procedures apply:
4422+
4423+ $ make
4424+ # make install
4425+
4426+In order to build other plugins, you will need to install the compiz cmake set
4427+
4428+ # make findcompiz_install
4429+
4430
4431=== added file 'NEWS'
4432--- NEWS 1970-01-01 00:00:00 +0000
4433+++ NEWS 2011-04-06 13:26:57 +0000
4434@@ -0,0 +1,498 @@
4435+Release 0.9.4 (2010-02-24 Sam Spilsbury <sam.spilsbury@canonical.com>)
4436+========================================================================
4437+Development Release.
4438+
4439+Main loop implementation now replaced by the GLib main loop, use custom
4440+event sources and event dispatch synchronisation. Allows better integration
4441+with plugins that require tight timing with GLib timers
4442+
4443+Moved image and data generation into buildsystem extensions, and installation
4444+of such data into namespaced areas on the filesystem so plugins can't
4445+overwrite other plugin's data
4446+
4447+Intelligently clip window shadows in decor
4448+
4449+Fixed a number of 2D decoration issues
4450+
4451+Fixed a number of reparenting, stacking and focus issues
4452+
4453+Support different frame types in gtk-window-decorator
4454+
4455+
4456+Release 0.9.2.1 (2010-11-06 Sam Spilsbury <sam.spilsbury@canonical.com>)
4457+========================================================================
4458+Bugfix release.
4459+
4460+
4461+Release 0.9.2 (2010-10-24 Sam Spilsbury <smspillaz@gmail.com>)
4462+==============================================================
4463+Development release.
4464+
4465+Made minimization functions wrappable
4466+
4467+Decorators now get shadow settings from window properties on the root
4468+window and not through gconf, kconfig or dbus
4469+
4470+Allow resizing from the center of the window
4471+
4472+Clean up gtk-window-decorator
4473+
4474+Fixed a number of reparenting bugs
4475+
4476+Release 0.9.0 (2010-07-03 Sam Spilsbury <smspillaz@gmail.com>)
4477+==============================================================
4478+Development release.
4479+
4480+Rewritten core in C++.
4481+
4482+Rewritten plugin APIs.
4483+
4484+Rewritten buildsystem in CMake, supports option code autogeneration,
4485+plugin build dependency handling, amongst other things.
4486+
4487+Smart wrappable functions, enables saving on otherwise useless CPU cycles.
4488+
4489+Reparenting window decorations.
4490+
4491+Support for tiled textures and screen sizes larger than max_texture_size
4492+through the use of the copytex plugin.
4493+
4494+Composite and OpenGL based rendering dropped from core, split into the
4495+opengl and composite plugins, which represent a step towards pluggable
4496+rendering backends.
4497+
4498+Ability to run in non composited mode added to gtk-window-decorator
4499+and kde4-window-decorator.
4500+
4501+kde-window-decorator dropped.
4502+
4503+Added KDE plugin to integrate with the QT main loop and create a KApplication
4504+for KCrash support on KDE.
4505+
4506+dbus plugin now uses screen number to identify compiz instance.
4507+
4508+Dropped multi-screen mode, launch compiz on individual screens instead.
4509+
4510+Shape drawing mode added to annotate plugin.
4511+
4512+Fixed screen updates issue in annotate plugin.
4513+
4514+Added serialization interface, which allows plugins to save/restore activity
4515+states between plugin and compiz reloads. Serialization info is stored in
4516+X11 window properties and is automatically dropped by the X Server when
4517+the window is destroyed.
4518+
4519+Added compiztoolbox library plugin used by switchers and screenshot, which
4520+provide a simple interface for accessing XDG and drawing thumbnails.
4521+
4522+Release 0.8.6 (2010-03-28 Danny Baumann <dannybaumann@web.de>)
4523+==============================================================
4524+Maintenance release.
4525+
4526+Various focus and window placement fixes.
4527+
4528+Fixed handling of windows that have a (server-drawn) border.
4529+
4530+Fixed handling of window icons that have a colour depth of 1 bit.
4531+
4532+Added KDE 4.4 support to KDE4 window decorator.
4533+
4534+Release 0.8.4 (2009-10-14 Erkin Bahceci <erkinbah@gmail.com>)
4535+=============================================================
4536+Maintenance release.
4537+
4538+Fixed many crashes (including doPoll/eventLoop ones).
4539+
4540+Various memory leak fixes.
4541+
4542+Fixed lost window issues with windows that are visible on all workspaces.
4543+
4544+Fixed lost window issue when reducing the number of workspaces.
4545+
4546+Fixed placing of dialogs (e.g. PolicyKit) behind currently focused window.
4547+
4548+Fixed placing of new windows behind fullscreen window.
4549+
4550+Fixed and improved screen resolution change handling (Compiz now remembers
4551+original window size and position).
4552+
4553+Lowering a window now activates the topmost window when click-to-focus is on.
4554+
4555+Fixed wobbly title bar hiding and bouncing near panel edges.
4556+
4557+Screenshot plugin now saves to the correct desktop directory by default.
4558+
4559+Fixed inconsistent icon sizes in switcher plugin.
4560+
4561+Improved constraining of window size and position in move, resize, and wobbly.
4562+
4563+Ported KDE4 window decorator to KDE 4.3.
4564+
4565+Added support for _NET_REQUEST_FRAME_EXTENTS and _NET_SUPPORT_FULL_PLACEMENT
4566+EWMH hints.
4567+
4568+Release 0.8.2 (2009-03-01 Danny Baumann <dannybaumann@web.de>)
4569+==============================================================
4570+Maintenance release.
4571+
4572+Fixed issue in strut handling that could lead to struts being ignored
4573+for certain monitor configurations.
4574+
4575+Fixed window position constraining logic.
4576+
4577+Fixed kconfig xslt files missing from 0.8.0 tarball.
4578+
4579+Release 0.8.0 (2009-02-20 Danny Baumann <dannybaumann@web.de>)
4580+==============================================================
4581+Fourth stable release of compiz.
4582+
4583+New plugin "commands" that handles the bindings for arbitrary commands that
4584+previously were handled in core. In addition to the previously present key
4585+bindings button and edge bindings were added as well.
4586+
4587+New plugin "gnomecompat" which handles bindings that are exclusively used
4588+in the Gnome desktop environment and removed the corresponding bindings
4589+from core. This change fixes main menu and run dialog bindings for KDE users
4590+as those previously were conflicting between compiz and KDE. Gnome users
4591+upgrading should make sure to enable this plugin.
4592+
4593+Added support for _NET_WM_FULLSCREEN_MONITORS EWMH hint.
4594+
4595+Added support for reading the icon hint from the WM_HINTS property if
4596+_NET_WM_ICON is not available.
4597+
4598+Update Gnome support for Gnome 2.24.
4599+
4600+Added options to scale plugin that allow "toggle type" behaviour for
4601+key and button bindings.
4602+
4603+Several memory leak fixes.
4604+
4605+Adjusted gtk-window-decorator for newer libmetacity-private versions.
4606+
4607+Fixed gtk-window-decorator display for RTL languages.
4608+
4609+Adjusted kde4-window-decorator for KDE 4.2 API.
4610+
4611+Large number of minor bug fixes, especially in resize handling and
4612+stacking code.
4613+
4614+Translation updates
4615+
4616+Release 0.7.8 (2008-09-17 Danny Baumann <dannybaumann@web.de>)
4617+==============================================================
4618+Development release.
4619+
4620+New plugin "obs" that handles opacity, brightness and saturation bindings
4621+and matches.
4622+
4623+Put unresponsive window greyout, including options to configure it, to
4624+fade plugin.
4625+
4626+Add "constant fade time" fade mode to fade plugin.
4627+
4628+Removed opacity bindings and matches from core. Users that entered opacity
4629+matches should enable the obs plugin and enter the matches there.
4630+
4631+Enhanced timer infrastructure to allow synchronization of execution of
4632+multiple timer callbacks.
4633+
4634+Added matching for window's alpha channel (match type rgba=[0|1]).
4635+
4636+Reflect new Metacity "spacer" button type in gtk-window-decorator.
4637+
4638+Various bugfixes.
4639+
4640+Translation updates.
4641+
4642+Release 0.7.6 (2008-05-29 Dennis Kasprzyk <onestone@opencompositing.org>)
4643+=========================================================================
4644+Development release.
4645+
4646+Rewrite of place plugin, which significantly improves multi-output
4647+behaviour.
4648+
4649+Configurable multi-output behaviour in place.
4650+
4651+Removed plane plugin. Former plane plugin users are encouraged to use
4652+the wall plugin of Compiz Fusion.
4653+
4654+Removed cube wallpaper painting. Users are encouraged to use the Compiz
4655+Fusion wallpaper plugin instead.
4656+
4657+Place plugin viewport placement viewport numbers are now 1-based.
4658+
4659+Panel and desktop selection mode in switcher plugin.
4660+
4661+Improved painting behaviour when using overlapping outputs.
4662+
4663+Gtk-window-decorator now emits accessibility events when switching.
4664+
4665+Gtk-window-decorator behaviour when using Metacity themes has been
4666+improved to match Metacity better.
4667+
4668+KDE4-window-decorator has been adapted to current KDE4 API.
4669+
4670+Various bugfixes.
4671+
4672+Release 0.7.4 (2008-03-04 Dennis Kasprzyk <onestone@opencompositing.org>)
4673+=========================================================================
4674+Development release.
4675+
4676+Configurable handling of overlapping output devices.
4677+
4678+Enhanced focus stealing prevention with configurable amount of focus
4679+stealing prevention.
4680+
4681+Added configurable, optional delay for edge actions to prevent
4682+accidential invocation.
4683+
4684+Generalized vertex system to improve plugin compatibility.
4685+
4686+Optimized gaussian blur shaders to support more hardware.
4687+
4688+Improved unredirection of fullscreen windows.
4689+
4690+Several bugfixes.
4691+
4692+Translation updates.
4693+
4694+Release 0.7.2 (2008-03-06 Dennis Kasprzyk <onestone@opencompositing.org>)
4695+=========================================================================
4696+Development release.
4697+
4698+Several bugfixes
4699+
4700+Translation support in gtk-window-decorator.
4701+
4702+Updated translations.
4703+
4704+Added wrapable session functions to core. This allows to provide a full session save/restore in a plugin.
4705+
4706+Release 0.7.0 (2008-02-07 Dennis Kasprzyk <onestone@opencompositing.org>)
4707+=========================================================================
4708+Development release.
4709+
4710+A core plugin has been added that allows handling certain core APIs, such as
4711+querying the ABI version, similarly to plugin APIs, allowing sharing more
4712+code.
4713+
4714+Added a simple object system, which generalize the privates mechanism and the plugin system. It allows to share more code between display, screen and window objects. It also makes it possible to properly introduce new object types without changing the plugin interface or breaking the API.
4715+
4716+Multi-display support.
4717+
4718+Various fixes in ICCCM compliance, window stacking and focus handling.
4719+
4720+Validity checking of ConfigureRequest events.
4721+
4722+Fixes to transient children placement in place plugin.
4723+
4724+Hooks have been added to the cube plugin which allow better control of
4725+viewport drawing.
4726+
4727+Middle and right click actions have been made configurable in
4728+gtk-window-decorator.
4729+
4730+Gtk-window-decorator now optionally allows mouse wheel title bar actions, such
4731+as shading.
4732+
4733+A KDE4 port of the kde-window-decorator has been added.
4734+
4735+Frequent crashes of kde-window-decorator for some people have been fixed.
4736+
4737+
4738+Release 0.5.4 (2007-08-20 David Reveman <davidr@novell.com>)
4739+============================================================
4740+Development release.
4741+
4742+XCB is now required.
4743+
4744+Major improvements to option system that makes
4745+configuration backend integration much less complex.
4746+
4747+Kconfig plugin that provides proper KDE configuration
4748+support.
4749+
4750+Kcfg files are generated from the meta-data and they can
4751+be used to generate C++ source code that will provide an
4752+API for applications to access all compiz configuration
4753+data used by the kconfig plugin.
4754+
4755+
4756+Release 0.5.2 (2007-08-03 David Reveman <davidr@novell.com>)
4757+============================================================
4758+Development release.
4759+
4760+Better support for multiple X-screens.
4761+
4762+XML-based meta-data system for handling of various kinds
4763+for meta-data like plugin descriptions, default option
4764+values, etc.
4765+
4766+Major improvements to option initialization based on the
4767+new meta-data system.
4768+
4769+Logging framework.
4770+
4771+Support for configurable button layout in metacity themes
4772+has been added to gtk-window-decorator.
4773+
4774+Glib plugin that allows plugins that use the glib main
4775+loop to integrate properly with the compiz main loop
4776+without waking up periodically to check for pending
4777+events.
4778+
4779+Plugin plugins that make it possible to adjust and extend
4780+the behavior of existing plugins through new plugins.
4781+
4782+More dynamic handling of output devices, which allows the
4783+output device configuration used when rendering to be
4784+changed between frames.
4785+
4786+Transparency support in cube plugin.
4787+
4788+Introspection support in dbus plugin.
4789+
4790+
4791+Release 0.5.0 (2007-04-02 David Reveman <davidr@novell.com>)
4792+============================================================
4793+Development release.
4794+
4795+Remove stencil buffer requirement.
4796+
4797+Focus stealing prevention support.
4798+
4799+Blur plugin that provide support for blurring windows and
4800+contents behind translucent windows.
4801+
4802+Fragment attribute interface that allow plugins
4803+to perform more advanced fragment shading effects and
4804+integrate properly with other plugins.
4805+
4806+Extensible window matching interface and new option type
4807+that provide advanced window selection functionality.
4808+
4809+Plugin that provide a composited video interface for
4810+efficient video playback.
4811+
4812+FUSE plugin that maps compiz options to a file-system and
4813+allow efficient manipulation of options by reading and
4814+writing files.
4815+
4816+Better occlusion detection and more efficient rendering.
4817+
4818+Flat file configuration backend.
4819+
4820+
4821+Release 0.3.6 (2006-12-31 David Reveman <davidr@novell.com>)
4822+============================================================
4823+Development release.
4824+
4825+Add support for unredirect of fullscreen windows when using
4826+the composite overlay window and make usage of the
4827+composite overlay window for output default.
4828+
4829+Add file notification API.
4830+
4831+Add inotify plugin that implements file notification API.
4832+
4833+A "GetPlugins" method has been added to dbus plugin
4834+and it can be used to retrieve a list of available plugins.
4835+
4836+A 'GetPluginMetadata' method has been added to dbus plugin
4837+and it returns metadata for available plugins.
4838+
4839+Add support for switching between windows without having
4840+the thumbnail window show up.
4841+
4842+Switcher thumbnails now include decorations and shadows.
4843+
4844+Basic drag and drop support has been added to scale plugin.
4845+
4846+It's now possible to initiate scale plugin for specific window
4847+groups.
4848+
4849+Window menu icon support has been added to gtk window decorator.
4850+
4851+Improved support for metacity themes.
4852+
4853+Add KDE window decorator with support for shadows and opacity
4854+has been added.
4855+
4856+
4857+Release 0.3.4 (2006-11-21 David Reveman <davidr@novell.com>)
4858+============================================================
4859+Development release.
4860+
4861+Edge button, which can be used to require a button press
4862+for edge actions to be triggered.
4863+
4864+Basic compiz event support.
4865+
4866+Zoom plugin now works without "largedesktop" feature.
4867+
4868+Cube plugin now handles desktop width less than 4 times
4869+the screen better.
4870+
4871+Support for multiple desktops (workspaces).
4872+
4873+Handling of _NET_DESKTOP_GEOMETRY client messages has
4874+been fixed.
4875+
4876+Much better multi-head support.
4877+
4878+Annotate plugin has been added.
4879+
4880+Clone plugin which can be used to clone outputs in a
4881+convenient way has been added. Currently more of a
4882+prototype as we need randr++ and input transformation
4883+in the server to do this properly.
4884+
4885+Shadow color option has been added.
4886+
4887+initiate_all option has been added to scale plugin.
4888+
4889+Zoom factor option has been added to zoom plugin.
4890+
4891+Support for new metacity theme version and support for
4892+metacity versions < 2.15.21.
4893+
4894+Event window placement when using some metacity
4895+themes has been fixed.
4896+
4897+Fix a number of issues related to minimizing windows
4898+with transients.
4899+
4900+
4901+Release 0.3.2 (2006-10-20 David Reveman <davidr@novell.com>)
4902+============================================================
4903+Development release.
4904+
4905+snap_inverted option has been added to wobbly plugin.
4906+
4907+Configuration support has been added to dbus plugin.
4908+
4909+Add 'command' option has been added to decoration plugin,
4910+which can be used to automatically launch a decorator
4911+when one isn't already running.
4912+
4913+Opacity support for metacity themes.
4914+
4915+A raise_window option has been added.
4916+
4917+Decorations on maximized windows are now rendered
4918+correctly when using metacity themes.
4919+
4920+An ignore_hints_when_maximized option, which makes compiz
4921+ignore size increment and aspect hints for maximized
4922+windows has been added and made default.
4923+
4924+Better default option values for rotate plugin.
4925+
4926+and much more...
4927+
4928+
4929+Release 0.2.0 (2006-10-02 David Reveman <davidr@novell.com>)
4930+============================================================
4931+First official release of compiz.
4932+
4933
4934=== added file 'README'
4935--- README 1970-01-01 00:00:00 +0000
4936+++ README 2011-04-06 13:26:57 +0000
4937@@ -0,0 +1,8 @@
4938+compiz - OpenGL window and compositing manager
4939+
4940+Compiz is an OpenGL compositing manager that use GLX_EXT_texture_from_pixmap
4941+for binding redirected top-level windows to texture objects. It has a flexible
4942+plug-in system and it is designed to run well on most graphics hardware.
4943+
4944+David Reveman
4945+davidr@novell.com
4946
4947=== added file 'RELEASING'
4948--- RELEASING 1970-01-01 00:00:00 +0000
4949+++ RELEASING 2011-04-06 13:26:57 +0000
4950@@ -0,0 +1,75 @@
4951+Here are the steps to follow to create a new compiz release:
4952+
4953+1) Ensure that there are no local, uncommitted modifications.
4954+ It's probably good enough if "git diff HEAD" doesn't output
4955+ anything and your "master" and "origin" branches are at the
4956+ current revision.
4957+
4958+2) Verify that the code passes "make distcheck"
4959+
4960+ Running "make distcheck" should result in no warnings or
4961+ errors and end with a message of the form:
4962+
4963+ ==============================================
4964+ compiz-X.Y.Z archives ready for distribution:
4965+ compiz-X.Y.Z.tar.gz
4966+ ==============================================
4967+
4968+ (But the tar file isn't actually ready yet, as we still have
4969+ some more steps to follow).
4970+
4971+3) Fill out an entry in the NEWS file
4972+
4973+ Shift through the logs since the last release. This is most
4974+ easily done with a comand such as:
4975+
4976+ git log --stat compiz-X.Y.Z..
4977+
4978+ where X.Y.Z is the previous release version.
4979+
4980+ Summarize major changes briefly in a style similar to other
4981+ entries in NEWS.
4982+
4983+4) Increment version number in configure.ac:
4984+
4985+ Increment to the micro version number to the next larger
4986+ (even) number.
4987+
4988+5) Commit the changes to NEWS and configure.ac
4989+
4990+ It's especially important to mention the new version number in your
4991+ commit log.
4992+
4993+6) Run "make release-publish" which will perform the following steps
4994+ for you:
4995+
4996+ * Check that the version number ends with an even micro component
4997+ * Check that no release exists with the current version
4998+ * Verify that make distcheck completes successfully
4999+ * Generate the final tar file
5000+ * Generate an sha1sum file
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: