Merge lp:~lievenvanderheide/compiz/PixmapLeakFix into lp:~compiz/compiz/ubuntu

Proposed by Lieven van der Heide
Status: Rejected
Rejected by: Sam Spilsbury
Proposed branch: lp:~lievenvanderheide/compiz/PixmapLeakFix
Merge into: lp:~compiz/compiz/ubuntu
Diff against target: 338764 lines (+336123/-0) (has conflicts)
497 files modified
.gitignore (+1/-0)
.pc/.version (+1/-0)
.pc/01_don_t_init_a11y.patch/src/main.cpp (+300/-0)
.pc/applied-patches (+2/-0)
AUTHORS (+29/-0)
CMakeLists.txt (+135/-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)
VERSION (+1/-0)
cmake/CMakeLists.txt (+32/-0)
cmake/CompizBcop.cmake (+41/-0)
cmake/CompizCommon.cmake (+541/-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 (+451/-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)
debian/65compiz_profile-on-session (+9/-0)
debian/changelog (+1568/-0)
debian/compat (+1/-0)
debian/compiz-core.README.Debian (+36/-0)
debian/compiz-core.docs (+4/-0)
debian/compiz-core.install (+8/-0)
debian/compiz-core.manpages (+2/-0)
debian/compiz-decorator (+97/-0)
debian/compiz-decorator.1 (+15/-0)
debian/compiz-dev.docs (+4/-0)
debian/compiz-dev.install (+5/-0)
debian/compiz-gnome.docs (+4/-0)
debian/compiz-gnome.gconf-defaults (+9/-0)
debian/compiz-gnome.install (+5/-0)
debian/compiz-gnome.manpages (+1/-0)
debian/compiz-kde.docs (+4/-0)
debian/compiz-kde.install (+3/-0)
debian/compiz-kde.manpages (+1/-0)
debian/compiz-keybindings.sed (+4/-0)
debian/compiz-plugins-default.install (+15/-0)
debian/compiz-plugins.docs (+4/-0)
debian/compiz-plugins.install (+17/-0)
debian/compiz.1 (+64/-0)
debian/control (+168/-0)
debian/copyright (+131/-0)
debian/gbp.conf (+8/-0)
debian/gtk-window-decorator.1 (+30/-0)
debian/kde4-window-decorator.1 (+40/-0)
debian/libdecoration0-dev.docs (+4/-0)
debian/libdecoration0-dev.install (+3/-0)
debian/libdecoration0.docs (+4/-0)
debian/libdecoration0.install (+1/-0)
debian/libdecoration0.symbols (+31/-0)
debian/patches/01_don_t_init_a11y.patch (+17/-0)
debian/patches/debian-changes-1:0.9.5.0-0ubuntu3 (+2418/-0)
debian/patches/series (+2/-0)
debian/rules (+42/-0)
debian/source/format (+1/-0)
debian/source_compiz.py (+34/-0)
debian/unity.ini (+3/-0)
debian/watch (+3/-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 (+91/-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 (+133/-0)
gtk/window-decorator/blurprops.c (+89/-0)
gtk/window-decorator/cairo.c (+912/-0)
gtk/window-decorator/decorator.c (+1436/-0)
gtk/window-decorator/decorprops.c (+175/-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 (+467/-0)
gtk/window-decorator/gtk-window-decorator.h (+1151/-0)
gtk/window-decorator/gwd.schemas.in (+81/-0)
gtk/window-decorator/metacity.c (+1638/-0)
gtk/window-decorator/settings.c (+546/-0)
gtk/window-decorator/style.c (+66/-0)
gtk/window-decorator/switcher.c (+512/-0)
gtk/window-decorator/tooltip.c (+205/-0)
gtk/window-decorator/util.c (+299/-0)
gtk/window-decorator/wnck.c (+708/-0)
images/CMakeLists.txt (+9/-0)
include/CMakeLists.txt (+11/-0)
include/compiz-common.h.in (+5/-0)
include/compiz.h (+103/-0)
include/core/CMakeLists.txt (+33/-0)
include/core/action.h (+178/-0)
include/core/atoms.h (+162/-0)
include/core/core.h (+89/-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 (+322/-0)
include/core/pluginclasses.h (+70/-0)
include/core/pluginclasshandler.h (+207/-0)
include/core/point.h (+110/-0)
include/core/privateunion.h (+36/-0)
include/core/propertywriter.h (+54/-0)
include/core/rect.h (+227/-0)
include/core/region.h (+191/-0)
include/core/screen.h (+484/-0)
include/core/serialization.h (+158/-0)
include/core/session.h (+53/-0)
include/core/size.h (+69/-0)
include/core/timeouthandler.h (+57/-0)
include/core/timer.h (+126/-0)
include/core/valueholder.h (+53/-0)
include/core/window.h (+570/-0)
include/core/wrapsystem.h (+184/-0)
include/decoration.h (+483/-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 (+948/-0)
kde/window-decorator-kde4/decorator.h (+185/-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 (+335/-0)
kde/window-decorator-kde4/switcher.h (+88/-0)
kde/window-decorator-kde4/utils.cpp (+247/-0)
kde/window-decorator-kde4/utils.h (+75/-0)
kde/window-decorator-kde4/window.cpp (+2036/-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 (+3071/-0)
libdecoration/libdecoration.pc.in (+12/-0)
metadata/CMakeLists.txt (+52/-0)
metadata/core.xml.in (+268/-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/bailer/CMakeLists.txt (+5/-0)
plugins/bailer/bailer.xml.in (+82/-0)
plugins/bailer/src/bailer.cpp (+277/-0)
plugins/bailer/src/bailer.h (+86/-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 (+418/-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 (+351/-0)
plugins/copytex/src/copytex.h (+125/-0)
plugins/cube/CMakeLists.txt (+5/-0)
plugins/cube/compiz-cube.pc.in (+12/-0)
plugins/cube/cube.xml.in (+168/-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 (+2047/-0)
plugins/dbus/src/dbus.h (+185/-0)
plugins/debugspew/CMakeLists.txt (+5/-0)
plugins/debugspew/debugspew.xml.in (+24/-0)
plugins/debugspew/src/debugspew.cpp (+637/-0)
plugins/debugspew/src/debugspew.h (+55/-0)
plugins/decor/CMakeLists.txt (+14/-0)
plugins/decor/decor.xml.in (+76/-0)
plugins/decor/src/decor.cpp (+2377/-0)
plugins/decor/src/decor.h (+279/-0)
plugins/detection/CMakeLists.txt (+5/-0)
plugins/detection/detection.xml.in (+28/-0)
plugins/detection/src/detection.cpp (+74/-0)
plugins/detection/src/detection.h (+52/-0)
plugins/fade/CMakeLists.txt (+5/-0)
plugins/fade/fade.xml.in (+86/-0)
plugins/fade/src/fade.cpp (+391/-0)
plugins/fade/src/fade.h (+103/-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/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 (+729/-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 (+594/-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 (+1219/-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 (+1712/-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 (+216/-0)
plugins/resize/src/resize.cpp (+1885/-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 (+177/-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/compiz.pot (+2387/-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 (+68/-0)
src/action.cpp (+655/-0)
src/actions.cpp (+289/-0)
src/atoms.cpp (+324/-0)
src/event.cpp (+1970/-0)
src/eventsource.cpp (+93/-0)
src/icon.cpp (+46/-0)
src/logmessage.cpp (+85/-0)
src/main.cpp (+306/-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/privateeventsource.h (+56/-0)
src/privateiosource.h (+55/-0)
src/privatematch.h (+88/-0)
src/privateoption.h (+97/-0)
src/privateregion.h (+41/-0)
src/privatescreen.h (+467/-0)
src/privatetimeouthandler.h (+36/-0)
src/privatetimeoutsource.h (+57/-0)
src/privatetimer.h (+48/-0)
src/privatewindow.h (+329/-0)
src/propertywriter.cpp (+242/-0)
src/rect.cpp (+285/-0)
src/region.cpp (+425/-0)
src/screen.cpp (+4704/-0)
src/session.cpp (+429/-0)
src/size.cpp (+50/-0)
src/string.cpp (+88/-0)
src/timeouthandler.cpp (+94/-0)
src/timer.cpp (+321/-0)
src/valueholder.cpp (+110/-0)
src/valueholder.h (+41/-0)
src/window.cpp (+6076/-0)
src/windowgeometry.cpp (+231/-0)
tests/CMakeLists.txt (+2/-0)
tests/pluginclasshandler/CMakeLists.txt (+6/-0)
tests/pluginclasshandler/construct/CMakeLists.txt (+25/-0)
tests/pluginclasshandler/construct/test-pch-construct.cpp (+64/-0)
tests/pluginclasshandler/get/CMakeLists.txt (+25/-0)
tests/pluginclasshandler/get/test-pch-get.cpp (+64/-0)
tests/pluginclasshandler/indexes/CMakeLists.txt (+28/-0)
tests/pluginclasshandler/indexes/test-pch-indexes.cpp (+434/-0)
tests/pluginclasshandler/test-pluginclasshandler.cpp (+101/-0)
tests/pluginclasshandler/test-pluginclasshandler.h (+114/-0)
tests/pluginclasshandler/typenames/CMakeLists.txt (+25/-0)
tests/pluginclasshandler/typenames/test-pch-typenames.cpp (+83/-0)
tests/timer/CMakeLists.txt (+15/-0)
tests/timer/callbacks/CMakeLists.txt (+23/-0)
tests/timer/callbacks/test-timer-callbacks.cpp (+106/-0)
tests/timer/diffs/CMakeLists.txt (+23/-0)
tests/timer/diffs/test-timer-diffs.cpp (+82/-0)
tests/timer/set-values/CMakeLists.txt (+23/-0)
tests/timer/set-values/test-timer-set-values.cpp (+139/-0)
tests/timer/test-timer.cpp (+61/-0)
tests/timer/test-timer.h (+89/-0)
tests/timer/while-calling/CMakeLists.txt (+23/-0)
tests/timer/while-calling/test-timer-set-times-while-calling.cpp (+124/-0)
unity/CMakeLists.txt (+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 (+163/-0)
unity/unity_window_decorator/src/TODO (+18/-0)
unity/unity_window_decorator/src/actionmenu.c (+133/-0)
unity/unity_window_decorator/src/blurprops.c (+89/-0)
unity/unity_window_decorator/src/cairo.c (+925/-0)
unity/unity_window_decorator/src/config.h.gtk.in (+25/-0)
unity/unity_window_decorator/src/decorator.c (+1463/-0)
unity/unity_window_decorator/src/decorprops.c (+176/-0)
unity/unity_window_decorator/src/events.c (+1207/-0)
unity/unity_window_decorator/src/forcequit.c (+201/-0)
unity/unity_window_decorator/src/frames.c (+313/-0)
unity/unity_window_decorator/src/gdk.c (+106/-0)
unity/unity_window_decorator/src/gtk-window-decorator.c (+449/-0)
unity/unity_window_decorator/src/gtk-window-decorator.h (+1166/-0)
unity/unity_window_decorator/src/gwd.schemas.in (+81/-0)
unity/unity_window_decorator/src/metacity.c (+1798/-0)
unity/unity_window_decorator/src/settings.c (+547/-0)
unity/unity_window_decorator/src/style.c (+66/-0)
unity/unity_window_decorator/src/switcher.c (+516/-0)
unity/unity_window_decorator/src/util.c (+299/-0)
unity/unity_window_decorator/src/wnck.c (+892/-0)
xslt/CMakeLists.txt (+13/-0)
xslt/bcop.xslt (+1581/-0)
xslt/compiz_gconf_schemas.xslt (+410/-0)
xslt/default_plugins.xslt (+76/-0)
Conflict adding file debian.  Moved existing file to debian.moved.
To merge this branch: bzr merge lp:~lievenvanderheide/compiz/PixmapLeakFix
Reviewer Review Type Date Requested Status
Sam Spilsbury Needs Resubmitting
Review via email: mp+71483@code.launchpad.net

Description of the change

To post a comment you must log in.
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

You've proposed a merge in lp:compiz. That's the packaging branch. You want
lp:compiz-core.

Also, I couldn't see in the diff( I'm on my phone) but if the fix is for
unreffing the locals in the switcher then I've already fixed that one in my
rewrite branch.
On Aug 14, 2011 11:11 PM, "Lieven van der Heide" <
<email address hidden>> wrote:
> Lieven van der Heide has proposed merging
lp:~lievenvanderheide/compiz/PixmapLeakFix into lp:compiz.
>
> Requested reviews:
> compiz packagers (compiz)
>
> For more details, see:
>
https://code.launchpad.net/~lievenvanderheide/compiz/PixmapLeakFix/+merge/71483
>
> See Bug #740258
> --
> The attached diff has been truncated due to its size.
>
https://code.launchpad.net/~lievenvanderheide/compiz/PixmapLeakFix/+merge/71483
> Your team compiz packagers is requested to review the proposed merge of
lp:~lievenvanderheide/compiz/PixmapLeakFix into lp:compiz.

Revision history for this message
Lieven van der Heide (lievenvanderheide) wrote :

Its indeed just a fix for the unreffing in the switcher, so if that's
already fixed, then you can ignore this merge request.

Regards,

Lieven.

On Wed, Aug 17, 2011 at 6:37 AM, Sam Spilsbury <email address hidden> wrote:

> You've proposed a merge in lp:compiz. That's the packaging branch. You want
> lp:compiz-core.
>
> Also, I couldn't see in the diff( I'm on my phone) but if the fix is for
> unreffing the locals in the switcher then I've already fixed that one in my
> rewrite branch.
> On Aug 14, 2011 11:11 PM, "Lieven van der Heide" <
> <email address hidden>> wrote:
> > Lieven van der Heide has proposed merging
> lp:~lievenvanderheide/compiz/PixmapLeakFix into lp:compiz.
> >
> > Requested reviews:
> > compiz packagers (compiz)
> >
> > For more details, see:
> >
>
> https://code.launchpad.net/~lievenvanderheide/compiz/PixmapLeakFix/+merge/71483
> >
> > See Bug #740258
> > --
> > The attached diff has been truncated due to its size.
> >
>
> https://code.launchpad.net/~lievenvanderheide/compiz/PixmapLeakFix/+merge/71483
> > Your team compiz packagers is requested to review the proposed merge of
> lp:~lievenvanderheide/compiz/PixmapLeakFix into lp:compiz.
>
> --
>
> https://code.launchpad.net/~lievenvanderheide/compiz/PixmapLeakFix/+merge/71483
> You are the owner of lp:~lievenvanderheide/compiz/PixmapLeakFix.
>

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Fix is upstream now. Resubmit against packaging if required

review: Needs Resubmitting

Unmerged revisions

240. By Lieven van der Heide

Fix for bug Bug #740258: gtk-window-decorator switcher leaks pixmaps

239. By Didier Roche-Tolomelli

Make compiz-dev deps on libdecoration0-dev as compiztoolbox is using it.

238. By Didier Roche-Tolomelli

* debian/compiz-gnome.gconf-defaults, debian/unity.ini:
  - remove Static Application Switcher plugin as now handled by unity.

237. By Didier Roche-Tolomelli

* debian/control:
  - build-dep on boost 46
* debian/65compiz_profile-on-session:
  - set ubuntu as the default unity session

236. By Didier Roche-Tolomelli

* debian/compiz-decorator:
  - use gtk-window-decorator for alpha3 by default. Too many bugs with u-w-d
    right now (the side effect is that the decorator isn't removed and we
    don't get the invisible resize area anymore)
* debian/compiz-gnome.gconf-defaults, debian/unity.ini
  - remove the unity dialogs from oneiric, it's not ready, we won't ship it
    for now.

235. By Didier Roche-Tolomelli

* New upstream release:
  - unity window decorator needs to support different metacity frame types
    (LP: #795048)
  - firefox window mapped fullscreen gets mapped under gnome-panel
    (LP: #800592)
* Switch to dpkg-source 3.0 (quilt) format
* remove all debian/patches/*:
  - upstream now directly deliver with our patches
* debian/control:
  - replace kdebase-workspace-dev build-dep by kde-workspace-dev
  - build on libdecoration0-dev to build the unity window decorator
  - make compiz-dev dep on gtk-3
* debian/compiz-plugins-default.install:
  - grid is now in -main
* debian/libdecoration0.symbols:
  - add new symbols
* debian/patches/01_don_t_init_a11y.patch:
  - don't initialize the GAIL and AT bridges when comipz initialize
    (LP: #810045)

234. By Didier Roche-Tolomelli

* debian/control:
  - don't build with g-c-c integration (broken with gnome 3)
    removed dep on libgnome-window-settings-dev, libgnomeui-dev,
    libgnome-desktop-dev
* debian/patches/091_no_use_gnome_but_desktop_file.patch,
  debian/rules, debian/compiz-gnome.install:
  - don't install anymore previous files, but still build
    /usr/share/applications/compiz.desktop for starting compiz with
    gnome-session
* debian/65compiz_profile-on-session:
  - use DESKTOP_SESSION now

233. By Didier Roche-Tolomelli

* debian/patches/090_run_gtk_init.patch:
  - run gtk_init_check in compiz core (needed for unity and unity dialogs, and
    there is no good upgrade story with the current backend to add a new
    plugin)
* debian/control:
  - add a libgtk-3-dev dep
  - breaks against previous unity version (gtk_init should run be once with
    ldopen)
  - bump standards-version
* debian/compiz-gnome.gconf-defaults, debian/unity.ini:
  - add unity dialogs by default (doesn't support upgrade though, need to
    reset the profile manually)

232. By Didier Roche-Tolomelli

* debian/patches/00_bzr_fix_727143.patch:
  - Fix unity-window-decorator crashes with SIGSEGV when closing Java
    windows (LP: #727143)

231. By Didier Roche-Tolomelli

* Separate plugins we install by default from others:
  - create compiz-plugins-default which is a subpart of what compiz-plugins
    depended on
  - compiz-plugins install compiz-plugins-default
  - compiz, compiz-core, compiz-gnome, compiz-kde now depends on
    compiz-plugins-default and recommends compiz-plugins-main-default
  - compiz-dev still depends on compiz-plugins as shipping the compiztoolbox
    and cube headers
  - reshuffle the replaces to handle transitions
* move /usr/share/compiz/kde.xml wrongly set in compiz-plugins to compiz-kde

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

Subscribers

People subscribed via source and target branches