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

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

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

Description of the change

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

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

To post a comment you must log in.

Unmerged revisions

2733. By Sam Spilsbury

Don't botch the env we pass to other apps

2732. By David Barth

grid plugin improvements - bug #744104

2731. By David Barth

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

2730. By David Barth

improves the grid plugin behavior - Bug #744104

2729. By David Barth

merge display/size problems with xterm

2728. By David Barth

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

2727. By David Barth

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

2726. By David Barth

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

2725. By David Barth

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

2724. By Sam Spilsbury

add stack attack hack

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added file '.gitignore'
--- .gitignore 1970-01-01 00:00:00 +0000
+++ .gitignore 2011-04-06 13:26:57 +0000
@@ -0,0 +1,1 @@
1po/compiz.pot
02
=== added file 'AUTHORS'
--- AUTHORS 1970-01-01 00:00:00 +0000
+++ AUTHORS 2011-04-06 13:26:57 +0000
@@ -0,0 +1,29 @@
1compiz and the standard set of plugins are designed and written by
2
3David Reveman <davidr@novell.com>
4
5with additional functionality by
6
7Radek Doulik <rodo@novell.com> IO multiplexing
8Mirco Müller <macslow@bangang.de> Skydome support in cube plugin
9Søren Sandmann <sandmann@redhat.com> plane plugin
10Dan Winship <danw@novell.com> gconf-dump plugin
11Brian Paul <brian.paul@tungstengraphics.com> Matrix functions
12
13and other contributions by
14
15Mike Cook <mcook@novell.com>
16Mike Dransfield <mike@blueroot.co.uk>
17Diogo Ferreira <diogo@underdev.org>
18gandalfn <gandalfn@club-internet.fr>
19Guillaume <ixcemix@gmail.com>
20Kristian Høgsberg <krh@redhat.com>
21Dennis Kasprzyk <onestone@beryl-project.org>
22Gerd Kohlberger <lowfi@chello.at>
23Volker Krause <vkrause@kde.org>
24moppsy <moppsy@comcast.net>
25Jeremy C. Reed <reed@reedmedia.net>
26Thierry Reding <thierry@gilfi.de>
27Julian Sikorski <lordzanon@poczta.onet.pl>
28Quinn Storm <livinglatexkali@gmail.com>
29Erkin Bahceci <erkinbah@gmail.com>
030
=== added file 'CMakeLists.txt'
--- CMakeLists.txt 1970-01-01 00:00:00 +0000
+++ CMakeLists.txt 2011-04-06 13:26:57 +0000
@@ -0,0 +1,131 @@
1project (compiz)
2
3set (CMAKE_MODULE_PATH_ORIG ${CMAKE_MODULE_PATH})
4set (COMPIZ_CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
5set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${COMPIZ_CMAKE_MODULE_PATH})
6include (CompizCommon)
7include (CompizPackage)
8include (cmake/base.cmake)
9include (CheckFunctionExists)
10
11
12set (CMAKE_CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo;MinSizeRe" CACHE INTERNAL "" FORCE)
13if (NOT CMAKE_BUILD_TYPE)
14 set (CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build type (Debug/Release/RelWithDebInfo/MinSizeRe)" FORCE)
15endif (NOT CMAKE_BUILD_TYPE)
16
17# compiz package version number
18# An odd micro number indicates in-progress development.
19# An even micro number indicates a released version.
20set (COMPIZ_VERSION_MAJOR 0)
21set (COMPIZ_VERSION_MINOR 9)
22set (COMPIZ_VERSION_MICRO 4)
23set (COMPIZ_VERSION_MACRO 0)
24set (VERSION ${COMPIZ_VERSION_MAJOR}.${COMPIZ_VERSION_MINOR}.${COMPIZ_VERSION_MICRO}.${COMPIZ_VERSION_MACRO})
25
26set (DECOR_INTERFACE_VERSION 20110130)
27
28if (COMPIZ_PACKAGING_ENABLED)
29 set (prefix ${CMAKE_INSTALL_PREFIX} CACHE PATH "prefix")
30 set (exec_prefix ${CMAKE_INSTALL_PREFIX}/bin CACHE PATH "bindir")
31 set (libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "libdir")
32 set (includedir ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "includedir")
33 set (datadir ${CMAKE_INSTALL_PREFIX}/share CACHE PATH "datadir")
34else (COMPIZ_PACKAGING_ENABLED)
35 set (prefix ${CMAKE_INSTALL_PREFIX} )
36 set (exec_prefix ${CMAKE_INSTALL_PREFIX}/bin )
37 set (libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
38 set (includedir ${CMAKE_INSTALL_PREFIX}/include )
39 set (datadir ${CMAKE_INSTALL_PREFIX}/share )
40endif (COMPIZ_PACKAGING_ENABLED)
41
42set (compiz_plugindir ${libdir}/compiz)
43set (compiz_sharedir ${datadir}/compiz/)
44set (compiz_metadatadir ${datadir}/compiz)
45set (COMPIZ_I18N_DIR ${CMAKE_SOURCE_DIR}/po)
46
47set (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)
48set (GETTEXT_PACKAGE compiz)
49
50find_package (Boost 1.34.0 REQUIRED serialization)
51
52set (COMPIZ_REQUIRES
53 x11
54 xext
55 xdamage
56 xcomposite
57 x11-xcb
58 xrandr
59 xinerama
60 xext
61 ice
62 sm
63 libxml-2.0
64 libxslt
65 glib-2.0
66 gio-2.0
67 glibmm-2.4
68 "libstartup-notification-1.0 >= 0.7"
69)
70
71set (DECORATION_REQUIRES xrender)
72
73compiz_pkg_check_modules (COMPIZ REQUIRED ${COMPIZ_REQUIRES})
74compiz_pkg_check_modules (LIBDECORATION REQUIRED ${DECORATION_REQUIRES})
75
76list (APPEND COMPIZ_LIBRARIES ${Boost_LIBRARIES})
77
78include (CompizDefaults)
79
80set (COMPIZ_CFLAGS "${COMPIZ_CFLAGS} -I${Boost_INCLUDE_DIR}")
81
82set (_compiz_package_string "Compiz ${VERSION}")
83set (_compiz_package "Compiz")
84
85compiz_configure_file (${compiz_SOURCE_DIR}/config.h.core.in ${compiz_BINARY_DIR}/generated/config.h)
86
87compiz_configure_file (
88 ${CMAKE_SOURCE_DIR}/include/compiz-common.h.in
89 ${CMAKE_BINARY_DIR}/generated/compiz-common.h
90)
91
92install (
93 FILES ${CMAKE_BINARY_DIR}/generated/compiz-common.h
94 DESTINATION ${COMPIZ_DESTDIR}${includedir}/compiz
95)
96
97compiz_configure_file (
98 ${CMAKE_SOURCE_DIR}/compiz.pc.in
99 ${CMAKE_BINARY_DIR}/compiz.pc
100 COMPIZ_REQUIRES
101 COMPIZ_CFLAGS
102)
103
104install (
105 FILES ${CMAKE_BINARY_DIR}/compiz.pc
106 DESTINATION ${COMPIZ_DESTDIR}${libdir}/pkgconfig
107)
108
109add_subdirectory (cmake)
110add_subdirectory (include)
111add_subdirectory (images)
112add_subdirectory (libdecoration)
113add_subdirectory (gtk)
114add_subdirectory (kde)
115add_subdirectory (unity/unity_window_decorator)
116add_subdirectory (po)
117add_subdirectory (metadata)
118add_subdirectory (src)
119add_subdirectory (xslt)
120add_subdirectory (plugins)
121
122compiz_ensure_linkage ()
123compiz_package_generation ("Compiz")
124compiz_add_uninstall ()
125compiz_add_git_dist ()
126
127_print_configure_results ()
128
129_check_compiz_cmake_macro (${CMAKE_MODULE_PATH_ORIG})
130
131
0132
=== added file 'COPYING'
--- COPYING 1970-01-01 00:00:00 +0000
+++ COPYING 2011-04-06 13:26:57 +0000
@@ -0,0 +1,6 @@
1Most of the code is MIT licensed, some code is instead licensed
2under the LGPL and some under the GPL. Each source code file
3contain a header that describes the license for the code in that
4specific file.
5
6For More information see COPYING.GPL, COPYING.LGPL and COPYING.MIT.
07
=== added file 'COPYING.GPL'
--- COPYING.GPL 1970-01-01 00:00:00 +0000
+++ COPYING.GPL 2011-04-06 13:26:57 +0000
@@ -0,0 +1,340 @@
1 GNU GENERAL PUBLIC LICENSE
2 Version 2, June 1991
3
4 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
5 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
6 Everyone is permitted to copy and distribute verbatim copies
7 of this license document, but changing it is not allowed.
8
9 Preamble
10
11 The licenses for most software are designed to take away your
12freedom to share and change it. By contrast, the GNU General Public
13License is intended to guarantee your freedom to share and change free
14software--to make sure the software is free for all its users. This
15General Public License applies to most of the Free Software
16Foundation's software and to any other program whose authors commit to
17using it. (Some other Free Software Foundation software is covered by
18the GNU Library General Public License instead.) You can apply it to
19your programs, too.
20
21 When we speak of free software, we are referring to freedom, not
22price. Our General Public Licenses are designed to make sure that you
23have the freedom to distribute copies of free software (and charge for
24this service if you wish), that you receive source code or can get it
25if you want it, that you can change the software or use pieces of it
26in new free programs; and that you know you can do these things.
27
28 To protect your rights, we need to make restrictions that forbid
29anyone to deny you these rights or to ask you to surrender the rights.
30These restrictions translate to certain responsibilities for you if you
31distribute copies of the software, or if you modify it.
32
33 For example, if you distribute copies of such a program, whether
34gratis or for a fee, you must give the recipients all the rights that
35you have. You must make sure that they, too, receive or can get the
36source code. And you must show them these terms so they know their
37rights.
38
39 We protect your rights with two steps: (1) copyright the software, and
40(2) offer you this license which gives you legal permission to copy,
41distribute and/or modify the software.
42
43 Also, for each author's protection and ours, we want to make certain
44that everyone understands that there is no warranty for this free
45software. If the software is modified by someone else and passed on, we
46want its recipients to know that what they have is not the original, so
47that any problems introduced by others will not reflect on the original
48authors' reputations.
49
50 Finally, any free program is threatened constantly by software
51patents. We wish to avoid the danger that redistributors of a free
52program will individually obtain patent licenses, in effect making the
53program proprietary. To prevent this, we have made it clear that any
54patent must be licensed for everyone's free use or not licensed at all.
55
56 The precise terms and conditions for copying, distribution and
57modification follow.
58
059
60 GNU GENERAL PUBLIC LICENSE
61 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
62
63 0. This License applies to any program or other work which contains
64a notice placed by the copyright holder saying it may be distributed
65under the terms of this General Public License. The "Program", below,
66refers to any such program or work, and a "work based on the Program"
67means either the Program or any derivative work under copyright law:
68that is to say, a work containing the Program or a portion of it,
69either verbatim or with modifications and/or translated into another
70language. (Hereinafter, translation is included without limitation in
71the term "modification".) Each licensee is addressed as "you".
72
73Activities other than copying, distribution and modification are not
74covered by this License; they are outside its scope. The act of
75running the Program is not restricted, and the output from the Program
76is covered only if its contents constitute a work based on the
77Program (independent of having been made by running the Program).
78Whether that is true depends on what the Program does.
79
80 1. You may copy and distribute verbatim copies of the Program's
81source code as you receive it, in any medium, provided that you
82conspicuously and appropriately publish on each copy an appropriate
83copyright notice and disclaimer of warranty; keep intact all the
84notices that refer to this License and to the absence of any warranty;
85and give any other recipients of the Program a copy of this License
86along with the Program.
87
88You may charge a fee for the physical act of transferring a copy, and
89you may at your option offer warranty protection in exchange for a fee.
90
91 2. You may modify your copy or copies of the Program or any portion
92of it, thus forming a work based on the Program, and copy and
93distribute such modifications or work under the terms of Section 1
94above, provided that you also meet all of these conditions:
95
96 a) You must cause the modified files to carry prominent notices
97 stating that you changed the files and the date of any change.
98
99 b) You must cause any work that you distribute or publish, that in
100 whole or in part contains or is derived from the Program or any
101 part thereof, to be licensed as a whole at no charge to all third
102 parties under the terms of this License.
103
104 c) If the modified program normally reads commands interactively
105 when run, you must cause it, when started running for such
106 interactive use in the most ordinary way, to print or display an
107 announcement including an appropriate copyright notice and a
108 notice that there is no warranty (or else, saying that you provide
109 a warranty) and that users may redistribute the program under
110 these conditions, and telling the user how to view a copy of this
111 License. (Exception: if the Program itself is interactive but
112 does not normally print such an announcement, your work based on
113 the Program is not required to print an announcement.)
114
1115
116These requirements apply to the modified work as a whole. If
117identifiable sections of that work are not derived from the Program,
118and can be reasonably considered independent and separate works in
119themselves, then this License, and its terms, do not apply to those
120sections when you distribute them as separate works. But when you
121distribute the same sections as part of a whole which is a work based
122on the Program, the distribution of the whole must be on the terms of
123this License, whose permissions for other licensees extend to the
124entire whole, and thus to each and every part regardless of who wrote it.
125
126Thus, it is not the intent of this section to claim rights or contest
127your rights to work written entirely by you; rather, the intent is to
128exercise the right to control the distribution of derivative or
129collective works based on the Program.
130
131In addition, mere aggregation of another work not based on the Program
132with the Program (or with a work based on the Program) on a volume of
133a storage or distribution medium does not bring the other work under
134the scope of this License.
135
136 3. You may copy and distribute the Program (or a work based on it,
137under Section 2) in object code or executable form under the terms of
138Sections 1 and 2 above provided that you also do one of the following:
139
140 a) Accompany it with the complete corresponding machine-readable
141 source code, which must be distributed under the terms of Sections
142 1 and 2 above on a medium customarily used for software interchange; or,
143
144 b) Accompany it with a written offer, valid for at least three
145 years, to give any third party, for a charge no more than your
146 cost of physically performing source distribution, a complete
147 machine-readable copy of the corresponding source code, to be
148 distributed under the terms of Sections 1 and 2 above on a medium
149 customarily used for software interchange; or,
150
151 c) Accompany it with the information you received as to the offer
152 to distribute corresponding source code. (This alternative is
153 allowed only for noncommercial distribution and only if you
154 received the program in object code or executable form with such
155 an offer, in accord with Subsection b above.)
156
157The source code for a work means the preferred form of the work for
158making modifications to it. For an executable work, complete source
159code means all the source code for all modules it contains, plus any
160associated interface definition files, plus the scripts used to
161control compilation and installation of the executable. However, as a
162special exception, the source code distributed need not include
163anything that is normally distributed (in either source or binary
164form) with the major components (compiler, kernel, and so on) of the
165operating system on which the executable runs, unless that component
166itself accompanies the executable.
167
168If distribution of executable or object code is made by offering
169access to copy from a designated place, then offering equivalent
170access to copy the source code from the same place counts as
171distribution of the source code, even though third parties are not
172compelled to copy the source along with the object code.
173
2174
175 4. You may not copy, modify, sublicense, or distribute the Program
176except as expressly provided under this License. Any attempt
177otherwise to copy, modify, sublicense or distribute the Program is
178void, and will automatically terminate your rights under this License.
179However, parties who have received copies, or rights, from you under
180this License will not have their licenses terminated so long as such
181parties remain in full compliance.
182
183 5. You are not required to accept this License, since you have not
184signed it. However, nothing else grants you permission to modify or
185distribute the Program or its derivative works. These actions are
186prohibited by law if you do not accept this License. Therefore, by
187modifying or distributing the Program (or any work based on the
188Program), you indicate your acceptance of this License to do so, and
189all its terms and conditions for copying, distributing or modifying
190the Program or works based on it.
191
192 6. Each time you redistribute the Program (or any work based on the
193Program), the recipient automatically receives a license from the
194original licensor to copy, distribute or modify the Program subject to
195these terms and conditions. You may not impose any further
196restrictions on the recipients' exercise of the rights granted herein.
197You are not responsible for enforcing compliance by third parties to
198this License.
199
200 7. If, as a consequence of a court judgment or allegation of patent
201infringement or for any other reason (not limited to patent issues),
202conditions are imposed on you (whether by court order, agreement or
203otherwise) that contradict the conditions of this License, they do not
204excuse you from the conditions of this License. If you cannot
205distribute so as to satisfy simultaneously your obligations under this
206License and any other pertinent obligations, then as a consequence you
207may not distribute the Program at all. For example, if a patent
208license would not permit royalty-free redistribution of the Program by
209all those who receive copies directly or indirectly through you, then
210the only way you could satisfy both it and this License would be to
211refrain entirely from distribution of the Program.
212
213If any portion of this section is held invalid or unenforceable under
214any particular circumstance, the balance of the section is intended to
215apply and the section as a whole is intended to apply in other
216circumstances.
217
218It is not the purpose of this section to induce you to infringe any
219patents or other property right claims or to contest validity of any
220such claims; this section has the sole purpose of protecting the
221integrity of the free software distribution system, which is
222implemented by public license practices. Many people have made
223generous contributions to the wide range of software distributed
224through that system in reliance on consistent application of that
225system; it is up to the author/donor to decide if he or she is willing
226to distribute software through any other system and a licensee cannot
227impose that choice.
228
229This section is intended to make thoroughly clear what is believed to
230be a consequence of the rest of this License.
231
3232
233 8. If the distribution and/or use of the Program is restricted in
234certain countries either by patents or by copyrighted interfaces, the
235original copyright holder who places the Program under this License
236may add an explicit geographical distribution limitation excluding
237those countries, so that distribution is permitted only in or among
238countries not thus excluded. In such case, this License incorporates
239the limitation as if written in the body of this License.
240
241 9. The Free Software Foundation may publish revised and/or new versions
242of the General Public License from time to time. Such new versions will
243be similar in spirit to the present version, but may differ in detail to
244address new problems or concerns.
245
246Each version is given a distinguishing version number. If the Program
247specifies a version number of this License which applies to it and "any
248later version", you have the option of following the terms and conditions
249either of that version or of any later version published by the Free
250Software Foundation. If the Program does not specify a version number of
251this License, you may choose any version ever published by the Free Software
252Foundation.
253
254 10. If you wish to incorporate parts of the Program into other free
255programs whose distribution conditions are different, write to the author
256to ask for permission. For software which is copyrighted by the Free
257Software Foundation, write to the Free Software Foundation; we sometimes
258make exceptions for this. Our decision will be guided by the two goals
259of preserving the free status of all derivatives of our free software and
260of promoting the sharing and reuse of software generally.
261
262 NO WARRANTY
263
264 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
265FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
266OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
267PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
268OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
269MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
270TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
271PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
272REPAIR OR CORRECTION.
273
274 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
275WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
276REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
277INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
278OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
279TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
280YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
281PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
282POSSIBILITY OF SUCH DAMAGES.
283
284 END OF TERMS AND CONDITIONS
285
4286
287 How to Apply These Terms to Your New Programs
288
289 If you develop a new program, and you want it to be of the greatest
290possible use to the public, the best way to achieve this is to make it
291free software which everyone can redistribute and change under these terms.
292
293 To do so, attach the following notices to the program. It is safest
294to attach them to the start of each source file to most effectively
295convey the exclusion of warranty; and each file should have at least
296the "copyright" line and a pointer to where the full notice is found.
297
298 <one line to give the program's name and a brief idea of what it does.>
299 Copyright (C) <year> <name of author>
300
301 This program is free software; you can redistribute it and/or modify
302 it under the terms of the GNU General Public License as published by
303 the Free Software Foundation; either version 2 of the License, or
304 (at your option) any later version.
305
306 This program is distributed in the hope that it will be useful,
307 but WITHOUT ANY WARRANTY; without even the implied warranty of
308 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
309 GNU General Public License for more details.
310
311 You should have received a copy of the GNU General Public License
312 along with this program; if not, write to the Free Software
313 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
314
315
316Also add information on how to contact you by electronic and paper mail.
317
318If the program is interactive, make it output a short notice like this
319when it starts in an interactive mode:
320
321 Gnomovision version 69, Copyright (C) year name of author
322 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
323 This is free software, and you are welcome to redistribute it
324 under certain conditions; type `show c' for details.
325
326The hypothetical commands `show w' and `show c' should show the appropriate
327parts of the General Public License. Of course, the commands you use may
328be called something other than `show w' and `show c'; they could even be
329mouse-clicks or menu items--whatever suits your program.
330
331You should also get your employer (if you work as a programmer) or your
332school, if any, to sign a "copyright disclaimer" for the program, if
333necessary. Here is a sample; alter the names:
334
335 Yoyodyne, Inc., hereby disclaims all copyright interest in the program
336 `Gnomovision' (which makes passes at compilers) written by James Hacker.
337
338 <signature of Ty Coon>, 1 April 1989
339 Ty Coon, President of Vice
340
341This General Public License does not permit incorporating your program into
342proprietary programs. If your program is a subroutine library, you may
343consider it more useful to permit linking proprietary applications with the
344library. If this is what you want to do, use the GNU Library General
345Public License instead of this License.
5346
=== added file 'COPYING.LGPL'
--- COPYING.LGPL 1970-01-01 00:00:00 +0000
+++ COPYING.LGPL 2011-04-06 13:26:57 +0000
@@ -0,0 +1,510 @@
1
2 GNU LESSER GENERAL PUBLIC LICENSE
3 Version 2.1, February 1999
4
5 Copyright (C) 1991, 1999 Free Software Foundation, Inc.
6 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
7 Everyone is permitted to copy and distribute verbatim copies
8 of this license document, but changing it is not allowed.
9
10[This is the first released version of the Lesser GPL. It also counts
11 as the successor of the GNU Library Public License, version 2, hence
12 the version number 2.1.]
13
14 Preamble
15
16 The licenses for most software are designed to take away your
17freedom to share and change it. By contrast, the GNU General Public
18Licenses are intended to guarantee your freedom to share and change
19free software--to make sure the software is free for all its users.
20
21 This license, the Lesser General Public License, applies to some
22specially designated software packages--typically libraries--of the
23Free Software Foundation and other authors who decide to use it. You
24can use it too, but we suggest you first think carefully about whether
25this license or the ordinary General Public License is the better
26strategy to use in any particular case, based on the explanations
27below.
28
29 When we speak of free software, we are referring to freedom of use,
30not price. Our General Public Licenses are designed to make sure that
31you have the freedom to distribute copies of free software (and charge
32for this service if you wish); that you receive source code or can get
33it if you want it; that you can change the software and use pieces of
34it in new free programs; and that you are informed that you can do
35these things.
36
37 To protect your rights, we need to make restrictions that forbid
38distributors to deny you these rights or to ask you to surrender these
39rights. These restrictions translate to certain responsibilities for
40you if you distribute copies of the library or if you modify it.
41
42 For example, if you distribute copies of the library, whether gratis
43or for a fee, you must give the recipients all the rights that we gave
44you. You must make sure that they, too, receive or can get the source
45code. If you link other code with the library, you must provide
46complete object files to the recipients, so that they can relink them
47with the library after making changes to the library and recompiling
48it. And you must show them these terms so they know their rights.
49
50 We protect your rights with a two-step method: (1) we copyright the
51library, and (2) we offer you this license, which gives you legal
52permission to copy, distribute and/or modify the library.
53
54 To protect each distributor, we want to make it very clear that
55there is no warranty for the free library. Also, if the library is
56modified by someone else and passed on, the recipients should know
57that what they have is not the original version, so that the original
58author's reputation will not be affected by problems that might be
59introduced by others.
60
061
62 Finally, software patents pose a constant threat to the existence of
63any free program. We wish to make sure that a company cannot
64effectively restrict the users of a free program by obtaining a
65restrictive license from a patent holder. Therefore, we insist that
66any patent license obtained for a version of the library must be
67consistent with the full freedom of use specified in this license.
68
69 Most GNU software, including some libraries, is covered by the
70ordinary GNU General Public License. This license, the GNU Lesser
71General Public License, applies to certain designated libraries, and
72is quite different from the ordinary General Public License. We use
73this license for certain libraries in order to permit linking those
74libraries into non-free programs.
75
76 When a program is linked with a library, whether statically or using
77a shared library, the combination of the two is legally speaking a
78combined work, a derivative of the original library. The ordinary
79General Public License therefore permits such linking only if the
80entire combination fits its criteria of freedom. The Lesser General
81Public License permits more lax criteria for linking other code with
82the library.
83
84 We call this license the "Lesser" General Public License because it
85does Less to protect the user's freedom than the ordinary General
86Public License. It also provides other free software developers Less
87of an advantage over competing non-free programs. These disadvantages
88are the reason we use the ordinary General Public License for many
89libraries. However, the Lesser license provides advantages in certain
90special circumstances.
91
92 For example, on rare occasions, there may be a special need to
93encourage the widest possible use of a certain library, so that it
94becomes a de-facto standard. To achieve this, non-free programs must
95be allowed to use the library. A more frequent case is that a free
96library does the same job as widely used non-free libraries. In this
97case, there is little to gain by limiting the free library to free
98software only, so we use the Lesser General Public License.
99
100 In other cases, permission to use a particular library in non-free
101programs enables a greater number of people to use a large body of
102free software. For example, permission to use the GNU C Library in
103non-free programs enables many more people to use the whole GNU
104operating system, as well as its variant, the GNU/Linux operating
105system.
106
107 Although the Lesser General Public License is Less protective of the
108users' freedom, it does ensure that the user of a program that is
109linked with the Library has the freedom and the wherewithal to run
110that program using a modified version of the Library.
111
112 The precise terms and conditions for copying, distribution and
113modification follow. Pay close attention to the difference between a
114"work based on the library" and a "work that uses the library". The
115former contains code derived from the library, whereas the latter must
116be combined with the library in order to run.
117
1118
119 GNU LESSER GENERAL PUBLIC LICENSE
120 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
121
122 0. This License Agreement applies to any software library or other
123program which contains a notice placed by the copyright holder or
124other authorized party saying it may be distributed under the terms of
125this Lesser General Public License (also called "this License").
126Each licensee is addressed as "you".
127
128 A "library" means a collection of software functions and/or data
129prepared so as to be conveniently linked with application programs
130(which use some of those functions and data) to form executables.
131
132 The "Library", below, refers to any such software library or work
133which has been distributed under these terms. A "work based on the
134Library" means either the Library or any derivative work under
135copyright law: that is to say, a work containing the Library or a
136portion of it, either verbatim or with modifications and/or translated
137straightforwardly into another language. (Hereinafter, translation is
138included without limitation in the term "modification".)
139
140 "Source code" for a work means the preferred form of the work for
141making modifications to it. For a library, complete source code means
142all the source code for all modules it contains, plus any associated
143interface definition files, plus the scripts used to control
144compilation and installation of the library.
145
146 Activities other than copying, distribution and modification are not
147covered by this License; they are outside its scope. The act of
148running a program using the Library is not restricted, and output from
149such a program is covered only if its contents constitute a work based
150on the Library (independent of the use of the Library in a tool for
151writing it). Whether that is true depends on what the Library does
152and what the program that uses the Library does.
153
154 1. You may copy and distribute verbatim copies of the Library's
155complete source code as you receive it, in any medium, provided that
156you conspicuously and appropriately publish on each copy an
157appropriate copyright notice and disclaimer of warranty; keep intact
158all the notices that refer to this License and to the absence of any
159warranty; and distribute a copy of this License along with the
160Library.
161
162 You may charge a fee for the physical act of transferring a copy,
163and you may at your option offer warranty protection in exchange for a
164fee.
165
2166
167 2. You may modify your copy or copies of the Library or any portion
168of it, thus forming a work based on the Library, and copy and
169distribute such modifications or work under the terms of Section 1
170above, provided that you also meet all of these conditions:
171
172 a) The modified work must itself be a software library.
173
174 b) You must cause the files modified to carry prominent notices
175 stating that you changed the files and the date of any change.
176
177 c) You must cause the whole of the work to be licensed at no
178 charge to all third parties under the terms of this License.
179
180 d) If a facility in the modified Library refers to a function or a
181 table of data to be supplied by an application program that uses
182 the facility, other than as an argument passed when the facility
183 is invoked, then you must make a good faith effort to ensure that,
184 in the event an application does not supply such function or
185 table, the facility still operates, and performs whatever part of
186 its purpose remains meaningful.
187
188 (For example, a function in a library to compute square roots has
189 a purpose that is entirely well-defined independent of the
190 application. Therefore, Subsection 2d requires that any
191 application-supplied function or table used by this function must
192 be optional: if the application does not supply it, the square
193 root function must still compute square roots.)
194
195These requirements apply to the modified work as a whole. If
196identifiable sections of that work are not derived from the Library,
197and can be reasonably considered independent and separate works in
198themselves, then this License, and its terms, do not apply to those
199sections when you distribute them as separate works. But when you
200distribute the same sections as part of a whole which is a work based
201on the Library, the distribution of the whole must be on the terms of
202this License, whose permissions for other licensees extend to the
203entire whole, and thus to each and every part regardless of who wrote
204it.
205
206Thus, it is not the intent of this section to claim rights or contest
207your rights to work written entirely by you; rather, the intent is to
208exercise the right to control the distribution of derivative or
209collective works based on the Library.
210
211In addition, mere aggregation of another work not based on the Library
212with the Library (or with a work based on the Library) on a volume of
213a storage or distribution medium does not bring the other work under
214the scope of this License.
215
216 3. You may opt to apply the terms of the ordinary GNU General Public
217License instead of this License to a given copy of the Library. To do
218this, you must alter all the notices that refer to this License, so
219that they refer to the ordinary GNU General Public License, version 2,
220instead of to this License. (If a newer version than version 2 of the
221ordinary GNU General Public License has appeared, then you can specify
222that version instead if you wish.) Do not make any other change in
223these notices.
224
3225
226 Once this change is made in a given copy, it is irreversible for
227that copy, so the ordinary GNU General Public License applies to all
228subsequent copies and derivative works made from that copy.
229
230 This option is useful when you wish to copy part of the code of
231the Library into a program that is not a library.
232
233 4. You may copy and distribute the Library (or a portion or
234derivative of it, under Section 2) in object code or executable form
235under the terms of Sections 1 and 2 above provided that you accompany
236it with the complete corresponding machine-readable source code, which
237must be distributed under the terms of Sections 1 and 2 above on a
238medium customarily used for software interchange.
239
240 If distribution of object code is made by offering access to copy
241from a designated place, then offering equivalent access to copy the
242source code from the same place satisfies the requirement to
243distribute the source code, even though third parties are not
244compelled to copy the source along with the object code.
245
246 5. A program that contains no derivative of any portion of the
247Library, but is designed to work with the Library by being compiled or
248linked with it, is called a "work that uses the Library". Such a
249work, in isolation, is not a derivative work of the Library, and
250therefore falls outside the scope of this License.
251
252 However, linking a "work that uses the Library" with the Library
253creates an executable that is a derivative of the Library (because it
254contains portions of the Library), rather than a "work that uses the
255library". The executable is therefore covered by this License.
256Section 6 states terms for distribution of such executables.
257
258 When a "work that uses the Library" uses material from a header file
259that is part of the Library, the object code for the work may be a
260derivative work of the Library even though the source code is not.
261Whether this is true is especially significant if the work can be
262linked without the Library, or if the work is itself a library. The
263threshold for this to be true is not precisely defined by law.
264
265 If such an object file uses only numerical parameters, data
266structure layouts and accessors, and small macros and small inline
267functions (ten lines or less in length), then the use of the object
268file is unrestricted, regardless of whether it is legally a derivative
269work. (Executables containing this object code plus portions of the
270Library will still fall under Section 6.)
271
272 Otherwise, if the work is a derivative of the Library, you may
273distribute the object code for the work under the terms of Section 6.
274Any executables containing that work also fall under Section 6,
275whether or not they are linked directly with the Library itself.
276
4277
278 6. As an exception to the Sections above, you may also combine or
279link a "work that uses the Library" with the Library to produce a
280work containing portions of the Library, and distribute that work
281under terms of your choice, provided that the terms permit
282modification of the work for the customer's own use and reverse
283engineering for debugging such modifications.
284
285 You must give prominent notice with each copy of the work that the
286Library is used in it and that the Library and its use are covered by
287this License. You must supply a copy of this License. If the work
288during execution displays copyright notices, you must include the
289copyright notice for the Library among them, as well as a reference
290directing the user to the copy of this License. Also, you must do one
291of these things:
292
293 a) Accompany the work with the complete corresponding
294 machine-readable source code for the Library including whatever
295 changes were used in the work (which must be distributed under
296 Sections 1 and 2 above); and, if the work is an executable linked
297 with the Library, with the complete machine-readable "work that
298 uses the Library", as object code and/or source code, so that the
299 user can modify the Library and then relink to produce a modified
300 executable containing the modified Library. (It is understood
301 that the user who changes the contents of definitions files in the
302 Library will not necessarily be able to recompile the application
303 to use the modified definitions.)
304
305 b) Use a suitable shared library mechanism for linking with the
306 Library. A suitable mechanism is one that (1) uses at run time a
307 copy of the library already present on the user's computer system,
308 rather than copying library functions into the executable, and (2)
309 will operate properly with a modified version of the library, if
310 the user installs one, as long as the modified version is
311 interface-compatible with the version that the work was made with.
312
313 c) Accompany the work with a written offer, valid for at least
314 three years, to give the same user the materials specified in
315 Subsection 6a, above, for a charge no more than the cost of
316 performing this distribution.
317
318 d) If distribution of the work is made by offering access to copy
319 from a designated place, offer equivalent access to copy the above
320 specified materials from the same place.
321
322 e) Verify that the user has already received a copy of these
323 materials or that you have already sent this user a copy.
324
325 For an executable, the required form of the "work that uses the
326Library" must include any data and utility programs needed for
327reproducing the executable from it. However, as a special exception,
328the materials to be distributed need not include anything that is
329normally distributed (in either source or binary form) with the major
330components (compiler, kernel, and so on) of the operating system on
331which the executable runs, unless that component itself accompanies
332the executable.
333
334 It may happen that this requirement contradicts the license
335restrictions of other proprietary libraries that do not normally
336accompany the operating system. Such a contradiction means you cannot
337use both them and the Library together in an executable that you
338distribute.
339
5340
341 7. You may place library facilities that are a work based on the
342Library side-by-side in a single library together with other library
343facilities not covered by this License, and distribute such a combined
344library, provided that the separate distribution of the work based on
345the Library and of the other library facilities is otherwise
346permitted, and provided that you do these two things:
347
348 a) Accompany the combined library with a copy of the same work
349 based on the Library, uncombined with any other library
350 facilities. This must be distributed under the terms of the
351 Sections above.
352
353 b) Give prominent notice with the combined library of the fact
354 that part of it is a work based on the Library, and explaining
355 where to find the accompanying uncombined form of the same work.
356
357 8. You may not copy, modify, sublicense, link with, or distribute
358the Library except as expressly provided under this License. Any
359attempt otherwise to copy, modify, sublicense, link with, or
360distribute the Library is void, and will automatically terminate your
361rights under this License. However, parties who have received copies,
362or rights, from you under this License will not have their licenses
363terminated so long as such parties remain in full compliance.
364
365 9. You are not required to accept this License, since you have not
366signed it. However, nothing else grants you permission to modify or
367distribute the Library or its derivative works. These actions are
368prohibited by law if you do not accept this License. Therefore, by
369modifying or distributing the Library (or any work based on the
370Library), you indicate your acceptance of this License to do so, and
371all its terms and conditions for copying, distributing or modifying
372the Library or works based on it.
373
374 10. Each time you redistribute the Library (or any work based on the
375Library), the recipient automatically receives a license from the
376original licensor to copy, distribute, link with or modify the Library
377subject to these terms and conditions. You may not impose any further
378restrictions on the recipients' exercise of the rights granted herein.
379You are not responsible for enforcing compliance by third parties with
380this License.
381
6382
383 11. If, as a consequence of a court judgment or allegation of patent
384infringement or for any other reason (not limited to patent issues),
385conditions are imposed on you (whether by court order, agreement or
386otherwise) that contradict the conditions of this License, they do not
387excuse you from the conditions of this License. If you cannot
388distribute so as to satisfy simultaneously your obligations under this
389License and any other pertinent obligations, then as a consequence you
390may not distribute the Library at all. For example, if a patent
391license would not permit royalty-free redistribution of the Library by
392all those who receive copies directly or indirectly through you, then
393the only way you could satisfy both it and this License would be to
394refrain entirely from distribution of the Library.
395
396If any portion of this section is held invalid or unenforceable under
397any particular circumstance, the balance of the section is intended to
398apply, and the section as a whole is intended to apply in other
399circumstances.
400
401It is not the purpose of this section to induce you to infringe any
402patents or other property right claims or to contest validity of any
403such claims; this section has the sole purpose of protecting the
404integrity of the free software distribution system which is
405implemented by public license practices. Many people have made
406generous contributions to the wide range of software distributed
407through that system in reliance on consistent application of that
408system; it is up to the author/donor to decide if he or she is willing
409to distribute software through any other system and a licensee cannot
410impose that choice.
411
412This section is intended to make thoroughly clear what is believed to
413be a consequence of the rest of this License.
414
415 12. If the distribution and/or use of the Library is restricted in
416certain countries either by patents or by copyrighted interfaces, the
417original copyright holder who places the Library under this License
418may add an explicit geographical distribution limitation excluding those
419countries, so that distribution is permitted only in or among
420countries not thus excluded. In such case, this License incorporates
421the limitation as if written in the body of this License.
422
423 13. The Free Software Foundation may publish revised and/or new
424versions of the Lesser General Public License from time to time.
425Such new versions will be similar in spirit to the present version,
426but may differ in detail to address new problems or concerns.
427
428Each version is given a distinguishing version number. If the Library
429specifies a version number of this License which applies to it and
430"any later version", you have the option of following the terms and
431conditions either of that version or of any later version published by
432the Free Software Foundation. If the Library does not specify a
433license version number, you may choose any version ever published by
434the Free Software Foundation.
435
7436
437 14. If you wish to incorporate parts of the Library into other free
438programs whose distribution conditions are incompatible with these,
439write to the author to ask for permission. For software which is
440copyrighted by the Free Software Foundation, write to the Free
441Software Foundation; we sometimes make exceptions for this. Our
442decision will be guided by the two goals of preserving the free status
443of all derivatives of our free software and of promoting the sharing
444and reuse of software generally.
445
446 NO WARRANTY
447
448 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
449WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
450EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
451OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
452KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
453IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
454PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
455LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
456THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
457
458 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
459WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
460AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
461FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
462CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
463LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
464RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
465FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
466SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
467DAMAGES.
468
469 END OF TERMS AND CONDITIONS
470
8471
472 How to Apply These Terms to Your New Libraries
473
474 If you develop a new library, and you want it to be of the greatest
475possible use to the public, we recommend making it free software that
476everyone can redistribute and change. You can do so by permitting
477redistribution under these terms (or, alternatively, under the terms
478of the ordinary General Public License).
479
480 To apply these terms, attach the following notices to the library.
481It is safest to attach them to the start of each source file to most
482effectively convey the exclusion of warranty; and each file should
483have at least the "copyright" line and a pointer to where the full
484notice is found.
485
486
487 <one line to give the library's name and a brief idea of what it does.>
488 Copyright (C) <year> <name of author>
489
490 This library is free software; you can redistribute it and/or
491 modify it under the terms of the GNU Lesser General Public
492 License as published by the Free Software Foundation; either
493 version 2.1 of the License, or (at your option) any later version.
494
495 This library is distributed in the hope that it will be useful,
496 but WITHOUT ANY WARRANTY; without even the implied warranty of
497 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
498 Lesser General Public License for more details.
499
500 You should have received a copy of the GNU Lesser General Public
501 License along with this library; if not, write to the Free Software
502 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
503
504Also add information on how to contact you by electronic and paper mail.
505
506You should also get your employer (if you work as a programmer) or
507your school, if any, to sign a "copyright disclaimer" for the library,
508if necessary. Here is a sample; alter the names:
509
510 Yoyodyne, Inc., hereby disclaims all copyright interest in the
511 library `Frob' (a library for tweaking knobs) written by James
512 Random Hacker.
513
514 <signature of Ty Coon>, 1 April 1990
515 Ty Coon, President of Vice
516
517That's all there is to it!
518
519
9520
=== added file 'COPYING.MIT'
--- COPYING.MIT 1970-01-01 00:00:00 +0000
+++ COPYING.MIT 2011-04-06 13:26:57 +0000
@@ -0,0 +1,21 @@
1
2Copyright © 2005 Novell, Inc.
3
4Permission to use, copy, modify, distribute, and sell this software
5and its documentation for any purpose is hereby granted without
6fee, provided that the above copyright notice appear in all copies
7and that both that copyright notice and this permission notice
8appear in supporting documentation, and that the name of
9Novell, Inc. not be used in advertising or publicity pertaining to
10distribution of the software without specific, written prior permission.
11Novell, Inc. makes no representations about the suitability of this
12software for any purpose. It is provided "as is" without express or
13implied warranty.
14
15NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
16INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
17NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR
18CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
19OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
20NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
21WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
0\ No newline at end of file22\ No newline at end of file
123
=== added file 'ChangeLog'
--- ChangeLog 1970-01-01 00:00:00 +0000
+++ ChangeLog 2011-04-06 13:26:57 +0000
@@ -0,0 +1,1795 @@
12006-06-21 David Reveman <davidr@novell.com>
2
3 * src/window.c: Add updateTransientHint to protect against circular
4 transient dependencies. (bnc 186825)
5
62006-06-20 David Reveman <davidr@novell.com>
7
8 * src/window.c (addWindowSizeChanges): Constrain window
9 dimensions if they are too large.
10
11 * gnome/window-decorator/gnome-window-decorator.c (get_mwm_prop):
12 Trap X errors.
13
142006-06-20 Dan Winship <danw@novell.com>
15
16 * configure.ac (ALL_LINGUAS): Add pl
17
182006-06-16 David Reveman <davidr@novell.com>
19
20 * plugins/compiz.schemas.in.in: Regen.
21
22 * plugins/switcher.c:
23 * plugins/scale.c: Add modal dialogs and fullscreen windows
24 to default window types. (bnc 185749)
25
26 * gnome/window-decorator/gnome-window-decorator.c: Track motif
27 WM hints and disable decorations when application wants no
28 titlebar. (bnc 185852)
29
302006-06-15 David Reveman <davidr@novell.com>
31
32 * plugins/cube.c (cubePaintTransformedScreen): Remove
33 PAINT_SCREEN_CLEAR_MASK from mask.
34
35 * plugins/switcher.c (switchPaintScreen): Add PAINT_SCREEN_CLEAR_MASK
36 when zooming. (bnc 183676)
37
38 * src/paint.c (paintTransformedScreen): Clear color buffer if
39 PAINT_SCREEN_CLEAR_MASK is present.
40
41 * include/compiz.h: Add PAINT_SCREEN_CLEAR_MASK.
42
43 * gnome/window-decorator/gnome-window-decorator.c: Add DM selection
44 support and --repalce option so it's possible to replace an
45 existing window decorator in the same way as it's possible to replace
46 a window manager. (bnc 185296)
47 (close_button_event):
48 (max_button_event):
49 (min_button_event): De-highlight on NotifyGrab. (bnc 185293)
50
512006-06-12 Dan Winship <danw@novell.com>
52
53 * plugins/cube.c:
54 * plugins/switcher.c: Mark cube as needing to load before switcher
55 rather than marking switcher as requiring cube. bnc #183676.
56
57 * plugins/gconf-dump.c (dumpPluginOptions): Output load_before and
58 requires for all plugins, even if the list is empty, to ensure
59 that an empty value in a new release overrides a non-empty value
60 in an older release.
61
62 * plugins/compiz.schemas.in.in: regen
63
642006-06-09 Dan Winship <danw@novell.com>
65
66 * configure.ac: add translations
67
682006-06-09 David Reveman <davidr@novell.com>
69
70 * plugins/move.c (moveHandleMotionEvent): Handle shaded windows
71 better.
72
73 * src/window.c (maximizeWindow):
74 * src/event.c (handleEvent): Allow windows to be both maximized
75 and shaded.
76
77 * src/window.c: Update addWindowSizeChanges so it can be used by
78 moveResizeWindow.
79 (updateWindowAttributes): Add missing sendSyncRequest call.
80 (addWindowSizeChanges): Make maximized window placement a bit better.
81 (moveResizeWindow): Adjust window geometry using
82 addWindowSizeChanges. (bnc 183121)
83
84 * src/window.c: Only allow shading on windows with top decoration.
85
86 * src/event.c (handleEvent): Check that shade action is allowed
87 before shading a window.
88
892006-06-08 David Reveman <davidr@novell.com>
90
91 * plugins/decoration.c (decorInitWindow):
92 * plugins/minimize.c (minInitWindow):
93 * src/window.c (addWindow): Handle initially shaded windows
94 correctly.
95
96 * plugins/switcher.c (switchTerminate): Only use hideWindow
97 if switcher window is managed and mapped.
98 (switchInitiate): Only use showWindow if switcher window is
99 hidden. (bnc 182519)
100
101 * plugins/minimize.c (minHandleEvent): Make sure we adjust the window
102 region correctly when it's being unshaded.
103
1042006-06-07 David Reveman <davidr@novell.com>
105
106 * configure.ac: Bump version to 0.0.13.
107
108 * plugins/compiz.schemas.in.in: Regen.
109
110 * src/window.c: Add window shading support.
111
112 * src/screen.c:
113 * src/paint.c:
114 * src/event.c: Adjust for window shading support.
115 (handleEvent): Handle RESTACK client messages with sibling None
116 correctly.
117
118 * src/event.c:
119 * src/display.c: Add toggle window shade binding.
120
121 * plugins/minimize.c: Add window shading animation support.
122
123 * plugins/fade.c:
124 * plugins/place.c:
125 * plugins/resize.c:
126 * plugins/scale.c:
127 * plugins/switcher.c:
128 * plugins/decoration.c: Adjust for window shading support.
129
130 * include/compiz.h: Add window shading support.
131
132 * gnome/window-decorator/gnome-window-decorator.c: lower_window ->
133 restack_window and change it so it can be used for both
134 raising and lowering a window.
135 Add support for double_click_titlebar setting.
136 (title_event): Don't activate window on titlebar click only
137 raise it. Use double_click_action to determine what should be
138 done when titlebar is double clicked.
139 (update_event_windows): Remove vertical resize event windows
140 when top level window is shaded.
141 (window_state_changed): Update event windows when window state
142 changed.
143
144 * gnome/window-decorator/gnome-window-decorator.c:
145 * gnome/compiz-window-manager.c: Add support for shade double click
146 setting.
147
148 * plugins/compiz.schemas.in.in: Regen.
149
150 * plugins/cube.c (cubePaintTransformedScreen):
151 * plugins/wobbly.c (wobblyDrawWindowGeometry):
152 * plugins/switcher.c (switchPaintWindow):
153 * src/paint.c (drawWindowGeometry): Disable client-side texture
154 coordinate arrays that are not used. (bnc #182430)
155
156 * plugins/compiz.schemas.in.in:
157 * plugins/resize.c:
158 * plugins/move.c: Add initiate_keyboard binding which is more
159 appropriate for key-binding as it moves the cursor to middle of
160 window.
161
1622006-06-06 David Reveman <davidr@novell.com>
163
164 * plugins/switcher.c: Track thumbnail damage correctly.
165 (switchPaintScreen): Only intercept paintScreen when screen is
166 grabbed or we're zooming and ss->translate > 0.001.
167 (switchPaintScreen): Paint switcher window correctly when we're
168 not zooming.
169 Add cube as a dependency to make sure background is rendered
170 correctly when zooming.
171 (bnc #181909)
172
173 * src/window.c (moveResizeWindow, ensureWindowVisibility):
174 Don't make sure fullscreen windows are in workarea.
175 (fdo #7115) (bnc #181907)
176
177 * src/event.c (handleEvent): Track XA_WM_CLASS property changes.
178
179 * src/window.c:
180 * include/compiz.h: remove updateWindowClass and update
181 updateWindowClassHints.
182
1832006-06-02 David Reveman <davidr@novell.com>
184
185 * configure.ac: Bump version to 0.0.12.
186
187 * src/event.c (handleEvent): Fix typo.
188
189 * gnome/window-decorator/gnome-window-decorator.c:
190 Hide tooltips on NotifyGrab. (bnc #180692)
191
1922006-06-01 Dan Winship <danw@novell.com>
193
194 * src/event.c (handleEvent): If we receive a _NET_SHOWING_DESKTOP
195 request with no window set, set the flag on all screens. (Fixes
196 the KDE "show desktop" applet.) Also, don't allow a client to
197 change its _NET_WM_DESKTOP.
198
199 * src/window.c (addWindow): Set _NET_WM_DESKTOP on all windows to
200 0; KDE's pager and tasklist require this to be set. (bnc 178320)
201
2022006-06-01 David Reveman <davidr@novell.com>
203
204 * include/compiz.h:
205 * src/window.c: Add updateWindowClass.
206
2072006-05-31 David Reveman <davidr@novell.com>
208
209 * include/compiz.h:
210 * src/screen.c:
211 * src/display.c: Add hide_skip_taskbar_windows option. (bnc 180055)
212
213 * include/compiz.h:
214 * src/window.c: Add getStartupId.
215
216 * src/screen.c: Save initial viewport when startup notification
217 is received. Fix implementation of applyStartupProperties.
218 (bnc 180224)
219
220 * src/event.c (handleEvent): Handle startup ID property changes.
221
222 * plugins/place.c: Adjust work area to initial viewport.
223
224 * plugins/cube.c (cubePaintTransformedScreen): Disable skydome
225 animation while cube is unfolded. (bnc 179833)
226
227 * plugins/switcher.c (switchPaintWindow): Make sure selected window is
228 not clipped incorrectly when some window is transformed. (bnc 179828)
229
230 * plugins/move.c (moveHandleEvent): Initialize xRoot and yRoot.
231 (bnc 179902)
232
233 * src/Makefile.am (INCLUDES): Add @GL_CFLAGS@. (Eric Work)
234
2352006-05-30 Dan Winship <danw@novell.com>
236
237 * configure.ac: Check libwnck for wnck_window_has_name (new in
238 HEAD).
239
240 * gnome/window-decorator/gnome-window-decorator.c
241 (wnck_window_get_real_name): #if HAVE_WNCK_WINDOW_HAS_NAME,
242 redefine wnck_window_get_name to return NULL if the window only
243 has a fallback name. bnc 173059.
244
245 * src/event.c (handleEvent): call moveInputFocusToOtherWindow()
246 before destroyWindow() when processing a DestroyNotify, or else
247 the input focus can get stranded.
248
2492006-05-26 David Reveman <davidr@novell.com>
250
251 * plugins/compiz.schemas.in.in: Regen.
252
253 * plugins/scale.c (SCALE_SLOPPY_FOCUS_DEFAULT): TRUE.
254
255 * plugins/decoration.c (decorWindowUpdate): No drop-shadow decoration
256 on windows with below state.
257
258 * src/window.c (recalcWindowType): Treat dock windows with below state
259 as normal windows. (bnc #178316)
260
261 * plugins/cube.c (cubePaintTransformedScreen): Avoid optimized case
262 when more than 4 cube sides.
263
2642006-05-25 David Reveman <davidr@novell.com>
265
266 * plugins/compiz.schemas.in.in: Regen.
267
268 * src/window.c (moveResizeWindow): Don't adjust position for NorthWest
269 gravity. (bnc 178765) (fdo #6992)
270
271 * plugins/compiz.schemas.in.in:
272 * include/compiz.h:
273 * src/event.c (handleEvent):
274 * src/display.c: Add maximize_window_horizontally,
275 maximize_window_vertically, toggle_window_maximized,
276 toggle_window_maximized_horizontally,
277 toggle_window_maximized_vertically.
278
279 * src/event.c (handleEvent): Track changes to maximizeWindow function.
280
281 * plugins/move.c (moveHandleMotionEvent): Make sure we have a saved
282 width before we use it. Track changes to maximizeWindow function.
283
284 * plugins/wobbly.c (wobblyHandleEvent): Handle the case where
285 window is not both vertically and horizontally maximized better.
286
287 * include/compiz.h: Add MAXIMIZE_STATE macro.
288
289 * include/compiz.h:
290 * src/window.c: Remove unmaximizeWindow and make maximizeWindow
291 take a state mask so it can be used for both maximizing and
292 unmaximizing.
293
294 * plugins/switcher.c: Don't add windows that appear after the switcher
295 is popped up. (bnc 178350)
296 (switchWindowRemove): Don't create a new list. Instead remove
297 window from the existing list and make sure we're positioned
298 correctly.
299
3002006-05-24 David Reveman <davidr@novell.com>
301
302 * plugins/scale.c (scaleMoveFocusWindow): When moving to window on
303 left, make sure the window we're moving to is completely left of
304 currently selected window. And same thing when moving to window on
305 right, top, bottom.
306 (layoutThumbs): Set slot->x2 and slot->y2 correctly. (bnc 178216)
307
3082006-05-23 David Reveman <davidr@novell.com>
309
310 * plugins/water.c: GL_UNSIGNED_INT_8_8_8_8_REV as pixel data type on
311 MSBFirst machines.
312
313 * src/texture.c: Include config.h before compiz.h so that
314 IMAGE_BYTE_ORDER is defined correctly. (bnc 178171)
315
316 * include/compiz.h: Define LSBFirst, MSBFirst, IMAGE_BYTE_ORDER,
317 BITMAP_BIT_ORDER. (bnc 178171)
318
3192006-05-23 Dan Winship <danw@novell.com>
320
321 * plugins/switcher.c (switchToWindow): use ss->windows here as
322 well so that multiple activeNum==0 windows don't get skipped.
323 (switchTerminate): Remove the screen grab right away so that
324 keystrokes don't get dropped. bnc 177650
325 (switchPreparePaintScreen, switchPaintScreen,
326 switchDonePaintScreen): update for that
327
3282006-05-22 Dan Winship <danw@novell.com>
329
330 * src/window.c (moveResizeWindow): deal with both vertical and
331 horizontal struts; but not when moving a dock window
332
333 * plugins/switcher.c (switchHandleEvent): Check init_all binding
334 before init, so you can bind "<Alt>" to init_all and so end up
335 with "<Alt>Tab" being init_all rather than init (but with no way
336 to get "init"...). bnc 173376
337
3382006-05-21 David Reveman <davidr@novell.com>
339
340 * src/display.c (addDisplay): Select for button events on root windows.
341
342 * configure.ac: Bump version to 0.0.11.
343
344 * gnome/window-decorator/gnome-window-decorator.c: Fix shadow
345 performance by separating the convolution filter into one vertical and
346 one horizontal pass.
347
348 * src/window.c (mapWindow): Give sync request on map another try, it
349 seems to be working now.
350
351 * src/window.c (addWindow): Allow XGetWindowAttributes to fail.
352 (bnc 173416).
353
354 * src/window.c (addWindow): Initialize managed to false. Set managed
355 to true if widows is viewable.
356
357 * src/event.c (handleEvent): Set managed to false when window
358 transitions to withdrawn state.
359 (handleEvent): Set managed to true when we get MapRequest.
360 (handleEvent): Constrain configure request if window is managed.
361
362 * include/compiz.h: Add "managed" variable that is true while
363 windows is managed.
364
3652006-05-19 David Reveman <davidr@novell.com>
366
367 * plugins/switcher.c (ICON_SIZE): Allow use of larger window icons.
368
3692006-05-18 Dan Winship <danw@novell.com>
370
371 * plugins/wobbly.c (WOBBLY_FOCUS_DEFAULT): Set this to "None" to
372 match wobblyInitScreen() so that it actually works right.
373
374 * plugins/compiz.schemas.in.in: regen
375
3762006-05-18 Dan Winship <danw@novell.com>
377
378 * src/session.c (saveYourselfCallback): if we have a
379 RestartCommand registered with the session manager, update the
380 --sm-client-id in it to match the id we were assigned. bnc 176746
381
382 * src/main.c (main, usage): remove unused --sm-save-file arg and
383 fix documentation of --sm-client-id.
384
3852006-05-17 David Reveman <davidr@novell.com>
386
387 * plugins/compiz.schemas.in.in: Regen (Overlay Icon).
388
389 * plugins/switcher.c (switchPaintScreen): Don't remove switcher
390 from window list, just temporarily mark it as destroyed. This fixes
391 issue with switcher decorations disappearing when some window is
392 unmapped.
393
394 * src/screen.c (updateDefaultIcon): width and height should be
395 unsigned.
396
397 * gnome/window-decorator/gnome-window-decorator.c: Add minimal
398 option that can be used to run g-w-d with drop-shadows but without full
399 window decorations.
400
401 * plugins/minimize.c (minHandleEvent): Restore window position
402 when transitioning to withdrawn state.
403
404 * plugins/scale.c: Remove next_window binding and fix so that arrow
405 keys can be used to select window.
406 Focus new window when pointer enter window decorations and sloppy focus
407 is used.
408 Remove scaleSelectWindow.
409
410 * plugins/scale.c: Icon support (Nat Friedman).
411
4122006-05-17 Dan Winship <danw@novell.com>
413
414 * src/display.c (handleSelectionClear, eventLoop): don't process
415 exit-on-selection-clear until the event queue is empty, or else
416 MapRequest and ConfigureRequest events could get lost. bnc 175558
417
4182006-05-14 David Reveman <davidr@novell.com>
419
420 * src/event.c (handleEvent): mapNum might be 0 if we found the window
421 unmapped when trying to bind it to a texture.
422
4232006-05-12 David Reveman <davidr@novell.com>
424
425 * src/screen.c (enterShowDesktopMode): Only go into show desktop mode
426 when some window is being hidden.
427
428 * src/event.c (handleWindowDamageRect): Make sure placed is set to true
429 when no plugin is doing placement.
430 (handleEvent): Don't set WM_STATE on override redirect windows.
431
432 * plugins/switcher.c (isSwitchWin): Don't show windows that ask not to
433 be in tasklists.
434
435 * plugins/rotate.c (rotateHandleEvent): Only adjust viewport if window
436 has been placed.
437
438 * plugins/minimize.c (minHandleEvent): Reset everything when going
439 into withdrawn state.
440
441 * src/window.c (moveResizeWindow): Handle west and north gravity
442 correctly.
443
4442006-05-11 David Reveman <davidr@novell.com>
445
446 * src/display.c (addDisplay):
447 * src/screen.c (addScreen): Move server grab to addDisplay to make
448 sure that no windows are created between XSelectInput and XQueryTree
449 as that would result in them being added two times.
450
451 * src/window.c (moveResizeWindow): Fix typo, CWY should be CWX.
452 (moveResizeWindow): Constrain Y position so that window titlebar is
453 visible.
454 (restoreWindowGeometry): Fix issue with going from maximized state
455 to non-maximized state without changing the window size.
456
457 * gnome/window-decorator/gnome-window-decorator.c
458 (max_window_name_width): Make sure title text fit in titlebar.
459
4602006-05-11 Dan Winship <danw@novell.com>
461
462 * plugins/gconf-compiz-utils.c (gconfStringToBinding): Treat "" as
463 meaning "disabled"
464
4652006-05-11 David Reveman <davidr@novell.com>
466
467 * gnome/window-decorator/gnome-window-decorator.c (action_menu_map):
468 Don't show window action menu on desktop and dock windows.
469
470 * src/event.c (handleEvent): Allow click on window decorations
471 to trigger window action menu.
472
473 * plugins/place.c (placeWindow): Place fullscreen and maximized
474 windows correctly.
475 (placeWindow): Only clip dialog position to screen if parent is
476 visible in current viewport.
477
4782006-05-09 David Reveman <davidr@novell.com>
479
480 * plugins/switcher.c (switchPaintThumb): Rearrange code so we handle
481 the case when bindWindow fails.
482
483 * src/paint.c (paintWindow): Bail out if window is not mapped.
484
485 * src/window.c (bindWindow): Make sure window is mapped when
486 getting the window pixmap. (bnc 173248)
487
488 * plugins/compiz.schemas.in.in: Regen.
489
490 * plugins/cube.c (CUBE_MIPMAP_DEFAULT): Enable by default as
491 performance seem to be OK now when new mipmaps are only generated
492 when necessary.
493
494 * src/texture.c (enableTexture): Don't generate new mipmaps
495 every time the texture is used.
496
4972006-05-08 David Reveman <davidr@novell.com>
498
499 * plugins/switcher.c: Allow switcher to be initiated with prev
500 bindings. (Quinn Storm)
501
5022006-05-07 David Reveman <davidr@novell.com>
503
504 * plugins/compiz.schemas.in.in: Regen.
505
506 * plugins/switcher.c: Add icon support, minimized windows support
507 and allow switcher to show up when only one selectable window exist.
508
509 * images/Makefile.am: Add default icon image.
510
511 * include/compiz.h:
512 * src/texture.c:
513 * src/event.c (handleEvent):
514 * src/screen.c:
515 * src/display.c:
516 * src/window.c: Add WM icon interface.
517
518 * gnome/window-decorator/gnome-window-decorator.c: Compute
519 switcher title text width correctly.
520
521 * src/event.c (handleEvent): Insert windows correctly when
522 reparenting.
523
5242006-05-07 Dan Winship <danw@novell.com>
525
526 * configure.ac: Add --with-scale-corner option and make
527 compiz.schemas reflect it; the best corner to use depends on where
528 the panels are and what's on them, so distros will want to
529 override this to match their default panel layout.
530
531 * src/event.c (eventMatches): Fix the the "water plugin gets
532 mysteriously activated when activating some other keybinding" bug.
533
5342006-05-05 Dan Winship <danw@novell.com>
535
536 * Makefile.am:
537 * autogen.sh:
538 * configure.ac: require intltool for option-description
539 translation
540
541 * plugins/Makefile.am: translate compiz.schemas.in into
542 compiz.schemas
543
5442006-05-05 Dan Winship <danw@novell.com>
545
546 * src/display.c (COMMAND_OPTION): Put numbers into the shortDescs
547 of the command and run_command options
548
549 * plugins/wobbly.c (WOBBLY_SNAP_MODIFIERS_DEFAULT): Use Shift
550 rather than Control, for consistency with Metacity, and to remove
551 the ambiguity about whether Ctrl+Alt+Button1 should be "grab cube"
552 or "move with snapping". (bnc 169402)
553
554 * plugins/compiz.schemas: regen
555
5562006-05-05 David Reveman <davidr@novell.com>
557
558 * plugins/compiz.schemas: Regen.
559
560 * gnome/window-decorator/gnome-window-decorator.c: Forward
561 metacity's bell settings to compiz.
562
563 * plugins/water.c:
564 * plugins/wobbly.c:
565 * plugins/fade.c: Add visual bell.
566
567 * include/compiz.h:
568 * src/display.c: Add audible bell option.
569
5702006-05-04 David Reveman <davidr@novell.com>
571
572 * src/window.c (getModalTransient): Avoid infinite recursion when more
573 than one group transient got modal state.
574
5752006-05-03 David Reveman <davidr@novell.com>
576
577 * plugins/move.c:
578 * plugins/resize.c (resizeHandleMotionEvent): Don't constrain the
579 cursor.
580
581 * plugins/rotate.c (rotateHandleEvent): Use defaultViewportForWindow
582 to figure out which viewport we should move to. (bnc 152677)
583
584 * src/window.c (addWindowSizeChanges): Offset x coordinate with
585 default viewport coordinate. (bnc 171465)
586 (updateWindowAttributes): Always add windows size changes. (bnc 171465)
587
588 * include/compiz.h:
589 * src/window.c (defaultViewportForWindow): Add defaultViewportForWindow
590 function that computes the default viewport for a window.
591
5922006-05-02 David Reveman <davidr@novell.com>
593
594 * plugins/cube.c (cubePaintTransformedScreen): Bump up size a bit more
595 to make sure the cube unfolds completely.
596
597 * src/event.c (handleEvent): Not constraints should be applied to
598 ConfigureRequests for withdrawn windows. (bnc 171143)
599
600 * src/window.c (syncWindowPosition): We never need to send synthetic
601 ConfigureNotify events as we're not reparenting windows.
602
6032006-05-02 Dan Winship <danw@novell.com>
604
605 * plugins/gconf-dump.c: rewrite to make compiz.schema regeneration
606 a little easier, and to make it possible to generate schema files
607 for third-party plugins. Include plugin descriptions and
608 dependency information in the schema.
609
610 * plugins/Makefile.am: add a rule to generate compiz.schemas
611
612 * plugins/compiz.schemas: regen
613
614 * plugins/cube.c, plugins/decoration.c, plugins/fade.c,
615 plugins/gconf.c, plugins/minimize.c, plugins/wobbly.c:
616 s/expose/scale/ in dependencies
617
6182006-05-02 David Reveman <davidr@novell.com>
619
620 * include/compiz.h:
621 * configure.ac: Don't require glproto, include necessary enums in
622 compiz.h.
623
624 * src/texture.c:
625 * include/compiz.h: Update to latest EXT_tfp spec. Requires an
626 X server that has also been updated.
627
628 * configure.ac: Require glproto >= 1.4.7 with final EXT_tfp tokens.
629
6302006-05-01 David Reveman <davidr@novell.com>
631
632 * src/window.c (circulateWindow):
633 * src/event.c (handleEvent): Use getTopWindow instead of
634 reverseWindows->id as reverseWindows might be a destroyed window.
635
636 * include/compiz.h:
637 * src/screen.c: Add getTopWindow function that returns top window.
638
6392006-04-30 David Reveman <davidr@novell.com>
640
641 * plugins/compiz.schemas: Regen.
642
643 * plugins/decoration.c (decorWindowUpdate): Don't decorate fullscreen
644 windows.
645
646 * plugins/cube.c: Add initial support for unfolding the cube. Default
647 key-binding is <Control><Alt>Down.
648
649 * plugins/rotate.c (rotateHandleEvent): Fix absolute rotation.
650
651 * plugins/switcher.c: Fix so that bring-to-front doesn't change
652 the actual stacking order.
653 Add zoom option, enable it by default so it gets some testing.
654 Made bring-to-front enabled by default as it makes zoom functionality
655 more useful.
656 Made switcher window always rendered above all other windows and
657 not affected by screen transformations.
658
659 * src/event.c (handleEvent): Send configure notify before mapping
660 window if PPosition or USPosition is set.
661
662 * src/screen.c (insertWindowIntoScreen): Sibling above doesn't have to
663 be mapped. This change seem to currently by causing the
664 stacking order of some override-redirect windows to be incorrect.
665 Don't insert window when aboveId doesn't match an existing window.
666 (removeScreenGrab): ifdef DEBUG around abort.
667
668 * src/event.c (handleEvent): Only update active window property
669 when it's changing.
670
671 * src/window.c (sendConfigureNotify): Make sure the latest
672 window attributes are put in the ConfigureNotify.
673 (moveResizeWindow): Only send sync request if window is mapped.
674
675 * plugins/rotate.c: Add support for edge-flipping when using
676 drag-and-drop. Remove edge_flip and flip_move options and add
677 edge_flip_pointer, edge_flip_move, edge_flip_dnd.
678
679 * src/screen.c:
680 * src/display.c:
681 * include/compiz.h:
682 Make screen edges drag-and-drop aware.
683
684 * plugins/zoom.c:
685 * plugins/water.c:
686 * plugins/switcher.c:
687 * plugins/scale.c:
688 * plugins/rotate.c:
689 * plugins/resize.c:
690 * plugins/move.c:
691 * src/scren.c:
692 * include/compiz.h:
693 Variable argument list to otherScreenGrabExist, last argument must
694 be 0.
695
696 * src/event.c:
697 * src/display.c:
698 * include/compiz.h: Add raise-on-click option.
699
700 * gnome/window-decorator/gnome-window-decorator.c (title_event):
701 Activate window when clicking titlebar.
702
7032006-04-28 David Reveman <davidr@novell.com>
704
705 * gnome/window-decorator/gnome-window-decorator.c: Back out last change
706 as it clearly didn't fix anything. XFixed being defined as "int"
707 is perfectly fine of course. libXrender is currently broken on 64bit.
708 See Bug #6774 for a fix.
709 (XRenderSetPictureFilter_wrapper): Add workaround for 64bit
710 issue in libXrender. (Dan Winship)
711
712 * src/event.c (handleEvent):
713 * src/display.c:
714 * include/compiz.h:
715 Add show desktop binding. (Martin Szulecki)
716
717 * plugins/rotate.c: Reset timout handle correctly.
718
719 * plugins/move.c:
720 * plugins/resize.c:
721 * plugins/rotate.c:
722 * plugins/scale.c:
723 * plugins/switcher.c:
724 * plugins/water.c:
725 * plugins/zoom.c: Track screen grab changes changes.
726
727 * src/screen.c:
728 * include/compiz.h: Associate all screen grabs with a name. Add
729 otherScreenGrabExist function which can be used to check if screen
730 is grabbed by other plugins.
731
7322006-04-28 Dan Winship <danw@novell.com>
733
734 * src/event.c (eventMatches): new method that replaces EV_KEY and
735 EV_BUTTON. Tests if an event matches a binding, being more precise
736 about modifier state than EV_KEY and EV_BUTTON were.
737 (eventTerminates): Tests if an event is "the opposite" of a
738 binding. (Eg, button or modifier key release.) Replaces
739 CompReleaseMask and "terminate" bindings.
740 (handleEvent): Use eventMatches
741
742 * src/screen.c (addPassiveKeyGrab, removePassiveKeyGrab,
743 updatePassiveKeyGrabs): When passed a keybinding containing just
744 modifiers, grab/ungrab every keypress event that would result in
745 that modifier state (eg, both left and right modifier keys, and
746 allow them to be pressed in any order).
747
748 * src/display.c: Remove CompPressMask from default bindings.
749 (eventLoop): don't add virtual modifiers to event state.
750 (updateModifierMappings): store the XModifierKeymap for later
751 use.
752
753 * plugins/*.c: Use eventMatches and eventTerminates. Remove
754 CompPressMask and "terminate" bindings (except from scale, which
755 is different from the others).
756
757 * plugins/switcher.c: Make initiate_all be just the modifier key
758 used in addition to the initiate binding ("<Control>"). Remove
759 next_window since it doesn't make a lot of sense to have it be
760 different from initiate_all, and make prev_window be just a
761 modifier key as well. ("<Shift>").
762 (SwitchScreen): add extra options to store the fully-composed
763 initiate_all, prev, and prev_all bindings.
764 (switchScreenInitOptions, switchSetScreenOption): Generate and
765 regenerate initiate_all, prev, and prev_all bindings as needed.
766 (switchHandleEvent): update
767
768 * plugins/gconf-compiz-utils.c: Remove "<Release>" handling.
769
770 * plugins/compiz.schemas: regen, dropping the terminate bindings
771 and updating a few others.
772
773 * include/compiz.h: remove CompPressMask, CompReleaseMask,
774 EV_BUTTON, and EV_KEY. Add eventMatches, eventTerminates, and
775 keycodeToModifiers. Add modMap field to CompDisplay.
776
7772006-04-28 David Reveman <davidr@novell.com>
778
779 * plugins/water.c: Handle enter/leave notify events.
780
781 * plugins/decoration.c (decorInitWindow): Check for window specific
782 decoration on both mapped and unmapped windows so that initially
783 minimized windows get properly decorated. (Dan Winship)
784
785 * gnome/window-decorator/gnome-window-decorator.c: Use xfixed_16_16_t
786 instead of XFixed to avoid 64bit issue with XFixed being defined as
787 "int".
788
789 * configure.ac: xrender 0.8.4 is good enough.
790
7912006-04-27 Dan Winship <danw@novell.com>
792
793 * plugins/rotate.c (rotateHandleEvent): for the
794 rotate-to-specific-face keys, rotate counterclockwise when that's
795 faster. (bnc 169427)
796
797 * plugins/scale.c (scaleHandleEvent): Make the corners toggle
798 scale mode rather than only activating it. (bnc 169408)
799
8002006-04-27 David Reveman <davidr@novell.com>
801
802 * configure.ac: Bump version to 0.0.10.
803
804 * plugins/decoration.c: Remove debug variable.
805
806 * src/window.c (addWindow): Check if window is minimized. (Dan Winship)
807
808 * plugins/compiz.schemas: Regen (snapoff and maximize_effect).
809
810 * plugins/wobbly.c: Add maximize effect.
811
812 * plugins/zoom.c:
813 * plugins/water.c:
814 * plugins/rotate.c:
815 * plugins/resize.c:
816 * plugins/move.c:
817 * src/event.c:
818 * src/screen.c:
819 * src/display.c:
820 * include/compiz.h: Add proper warp pointer interface and update
821 all plugins to use it.
822
8232006-04-26 Dan Winship <danw@novell.com>
824
825 * src/event.c (handleEvent): activate window on Button2 click in
826 addition to Button1 and Button3.
827
828 * plugins/gconf.c (gconfSetOption): gconf_value_compare against
829 the old value for list-type options too.
830 (gconfInitOption): Change the call to gconf_client_get_entry to
831 request the default value again; the fix to gconfSetOption will
832 prevent the infinite loops that happened before.
833
8342006-04-26 David Reveman <davidr@novell.com>
835
836 * gnome/window-decorator/gnome-window-decorator.c (update_shadow):
837 Remove comment that is no longer valid.
838
839 * plugins/move.c: Support for maximized windows snap-off. Based on
840 patch by Colin Guthrie.
841
842 * plugins/rotate.c (rotateHandleEvent): Don't do edge flipping
843 when a horizontally maximized or fullscreen window is grabbed.
844
845 * plugins/zoom.c:
846 * plugins/rotate.c:
847 * plugins/resize.c:
848 * plugins/move.c:
849 * src/screen.c:
850 * include/compiz.h: Add warpPointerToScreenPos and use it everywhere
851 we want to invisibly warp the pointer.
852
8532006-04-25 David Reveman <davidr@novell.com>
854
855 * gnome/window-decorator/gnome-window-decorator.c:
856 * plugins/decoration.c: Add clamp and min size.
857
858 * plugins/decoration.c (decorReleaseDecoration): Fix memory leak.
859
860 * plugins/scale.c: Click on background leaves scale mode and enters
861 show desktop mode. (Dan Winship)
862
863 * plugins/minimize.c (minHandleEvent): Initialize scale and
864 translate properly.
865
866 * src/window.c (activateWindow):
867 * src/event.c (handleEvent):
868 * src/screen.c: Add window parameter to leaveShowDesktopMode and
869 use this function for making one window leave show desktop mode.
870 Fixes so that we're leaving show desktop mode when no windows
871 are longer hidden.
872
873 * plugins/scale.c (scaleSetScreenOption): Add missing break statement.
874
875 * plugins/rotate.c (rotateInitScreen): Initialize rotateHandle.
876
877 * src/paint.c (paintScreen): Only paint windows that have been
878 damaged.
879
8802006-04-24 Dan Winship <danw@novell.com>
881
882 * plugins/scale.c:
883 * plugins/switcher.c: clarify the "initiate" descriptions
884
885 * plugins/compiz.schemas: regen
886
8872006-04-24 David Reveman <davidr@novell.com>
888
889 * src/paint.c (paintScreen): Always call paintWindow when window
890 is visible. Fixes so that window animations (fade, minimize...) aren't
891 paused when if window becomes invisible.
892 (paintWindow): Return early if region is empty.
893
894 * plugins/switcher.c: Use hideWindow and showWindow so that the
895 decoration doesn't have to be redrawn every time the switcher window
896 is mapped.
897
898 * src/window.c:
899 * include/compiz.h: Add hidden flag, that can be used to hide windows
900 without minimizing them.
901
902 * plugins/compiz.schemas: Regen (drop-shadow options).
903
904 * configure.ac: xrender 0.9, required for g-w-d.
905
906 * gnome/window-decorator/gnome-window-decorator.c:
907 * plugins/decoration.c: Add configurable drop-shadows. A minor issue is
908 that shadows around "tiny" windows are not rendered correctly when
909 large shadow offsets are used. Solution is to have the decorator set
910 a minimum size for which a decoration can be used so that no shadows
911 are rendered around "tiny" windows.
912
9132006-04-20 Dan Winship <danw@novell.com>
914
915 * plugins/rotate.c: add 12 go-directly-to-cube-face and 12
916 go-directly-to-cube-face-with-window bindings.
917
918 * src/display.c (compDisplayInitOptions): fix the binding type on
919 WINDOW_MENU.
920
921 * plugins/compiz.schemas: Regen. (lower_window, window_menu,
922 scale_image, images, resize, flip_move, move_window_types, and the
923 new rotate bindings)
924
9252006-04-20 David Reveman <davidr@novell.com>
926
927 * src/window.c:
928 * src/event.c (handleEvent):
929 * src/display.c:
930 * include/compiz.h:
931 * gnome/window-decorator/gnome-window-decorator.c: Add force quit
932 dialog.
933
934 * plugins/resize.c: Changed default binding to Button2.
935
936 * src/display.c (LOWER_WINDOW_BUTTON_DEFAULT): Button2 -> 6.
937
938 * gnome/window-decorator/gnome-window-decorator.c:
939 * include/compiz.h:
940 * src/event.c (handleEvent):
941 * src/display.c: Add window menu binding.
942
943 * gnome/window-decorator/gnome-window-decorator.c: Pick up toolkit
944 actions from compiz and send gnome panel actions for "main menu" and
945 "run dialog" actions.
946
947 * src/event.c (handleEvent):
948 * src/screen.c:
949 * include/compiz.h:
950 * src/display.c (addDisplay): panel action -> toolkit action.
951
952 * src/window.c (getModalTransient): Group transient must not be an
953 ancestor to the window we've currently found as the window to focus.
954 (getModalTransient): Check for child modal transient.
955
9562006-04-19 David Reveman <davidr@novell.com>
957
958 * gnome/compiz-window-manager.c: Be nice to gnome-theme-manager
959 and return a theme even though we currently don't support it.
960
961 * include/compiz.h:
962 * src/main.c: Remove window-image option.
963
964 * include/compiz.h:
965 * plugins/water.c:
966 * plugins/cube.c:
967 * src/texture.c:
968 * src/paint.c:
969 * src/main.c: Add strict-binding option.
970
9712006-04-18 Dan Winship <danw@novell.com>
972
973 * src/event.c (handleEvent): Fix a crasher in the screenshot
974 binding code (and rename some of the #defines to make them not so
975 ridiculously long). Also temporarily hack around a bug in EV_KEY
976 by putting the check for WINDOW_SCREENSHOT before the check for
977 SCREENSHOT.
978
979 * plugins/scale.c: Change the keybinding again, now to "Pause".
980 (F11 is the "fullscreen mode" binding for many apps.)
981
982 * plugins/compiz.schemas: update
983
984 * plugins/gconf.c:
985 * plugins/gconf-compiz-utils.c:
986 * plugins/gconf-dump.c: Rearrange #includes to prevent warning
987 about TRUE and FALSE being redefined
988
9892006-04-18 David Reveman <davidr@novell.com>
990
991 * plugins/rotate.c (ROTATE_FLIPMOVE_DEFAULT): Changed to TRUE.
992
993 * src/window.c (recalcWindowActions): Remove maximize and fullscreen
994 actions when resizing isn't allowed.
995
996 * gnome/window-decorator/gnome-window-decorator.c: Dynamic positioning
997 of window buttons.
998
999 * plugins/cube.c (readSvgToTexture): Fix typo.
1000
1001 * plugins/resize.c: Constrain cursor movement to min/max window size.
1002
1003 * src/window.c (constrainNewWindowSize): Fix aspect ratio calculations.
1004
10052006-04-17 David Reveman <davidr@novell.com>
1006
1007 * plugins/cube.c: Put PNG on top face by default.
1008
1009 * images/Makefile.am: Remove window.png.
1010 Add novell.png.
1011
1012 * include/compiz.h:
1013 * src/readpng.c: Add openImageFile.
1014
1015 * plugins/cube.c: Support for PNGs on top face.
1016 Add scale image option which is used to determine if top face
1017 image should be scaled or not.
1018
10192006-04-15 David Reveman <davidr@novell.com>
1020
1021 * plugins/wobbly.c: Add modal dialog type to default list of windows
1022 that should be wobbly when moved.
1023
1024 * plugins/water.c (SET): +1 for border.
1025
10262006-04-14 Dan Winship <danw@novell.com>
1027
1028 * plugins/gconf-dump.c: add "water" to gconfDeps
1029
1030 * plugins/compiz.schemas: regen including the water options
1031
10322006-04-14 David Reveman <davidr@novell.com>
1033
1034 * src/event.c (handleWindowDamageRect): Ignore damage from windows
1035 that aren't redirected.
1036
1037 * include/compiz.h:
1038 * src/window.c:
1039 * src/display.c (eventLoop):
1040 * src/screen.c: Add support for automatic unredirecting of fullscreen
1041 windows.
1042
1043 * plugins/scale.c (scaleInitiate): Layout thumbnails before we
1044 grab the screen to make sure some window exist.
1045
1046 * plugins/resize.c: Allow 4-way resize. (Mike Hearn)
1047
10482006-04-13 Dan Winship <danw@novell.com>
1049
1050 * src/screen.c (panelAction): take a timestamp and pass that to
1051 the panel rather than using CurrentTime
1052
1053 * src/event.c (handleEvent): update for that
1054
1055 * src/window.c (moveResizeWindow): fix the gravity handling so
1056 self-resizing windows don't dance (although I'm pretty sure this
1057 is a symptom of mishandling gravity somewhere else).
1058
1059 * plugins/gconf.c (gconfInitOption): Request the default value of
1060 the key from gconf, rather than initializing the key to the
1061 internal default value if it hasn't yet been set by the user.
1062 Notably, this makes it so that "compiz gconf" on a new account
1063 will use the default value of active_plugins rather than the
1064 (effectively empty) list of plugins on the command line. (It also
1065 makes it so that the sysadmin can override defaults via sabayon or
1066 whatever.)
1067
10682006-04-13 David Reveman <davidr@novell.com>
1069
1070 * src/window.c (mapWindow): Maybe not, disable it again. :(
1071
1072 * src/window.c (mapWindow): Enable draw synchronization on map
1073 again. Should be working correctly with CVS version of X server.
1074
10752006-04-12 Dan Winship <danw@novell.com>
1076
1077 * src/window.c (moveResizeWindow): move duplicated code from
1078 _NET_MOVERESIZE_WINDOW and ConfigureRequest handlers in event.c to
1079 here, and handle gravity as well. (Fixes bnc 163058.)
1080 (updateWindowAttributes): Do nothing if the window is
1081 override_redirect (and remove a few now-redundant checks of that
1082 elsewhere). Previously we were forgetting to check
1083 !override_redirect in the case where the motif hints changed. (bnc
1084 163931)
1085 (getWindowUserTime): fix a cut-and-paste-o that caused a crash on
1086 64bit machines.
1087
1088 * src/event.c (handleEvent): fix the _NET_MOVERESIZE_WINDOW bit
1089 manipulation to correspond to what the EWMH means rather than what
1090 it says, and use moveResizeWindow for that and for
1091 ConfigureRequest.
1092
1093 * plugins/gconf-compiz-utils.c (gconfBindingToString): DTRT with
1094 "None" bindings.
1095
1096 * gnome/window-decorator/gnome-window-decorator.c (title_event):
1097 if the user right-clicks on the titlebar while the context menu is
1098 popped up, just pop it down and eat the click, like all other
1099 GNOME context menus do.
1100 (style_changed, value_changed): Don't add decorations to
1101 previously-undecorated windows. (bnc 165393)
1102
11032006-04-11 David Reveman <davidr@novell.com>
1104
1105 * src/screen.c (addScreen): Fix typo.
1106
11072006-04-10 Dan Winship <danw@novell.com>
1108
1109 * src/window.c (focusWindowOnMap): new function to decide whether
1110 or not to focus a newly-mapped window. In addition to the old
1111 checks, this also checks that _NET_WM_USER_TIME isn't 0, to allow
1112 a window to explicitly request to not get focus.
1113
1114 * src/event.c (handleEvent): use focusWindowOnMap when processing
1115 MapRequest.
1116
1117 * plugins/rotate.c (rotateHandleEvent): fix _NET_ACTIVE_WINDOW
1118 handling so this doesn't interfere with focusable panel applets.
1119
1120 * plugins/compiz.schemas: regen (fixing cube top/bottom color)
1121
1122 * plugins/gconf-dump.c: Handle CompOptionTypeColor.
1123
1124 * configure.ac: Add --enable-gconf-dump so that the gconf-dump
1125 plugin doesn't get built in normal builds
1126
1127 * plugins/Makefile.am: make gconf-dump optional.
1128
11292006-04-09 Dan Winship <danw@novell.com>
1130
1131 * plugins/gconf-dump.c: add plugin options, and add information
1132 about restrictions (numeric ranges, specific string values) to the
1133 long description. Make gconf-dump refuse to run if gconf is
1134 running (since you want the defaults it writes out to be coming
1135 from the defaults in the source code, not from any gconf
1136 overrides).
1137
1138 * plugins/compiz.schemas: regen
1139
1140 * plugins/gconf.c (gconfGetOptionValue): don't call gconfSetOption
1141 from here, or we'll get an infinite loop when anything changes
1142
11432006-04-09 David Reveman <davidr@novell.com>
1144
1145 * include/compiz.h:
1146 * src/display.c:
1147 * src/main.c:
1148 * src/screen.c:
1149 * src/texture.c:
1150 * src/window.c: Remove test mode.
1151
1152 * plugins/Makefile.am: Remove schema from CLEANFILES.
1153
1154 * plugins/compiz.schemas:
1155 * src/display.c:
1156 Improve documentation for runcommand keys slightly. (Mike Hearn)
1157
1158 * include/compiz.h:
1159 * src/texture.c:
1160 * src/screen.c (addScreen): Switch to using GLX 1.3 functions.
1161 (James Jones)
1162
1163 * src/main.c: Indirect rendering option. (James Jones)
1164
11652006-04-08 David Reveman <davidr@novell.com>
1166
1167 * plugins/water.c: Add rain delay option. (Emilie Roberts)
1168
11692006-04-07 David Reveman <davidr@novell.com>
1170
1171 * plugins/gconf-dump.c: Dump list options correctly.
1172
1173 * plugins/rotate.c: Add flip_move option, edge flipping is only
1174 used when moving windows if this option is enabled.
1175 (rotateHandleEvent): Make we don't rotate when some other plugin
1176 has grabbed the screen.
1177
1178 * plugins/scale.c: Change default key-binding to F11.
1179 (scaleInitiate): Make sure screen isn't grabbed by some other plugin.
1180 (scaleInitScreen): Initialize darkenBack properly.
1181
1182 * configure.ac: Bump version to 0.0.9.
1183
1184 * plugins/Makefile.am (CLEANFILES, EXTRA_DIST): Fix.
1185
1186 * plugins/rotate.c (ROTATE_SPEED_DEFAULT): 1.5.
1187
11882006-04-07 Dan Winship <danw@novell.com>
1189
1190 (Much of this patch was written by Radek Doulik
1191 <rodo@novell.com>.)
1192
1193 * src/display.c:
1194 * src/event.c:
1195 * src/screen.c: Move keybinding stuff to CompDisplay, making it no
1196 longer settable per-screen. Add bindings for screenshots (for
1197 compatibility with metacity, which handles that keybinding in
1198 GNOME for historical reasons).
1199
1200 * include/compiz.h: add an explicit CompBindingTypeNone rather
1201 than relying on modifiers==0 to mean none. Update bindings stuff.
1202
1203 * src/screen.c (removePassiveKeyGrab, removePassiveButtonGrab):
1204 Fix these to remove the right grab rather than always removing the
1205 most-recently-added one.
1206 (addScreenBinding): deal with CompBindingTypeNone
1207
1208 * plugins/gconf-dump.c: hacky plugin to dump information about the
1209 other plugins to a gconf schemas file (used to regenerate
1210 compiz.schemas)
1211
1212 * plugins/gconf-compiz-utils.c: shared code between gconf.c and
1213 gconf-dump.c
1214
1215 * plugins/Makefile.am: add gconf-dump plugin and compiz.schemas,
1216 and code to install compiz.schemas.
1217
1218 * configure.ac: Update gconf test to set macros needed for schema
1219 install.
1220
12212006-04-07 David Reveman <davidr@novell.com>
1222
1223 * plugins/rotate.c: Add edge flipping support.
1224
1225 * plugins/scale.c: Allow corner screen edges to be used for
1226 initiating scale mode.
1227
1228 * src/option.c (compSetBoolOption): Only return TRUE if value changed.
1229
1230 * src/screen.c:
1231 * src/window.c:
1232 * plugins/minimize.c:
1233 * plugins/decoration.c:
1234 * include/compiz.h: Add immediate argument to MoveNotify, immediate
1235 means that any animations should be avoided.
1236
1237 * src/screen.c:
1238 * plugins/water.c:
1239 * plugins/resize.c:
1240 * plugins/place.c:
1241 * plugins/move.c:
1242 * plugins/zoom.c:
1243 * plugins/rotate.c:
1244 * plugins/scale.c:
1245 * src/event.c:
1246 * include/compiz.h:
1247 Add previous pointer position that can be shared between multiple
1248 plugins.
1249
12502006-04-06 David Reveman <davidr@novell.com>
1251
1252 * include/compiz.h:
1253 * src/screen.c: Add screen edges and simple interface for enabling
1254 and disabling them.
1255
1256 * plugins/switcher.c (switchDamageWindowRect)
1257 (switchWindowRemove): Update switcher list even when screen isn't
1258 grabbed.
1259
1260 * plugins/switcher.c (switchDamageWindowRect):
1261 * include/compiz.h:
1262 * src/event.c (handleEvent):
1263 * src/window.c: Made it possible to select if window should be
1264 stacked above fullscreen windows or not.
1265
1266 * src/window.c (findSiblingBelow): Only find a fullscreen sibling
1267 if aboveFs is TRUE.
1268 (activateWindow): Allow stacking of window above fullscreen windows
1269 when being activated.
1270
12712006-04-05 David Reveman <davidr@novell.com>
1272
1273 * plugins/water.c (fboEpilogue): Reset raster position. Avoids
1274 an FBO/raster-position issue found in newer nvidia drivers.
1275
1276 * plugins/move.c: Add constrain_y option that constrains window
1277 movement so that top of window is always visible (on by default).
1278
1279 * src/event.c (handleEvent): Change active window property even though
1280 it's not different than the window we currently have as active.
1281
1282 * src/window.c (moveInputFocusToWindow): Set focus even though
1283 the window is considered the active window.
1284
12852006-04-03 David Reveman <davidr@novell.com>
1286
1287 * plugins/water.c: Use char everywhere instead.
1288 Fix offset direction (P-a Bäckström).
1289 Add offset scale option.
1290
1291 * plugins/water.c: (loadFragmentProgram): GLubyte -> const GLbyte.
1292 (loadWaterProgram): char -> GLbyte.
1293 (loadBumpMapProgram): char -> GLbyte.
1294 Use char everywhere.
1295
1296 * configure.ac: Bump version to 0.0.8.
1297
1298 * plugins/water.c: Add simple rain effect.
1299 (loadFragmentProgram): Clear any previous error.
1300
1301 * src/display.c: Change so that timeouts are not only triggered
1302 when we're idle.
1303
13042006-04-02 David Reveman <davidr@novell.com>
1305
1306 * plugins/water.c: Add scale and bias to normal so that light can be
1307 computed correclty. Offset texture coordinates for nice refraction
1308 effect. (P-a Bäckström)
1309 (waterDrawWindowTexture): Add scaling after setting up texture
1310 coordinate generation.
1311 Fix up loading of bump map programs.
1312 (softwareUpdate): Improve performance of software fall-back code a bit.
1313 (waterDrawWindowTexture): Always use filter for when window is
1314 transformed.
1315
1316 * plugins/gconf.c (gconfGetValue): Fix typo that caused color
1317 parsing to be incomplete (Quinn Storm).
1318
13192006-04-01 David Reveman <davidr@novell.com>
1320
1321 * plugins/switcher.c: Add "initiate all" binding which brings up the
1322 switcher window with all mapped windows and "initiate" binding will
1323 now bring up the switcher window with only the visible windows.
1324
13252006-03-31 David Reveman <davidr@novell.com>
1326
1327 * plugins/minimize.c (minDamageWindowRect): Never leave windows
1328 in scaled state.
1329
1330 * src/screen.c (moveScreenViewport): Move hidden windows as well.
1331
1332 * src/window.c (addWindow, activateWindow, hideWindow)
1333 (showWindow):
1334 * src/screen.c (enterShowDesktopMode, leaveShowDesktopMode):
1335 * src/event.c (handleEvent):
1336 * include/compiz.h: Fix up show desktop mode.
1337
1338 * plugins/water.c (fboVertices): return 1.
1339
13402006-03-30 David Reveman <davidr@novell.com>
1341
1342 * src/texture.c (enableTexture): Always make sure mipmaps are up to
1343 date when using GL_LINEAR_MIPMAP_LINEAR filter.
1344
13452006-03-29 David Reveman <davidr@novell.com>
1346
1347 * gnome/window-decorator/gnome-window-decorator.c: Draw outline around
1348 window title text and buttons instead of small shadow.
1349
1350 * src/event.c (handleEvent):
1351 * include/compiz.h:
1352 * src/window.c: Set allowed window actions more correctly.
1353
1354 * plugins/move.c: Add opacity option.
1355
1356 * plugins/Makefile.am: Add water plugin. It's not very useful yet
1357 and it needs more work but it's a good example of how to use
1358 GL_ARB_fragment_program and GL_EXT_framebuffer_object for visual
1359 effects.
1360
1361 * src/screen.c (addScreen): Fix light position.
1362
1363 * src/paint.c (paintWindow):
1364 * plugins/switcher.c (switchPaintThumb):
1365 * plugins/decoration.c (decorPaintWindow):
1366 * include/compiz.h: Make drawWindowTexture a screen function so that
1367 plugins can wrap it.
1368
1369 * src/texture.c (enableTexture):
1370 * src/screen.c (addScreen):
1371 * include/compiz.h: GL_EXT_framebuffer_object and
1372 GL_ARB_fragment_program support.
1373
13742006-03-21 David Reveman <davidr@novell.com>
1375
1376 * gnome/window-decorator/gnome-window-decorator.c (lower_window): Don't
1377 try to lower a window below hidden windows or desktop windows.
1378
13792006-03-20 David Reveman <davidr@novell.com>
1380
1381 * plugins/wobbly.c (wobblyHandleEvent):
1382 xunmap -> xmap (François Ingelrest).
1383
1384 * src/screen.c (isClientListWindow): All type of windows should go into
1385 the client lists (Thanks to Quinn Storm).
1386
1387 * src/window.c (freeWindow): Destroy frame window.
1388 (mapWindow): Fix so the sync requests are sent correctly when a window
1389 is mapped but disable it for now as it seems to be causing problems
1390 with some applications.
1391 (recalcWindowActions): Allow dialog window actions on util and
1392 toolbar windows.
1393
1394 * src/event.c (handleEvent): Remove event mask and button grabs
1395 when window is reparented.
1396 (handleEvent): Update client list when window type changes.
1397 (handleEvent): Use constrainNewWindowSize on move/resize client
1398 messages and configure requests.
1399
1400 * gnome/window-decorator/gnome-window-decorator.c (window_closed):
1401 Delete decor property when window is closed.
1402
14032006-03-17 Jeremy C. Reed <reed@reedmedia.net>
1404
1405 reviewed by: David Reveman
1406
1407 * autogen.sh:
1408 Be consistent with rest of modular xorg by using same
1409 autogen.sh. This allows it to be run using a different
1410 work directory.
1411
14122006-03-17 Jeremy C. Reed <reed@reedmedia.net>
1413
1414 reviewed by: David Reveman
1415
1416 * INSTALL:
1417 Mention startup-notification requirement.
1418
14192006-03-17 David Reveman <davidr@novell.com>
1420
1421 * plugins/scale.c: Add opacity option.
1422
1423 * configure.ac: Bump version to 0.0.7.
1424
14252006-03-17 Radek Doulik <rodo@novell.com>
1426
1427 * src/session.c: added all mandatory SM client callbacks, handle
1428 ICE connection and process ICE messages
1429
1430 * src/display.c (compAddWatchFd): new function, adds new fd watch
1431 - for poll io multiplexing
1432 (compRemoveWatchFd): new function, remove fd watch added by
1433 compAddWatchFd
1434 (doPoll): new helper function, does call poll and calls callbacks
1435 for watch fd's. returns the value of poll call
1436 (eventLoop): use doPoll, we use NULL for display fd watch so that
1437 it doesn't call anything and just use return value from poll as
1438 before
1439
14402006-03-17 David Reveman <davidr@novell.com>
1441
1442 * plugins/switcher.c (switchDamageWindowRect): Update window
1443 attributes for popup window. We never get a MapRequest for this
1444 window so it most be done here.
1445 Add "bring to front" option. (Greg)
1446
1447 * src/window.c (stackAncestors): Never raise desktop windows.
1448 Made restackWindowAbove and restackWindowBelow smarter.
1449
14502006-03-16 David Reveman <davidr@novell.com>
1451
1452 * plugins/minimize.c:
1453 * src/event.c (handleEvent):
1454 * src/window.c:
1455 Handle window state changes correctly.
1456 (maximizeWindow): Use actions to determine if we're allowed maximize
1457 window.
1458
1459 * src/event.c (handleEvent):
1460 * src/window.c: Send configure notifies correctly.
1461
14622006-03-15 David Reveman <davidr@novell.com>
1463
1464 * plugins/switcher.c (switchPaintWindow): Fix paint attribute
1465 calculations.
1466
1467 * include/compiz.h:
1468 * src/event.c (handleEvent):
1469 * src/window.c: Add restackWindowBelow.
1470
14712006-03-14 David Reveman <davidr@novell.com>
1472
1473 * plugins/switcher.c: Opacity, brightness and saturation as adjustable
1474 options. (Greg)
1475
1476 * src/window.c (syncWindowPosition): Move frame window now instead of
1477 waiting for client window to change before moving it.
1478
1479 * plugins/move.c (moveTerminate): Sync window position before
1480 releasing pointer grab so that the EnterNotify event from the release
1481 go to the correct window.
1482
1483 * src/window.c (unmapWindow): Put window in withdrawn state when
1484 being unmapped. Should make it work better with KDE. (Tim Northover)
1485
1486 * src/screen.c (addScreen): Fix ambient and diffuse light.
1487
1488 * src/main.c (main): Add --version command line option.
1489
1490 * src/event.c:
1491 * src/screen.c:
1492 * include/compiz.h: Add bindings for changing window opacity.
1493
14942006-03-14 Radek Doulik <rodo@novell.com>
1495
1496 * src/event.c (handleEvent): handle minimize/maximize/unmaximize
1497 window keybindings
1498
1499 * src/screen.c: added minimize/maximize/unmaximize window
1500 options/keybindings
1501
1502 * src/window.c (maximizeWindow): new helper function
1503 (unmaximizeWindow): ditto
1504
15052006-03-14 David Reveman <davidr@novell.com>
1506
1507 * plugins/scale.c: Add darken background option (Daniel G. Taylor).
1508
15092006-03-13 David Reveman <davidr@novell.com>
1510
1511 * src/display.c (eventLoop):
1512 * include/compiz.h:
1513 * src/screen.c (addScreen): CopySubBufferMESA support.
1514
15152006-03-07 David Reveman <davidr@novell.com>
1516
1517 * gnome/window-decorator/gnome-window-decorator.c (lower_window):
1518 Remove unused variable tmp.
1519
1520 * src/event.c:
1521 * src/display.c:
1522 * src/window.c:
1523 * src/screen.c:
1524 * include/compiz.h: Better window stacking support.
1525
1526 * gnome/window-decorator/gnome-window-decorator.c: Lower window
1527 when clicking button 2 on titlebar.
1528
1529 * src/window.c (ensureWindowVisibility): Only ensure that window is
1530 visible if it isn't a override redirect window, dock window or
1531 window with struts.
1532
15332006-03-06 David Reveman <davidr@novell.com>
1534
1535 * configure.ac: Bump version to 0.0.6.
1536
1537 * plugins/cube.c: Skydome update. (MacSlow)
1538
1539 * src/window.c: Ensure window visibility when activating window.
1540
15412006-03-05 David Reveman <davidr@novell.com>
1542
1543 * src/window.c (closeWindow): Use protocol mask to determine if
1544 Client Message should be send or if we should kill the client.
1545
1546 * plugins/decoration.c: Don't draw shadow only decorations around
1547 windows with alpha channel.
1548
15492006-03-03 David Reveman <davidr@novell.com>
1550
1551 * src/texture.c (readImageBufferToTexture):
1552 (readImageToTexture): Check that returnWidth and returnHeight are
1553 not NULL.
1554
1555 * plugins/cube.c: Skydome support. Thanks to MacSlow.
1556
1557 * plugins/fade.c (fadeHandleEvent): Make sure opacity isn't opaque
1558 when fading out.
1559 Stop fading if window is resized.
1560
1561 * src/window.c (resizeWindow): Only verify pixmap size if window is
1562 mapped.
1563 (resizeWindow): Check XGetGeometry result.
1564
1565 * plugins/switcher.c: Make sure switcher is correctly updated
1566 even though the previously selected window isn't selectable by
1567 switcher.
1568
1569 * src/event.c (handleEvent): Avoid panel actions when screen is
1570 grabbed.
1571
15722006-03-03 Radek Doulik <rodo@novell.com>
1573
1574 * src/main.c (main): init and close session when sm is not
1575 disabled. Enable sm by default.
1576
1577 * src/session.c: added minimal session support so that compiz at
1578 least register with session manager to avoid registering timeouts
1579
15802006-03-03 David Reveman <davidr@novell.com>
1581
1582 * src/screen.c (removeScreenGrab): Use correct cursor when changing
1583 actvie pointer grab.
1584
15852006-03-02 David Reveman <davidr@novell.com>
1586
1587 * plugins/rotate.c (rotateHandleEvent):
1588 * plugins/zoom.c (zoomHandleEvent): Make sure no pending motion
1589 notify events exists when warping the pointer.
1590
1591 * plugins/rotate.c (rotateHandleEvent): Reset movement.
1592
1593 * plugins/switcher.c: Always send activate request when selecting a
1594 window.
1595
1596 * plugins/cube.c (cubePaintTransformedScreen): Reset color.
1597
1598 * plugins/switcher.c (switchPaintThumb): PAINT_WINDOW_TRANSLUCENT_MASK
1599 if opacity isn't opaque.
1600 (switchPaintWindow): Reset color.
1601
16022006-03-01 David Reveman <davidr@novell.com>
1603
1604 * configure.ac: Bump version to 0.0.5.
1605
1606 * plugins/fade.c (fadeAddDisplayModal): Higher brightness when showing
1607 display modal dialogs.
1608
1609 * plugins/switcher.c (switchPreparePaintScreen): Continue adjusting
1610 window selection even though we're not grabbing the screen.
1611 (switchPaintWindow): Use last used paint attributes for thumbnails.
1612 (switchPaintWindow): Use blending when drawing selection rectangle.
1613
1614 * plugins/fade.c (fadeHandleEvent): unmap. -> map.
1615 (fadeDamageWindowRect): Only zero opacity if we're not already
1616 fading the window.
1617
1618 * src/window.c (unmapWindow): 'placed' variable should be reset on
1619 first call to unmapWindow.
1620
1621 * src/screen.c:
1622 * src/event.c (handleEvent):
1623 * src/display.c (eventLoop):
1624 * include/compiz.h: Add slow animation option.
1625
1626 * src/window.c (recalcNormalHints): Constrain window dimensions to
1627 max texture size.
1628
1629 * src/screen.c (addScreen): Get max texture size.
1630
1631 * gnome/window-decorator/gnome-window-decorator.c: Nicer drop shadow
1632 on windows without decorations.
1633
1634 * src/window.c (addWindow): Move initialization of sync alarm.
1635
1636 * plugins/cube.c:
1637 * plugins/decoration.c:
1638 (decorCreateDecoration): Fix minimum size check.
1639
1640 * src/main.c:
1641 * include/compiz.h:
1642 * src/paint.c:
1643 * src/screen.c: Ligthing support.
1644
1645 * compiz.pc.in: Fix.
1646
16472006-02-23 David Reveman <davidr@novell.com>
1648
1649 * src/window.c (unmapWindow): Not minimized and not part of showing
1650 desktop mode.
1651
1652 * plugins/wobbly.c: Fix handling of scaled windows.
1653 Update options so that user gets more control over which windows
1654 that should wobble and when.
1655
1656 * configure.ac: Bump version to 0.0.4.
1657
1658 * gnome/window-decorator/gnome-window-decorator.c (window_opened): Make
1659 sure decoration property for switcher window is set.
1660
1661 * plugins/decoration.c (decorHandleEvent):
1662 * src/event.c (handleEvent):
1663 * plugins/switcher.c:
1664 * src/screen.c (addScreen, setScreenOption)
1665 (compScreenInitOptions):
1666 * src/texture.c:
1667 * include/compiz.h: Mipmap support. Add more RUN_COMMAND options.
1668
16692006-02-22 David Reveman <davidr@novell.com>
1670
1671 * src/display.c (realToVirtualModMask): Remove modifiers that should
1672 be ignored.
1673 (addDisplay): Select ButtonPress and ButtonRelease events on root
1674 window.
1675
1676 * include/compiz.h (EV_KEY):
1677 (EV_BUTTON): Modifiers should match exactly.
1678
1679 * plugins/switcher.c: Add binding for selecting previous window.
1680
1681 * plugins/decoration.c: Remove sync hack.
1682
1683 * gnome/window-decorator/gnome-window-decorator.c
1684 (draw_shadow_background): Fix drawing of bottom and bottom right
1685 shadow rectangle.
1686 Add switcher window decorations.
1687 Remove sync hack.
1688 Always use double buffering.
1689
1690 * plugins/switcher.c: Remove background color option.
1691 Use property instead of client message to indicate change of selected
1692 window.
1693
16942006-02-21 David Reveman <davidr@novell.com>
1695
1696 * plugins/cube.c (cubeHandleEvent): Only load new SVG when available.
1697
16982006-02-20 David Reveman <davidr@novell.com>
1699
1700 * plugins/decoration.c (decorWindowUpdate): Decorate window
1701 MwmDecorTitle is present.
1702
1703 * src/window.c (focusWindow):
1704 (moveInputFocusToWindow):
1705 Allow focusing windows with input hint set to false.
1706 (activateWindow): Fix so that dock windows can be active.
1707
1708 * src/screen.c (isClientListWindow): Don't put destroyed windows in
1709 client lists.
1710
1711 * src/event.c (handleEvent): Fix so that dock windows can be active.
1712 (handleEvent): Avoid focusing windows with input hint set to false
1713 when mapped.
1714
17152006-02-18 David Reveman <davidr@novell.com>
1716
1717 * src/window.c (unmapWindow): Windows not being minimized should be
1718 placed again at next map.
1719
1720 * plugins/wobbly.c (wobblyDonePaintScreen): Also add pending damage
1721 if any window is in initial wobbly state.
1722
17232006-02-17 David Reveman <davidr@novell.com>
1724
1725 * configure.ac: Bump version to 0.0.3.
1726
1727 * plugins/zoom.c (zoomIn): Translate less.
1728 (zoomPaintScreen): Use selected filter.
1729 (adjustZoomVelocity): Made zoom animation nicer.
1730 (zoomPreparePaintScreen): Don't zoom to much.
1731 ADd filter selection option.
1732
1733 * plugins/decoration.c (decorPaintWindow):
1734 * src/paint.c (drawWindowTexture): Use screen filters.
1735
1736 * include/compiz.h: Add support for adjusting filters.
1737
1738 * plugins/scale.c (scaleHandleEvent): Only button 1.
1739
1740 * plugins/cube.c (cubePaintTransformedScreen): Fix drawing with size
1741 greater than 4.
1742
17432006-02-16 David Reveman <davidr@novell.com>
1744
1745 * configure.ac: Remove menu.
1746
1747 * plugins/switcher.c (switchNextWindow): Damage new and previously
1748 selected window.
1749 (switchInitiate): Damage screen initiating switching.
1750 (switchTerminate): Damage screen terminating switching.
1751 (switchPaintThumb): Draw thumbnail without calling any function that
1752 can be wrapped.
1753
1754 * gnome/window-decorator/gnome-window-decorator.c
1755 (update_window_decoration_size): Make sure title isn't rendered
1756 when it doesn't fit.
1757
17582006-02-14 David Reveman <davidr@novell.com>
1759
1760 * gnome/window-decorator/gnome-window-decorator.c
1761 (draw_window_decoration): Make sure complete icon is visible.
1762
1763 * src/display.c (eventLoop):
1764 (getTimeToNextRedraw): Handle clock rollback.
1765
17662006-02-13 David Reveman <davidr@novell.com>
1767
1768 * configure.ac: Remove menu plugin check.
1769 Require version 2.8.0 or greater of gtk+.
1770
17712006-02-11 David Reveman <davidr@novell.com>
1772
1773 * configure.ac: Bump version to 0.0.2.
1774
1775 * src/window.c:
1776 * src/event.c:
1777 * plugins/fade.c:
1778 * src/display.c:
1779 * include/compiz.h: Lower brightness of windows that are not responding
1780 and all windows when showing logout dialog.
1781
1782 * gnome/window-decorator/gnome-window-decorator.c: Use metacity
1783 titlebar font settings.
1784
1785 * gnome/compiz-window-manager.c: Add titlebar font setting.
1786
1787 * plugins/Makefile.am:
1788 * plugins/switcher.c: Add switcher plugin.
1789
1790 * plugins/gconf.c: Add alpha to color options.
1791
17922006-02-10 David Reveman <davidr@novell.com>
1793
1794 * src/screen.c:
1795 * src/display.c: Do not include X11/extensions/Xevie.h.
01796
=== added file 'Doxyfile'
--- Doxyfile 1970-01-01 00:00:00 +0000
+++ Doxyfile 2011-04-06 13:26:57 +0000
@@ -0,0 +1,1514 @@
1# Doxyfile 1.6.1
2
3# This file describes the settings to be used by the documentation system
4# doxygen (www.doxygen.org) for a project
5#
6# All text after a hash (#) is considered a comment and will be ignored
7# The format is:
8# TAG = value [value, ...]
9# For lists items can also be appended using:
10# TAG += value [value, ...]
11# Values that contain spaces should be placed between quotes (" ")
12
13#---------------------------------------------------------------------------
14# Project related configuration options
15#---------------------------------------------------------------------------
16
17# This tag specifies the encoding used for all characters in the config file
18# that follow. The default is UTF-8 which is also the encoding used for all
19# text before the first occurrence of this tag. Doxygen uses libiconv (or the
20# iconv built into libc) for the transcoding. See
21# http://www.gnu.org/software/libiconv for the list of possible encodings.
22
23DOXYFILE_ENCODING = UTF-8
24
25# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
26# by quotes) that should identify the project.
27
28PROJECT_NAME = Compiz
29
30# The PROJECT_NUMBER tag can be used to enter a project or revision number.
31# This could be handy for archiving the generated documentation or
32# if some version control system is used.
33
34PROJECT_NUMBER = 0.9
35
36# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
37# base path where the generated documentation will be put.
38# If a relative path is entered, it will be relative to the location
39# where doxygen was started. If left blank the current directory will be used.
40
41OUTPUT_DIRECTORY = doc
42
43# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
44# 4096 sub-directories (in 2 levels) under the output directory of each output
45# format and will distribute the generated files over these directories.
46# Enabling this option can be useful when feeding doxygen a huge amount of
47# source files, where putting all generated files in the same directory would
48# otherwise cause performance problems for the file system.
49
50CREATE_SUBDIRS = NO
51
52# The OUTPUT_LANGUAGE tag is used to specify the language in which all
53# documentation generated by doxygen is written. Doxygen will use this
54# information to generate all constant output in the proper language.
55# The default language is English, other supported languages are:
56# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
57# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
58# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
59# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
60# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
61# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
62
63OUTPUT_LANGUAGE = English
64
65# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
66# include brief member descriptions after the members that are listed in
67# the file and class documentation (similar to JavaDoc).
68# Set to NO to disable this.
69
70BRIEF_MEMBER_DESC = YES
71
72# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
73# the brief description of a member or function before the detailed description.
74# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
75# brief descriptions will be completely suppressed.
76
77REPEAT_BRIEF = YES
78
79# This tag implements a quasi-intelligent brief description abbreviator
80# that is used to form the text in various listings. Each string
81# in this list, if found as the leading text of the brief description, will be
82# stripped from the text and the result after processing the whole list, is
83# used as the annotated text. Otherwise, the brief description is used as-is.
84# If left blank, the following values are used ("$name" is automatically
85# replaced with the name of the entity): "The $name class" "The $name widget"
86# "The $name file" "is" "provides" "specifies" "contains"
87# "represents" "a" "an" "the"
88
89ABBREVIATE_BRIEF =
90
91# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
92# Doxygen will generate a detailed section even if there is only a brief
93# description.
94
95ALWAYS_DETAILED_SEC = YES
96
97# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
98# inherited members of a class in the documentation of that class as if those
99# members were ordinary class members. Constructors, destructors and assignment
100# operators of the base classes will not be shown.
101
102INLINE_INHERITED_MEMB = NO
103
104# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
105# path before files name in the file list and in the header files. If set
106# to NO the shortest path that makes the file name unique will be used.
107
108FULL_PATH_NAMES = YES
109
110# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
111# can be used to strip a user-defined part of the path. Stripping is
112# only done if one of the specified strings matches the left-hand part of
113# the path. The tag can be used to show relative paths in the file list.
114# If left blank the directory from which doxygen is run is used as the
115# path to strip.
116
117STRIP_FROM_PATH =
118
119# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
120# the path mentioned in the documentation of a class, which tells
121# the reader which header file to include in order to use a class.
122# If left blank only the name of the header file containing the class
123# definition is used. Otherwise one should specify the include paths that
124# are normally passed to the compiler using the -I flag.
125
126STRIP_FROM_INC_PATH =
127
128# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
129# (but less readable) file names. This can be useful is your file systems
130# doesn't support long names like on DOS, Mac, or CD-ROM.
131
132SHORT_NAMES = NO
133
134# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
135# will interpret the first line (until the first dot) of a JavaDoc-style
136# comment as the brief description. If set to NO, the JavaDoc
137# comments will behave just like regular Qt-style comments
138# (thus requiring an explicit @brief command for a brief description.)
139
140JAVADOC_AUTOBRIEF = YES
141
142# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
143# interpret the first line (until the first dot) of a Qt-style
144# comment as the brief description. If set to NO, the comments
145# will behave just like regular Qt-style comments (thus requiring
146# an explicit \brief command for a brief description.)
147
148QT_AUTOBRIEF = NO
149
150# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
151# treat a multi-line C++ special comment block (i.e. a block of //! or ///
152# comments) as a brief description. This used to be the default behaviour.
153# The new default is to treat a multi-line C++ comment block as a detailed
154# description. Set this tag to YES if you prefer the old behaviour instead.
155
156MULTILINE_CPP_IS_BRIEF = NO
157
158# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
159# member inherits the documentation from any documented member that it
160# re-implements.
161
162INHERIT_DOCS = YES
163
164# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
165# a new page for each member. If set to NO, the documentation of a member will
166# be part of the file/class/namespace that contains it.
167
168SEPARATE_MEMBER_PAGES = NO
169
170# The TAB_SIZE tag can be used to set the number of spaces in a tab.
171# Doxygen uses this value to replace tabs by spaces in code fragments.
172
173TAB_SIZE = 8
174
175# This tag can be used to specify a number of aliases that acts
176# as commands in the documentation. An alias has the form "name=value".
177# For example adding "sideeffect=\par Side Effects:\n" will allow you to
178# put the command \sideeffect (or @sideeffect) in the documentation, which
179# will result in a user-defined paragraph with heading "Side Effects:".
180# You can put \n's in the value part of an alias to insert newlines.
181
182ALIASES =
183
184# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
185# sources only. Doxygen will then generate output that is more tailored for C.
186# For instance, some of the names that are used will be different. The list
187# of all members will be omitted, etc.
188
189OPTIMIZE_OUTPUT_FOR_C = NO
190
191# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
192# sources only. Doxygen will then generate output that is more tailored for
193# Java. For instance, namespaces will be presented as packages, qualified
194# scopes will look different, etc.
195
196OPTIMIZE_OUTPUT_JAVA = NO
197
198# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
199# sources only. Doxygen will then generate output that is more tailored for
200# Fortran.
201
202OPTIMIZE_FOR_FORTRAN = NO
203
204# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
205# sources. Doxygen will then generate output that is tailored for
206# VHDL.
207
208OPTIMIZE_OUTPUT_VHDL = NO
209
210# Doxygen selects the parser to use depending on the extension of the files it parses.
211# With this tag you can assign which parser to use for a given extension.
212# Doxygen has a built-in mapping, but you can override or extend it using this tag.
213# The format is ext=language, where ext is a file extension, and language is one of
214# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
215# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
216# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
217# 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.
218
219EXTENSION_MAPPING =
220
221# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
222# to include (a tag file for) the STL sources as input, then you should
223# set this tag to YES in order to let doxygen match functions declarations and
224# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
225# func(std::string) {}). This also make the inheritance and collaboration
226# diagrams that involve STL classes more complete and accurate.
227
228BUILTIN_STL_SUPPORT = NO
229
230# If you use Microsoft's C++/CLI language, you should set this option to YES to
231# enable parsing support.
232
233CPP_CLI_SUPPORT = NO
234
235# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
236# Doxygen will parse them like normal C++ but will assume all classes use public
237# instead of private inheritance when no explicit protection keyword is present.
238
239SIP_SUPPORT = NO
240
241# For Microsoft's IDL there are propget and propput attributes to indicate getter
242# and setter methods for a property. Setting this option to YES (the default)
243# will make doxygen to replace the get and set methods by a property in the
244# documentation. This will only work if the methods are indeed getting or
245# setting a simple type. If this is not the case, or you want to show the
246# methods anyway, you should set this option to NO.
247
248IDL_PROPERTY_SUPPORT = YES
249
250# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
251# tag is set to YES, then doxygen will reuse the documentation of the first
252# member in the group (if any) for the other members of the group. By default
253# all members of a group must be documented explicitly.
254
255DISTRIBUTE_GROUP_DOC = NO
256
257# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
258# the same type (for instance a group of public functions) to be put as a
259# subgroup of that type (e.g. under the Public Functions section). Set it to
260# NO to prevent subgrouping. Alternatively, this can be done per class using
261# the \nosubgrouping command.
262
263SUBGROUPING = YES
264
265# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
266# is documented as struct, union, or enum with the name of the typedef. So
267# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
268# with name TypeT. When disabled the typedef will appear as a member of a file,
269# namespace, or class. And the struct will be named TypeS. This can typically
270# be useful for C code in case the coding convention dictates that all compound
271# types are typedef'ed and only the typedef is referenced, never the tag name.
272
273TYPEDEF_HIDES_STRUCT = NO
274
275# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
276# determine which symbols to keep in memory and which to flush to disk.
277# When the cache is full, less often used symbols will be written to disk.
278# For small to medium size projects (<1000 input files) the default value is
279# probably good enough. For larger projects a too small cache size can cause
280# doxygen to be busy swapping symbols to and from disk most of the time
281# causing a significant performance penality.
282# If the system has enough physical memory increasing the cache will improve the
283# performance by keeping more symbols in memory. Note that the value works on
284# a logarithmic scale so increasing the size by one will rougly double the
285# memory usage. The cache size is given by this formula:
286# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
287# corresponding to a cache size of 2^16 = 65536 symbols
288
289SYMBOL_CACHE_SIZE = 0
290
291#---------------------------------------------------------------------------
292# Build related configuration options
293#---------------------------------------------------------------------------
294
295# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
296# documentation are documented, even if no documentation was available.
297# Private class members and static file members will be hidden unless
298# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
299
300EXTRACT_ALL = NO
301
302# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
303# will be included in the documentation.
304
305EXTRACT_PRIVATE = NO
306
307# If the EXTRACT_STATIC tag is set to YES all static members of a file
308# will be included in the documentation.
309
310EXTRACT_STATIC = NO
311
312# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
313# defined locally in source files will be included in the documentation.
314# If set to NO only classes defined in header files are included.
315
316EXTRACT_LOCAL_CLASSES = YES
317
318# This flag is only useful for Objective-C code. When set to YES local
319# methods, which are defined in the implementation section but not in
320# the interface are included in the documentation.
321# If set to NO (the default) only methods in the interface are included.
322
323EXTRACT_LOCAL_METHODS = NO
324
325# If this flag is set to YES, the members of anonymous namespaces will be
326# extracted and appear in the documentation as a namespace called
327# 'anonymous_namespace{file}', where file will be replaced with the base
328# name of the file that contains the anonymous namespace. By default
329# anonymous namespace are hidden.
330
331EXTRACT_ANON_NSPACES = NO
332
333# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
334# undocumented members of documented classes, files or namespaces.
335# If set to NO (the default) these members will be included in the
336# various overviews, but no documentation section is generated.
337# This option has no effect if EXTRACT_ALL is enabled.
338
339HIDE_UNDOC_MEMBERS = NO
340
341# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
342# undocumented classes that are normally visible in the class hierarchy.
343# If set to NO (the default) these classes will be included in the various
344# overviews. This option has no effect if EXTRACT_ALL is enabled.
345
346HIDE_UNDOC_CLASSES = NO
347
348# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
349# friend (class|struct|union) declarations.
350# If set to NO (the default) these declarations will be included in the
351# documentation.
352
353HIDE_FRIEND_COMPOUNDS = NO
354
355# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
356# documentation blocks found inside the body of a function.
357# If set to NO (the default) these blocks will be appended to the
358# function's detailed documentation block.
359
360HIDE_IN_BODY_DOCS = NO
361
362# The INTERNAL_DOCS tag determines if documentation
363# that is typed after a \internal command is included. If the tag is set
364# to NO (the default) then the documentation will be excluded.
365# Set it to YES to include the internal documentation.
366
367INTERNAL_DOCS = NO
368
369# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
370# file names in lower-case letters. If set to YES upper-case letters are also
371# allowed. This is useful if you have classes or files whose names only differ
372# in case and if your file system supports case sensitive file names. Windows
373# and Mac users are advised to set this option to NO.
374
375CASE_SENSE_NAMES = YES
376
377# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
378# will show members with their full class and namespace scopes in the
379# documentation. If set to YES the scope will be hidden.
380
381HIDE_SCOPE_NAMES = NO
382
383# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
384# will put a list of the files that are included by a file in the documentation
385# of that file.
386
387SHOW_INCLUDE_FILES = YES
388
389# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
390# is inserted in the documentation for inline members.
391
392INLINE_INFO = YES
393
394# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
395# will sort the (detailed) documentation of file and class members
396# alphabetically by member name. If set to NO the members will appear in
397# declaration order.
398
399SORT_MEMBER_DOCS = YES
400
401# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
402# brief documentation of file, namespace and class members alphabetically
403# by member name. If set to NO (the default) the members will appear in
404# declaration order.
405
406SORT_BRIEF_DOCS = NO
407
408# 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.
409
410SORT_MEMBERS_CTORS_1ST = NO
411
412# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
413# hierarchy of group names into alphabetical order. If set to NO (the default)
414# the group names will appear in their defined order.
415
416SORT_GROUP_NAMES = NO
417
418# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
419# sorted by fully-qualified names, including namespaces. If set to
420# NO (the default), the class list will be sorted only by class name,
421# not including the namespace part.
422# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
423# Note: This option applies only to the class list, not to the
424# alphabetical list.
425
426SORT_BY_SCOPE_NAME = NO
427
428# The GENERATE_TODOLIST tag can be used to enable (YES) or
429# disable (NO) the todo list. This list is created by putting \todo
430# commands in the documentation.
431
432GENERATE_TODOLIST = YES
433
434# The GENERATE_TESTLIST tag can be used to enable (YES) or
435# disable (NO) the test list. This list is created by putting \test
436# commands in the documentation.
437
438GENERATE_TESTLIST = YES
439
440# The GENERATE_BUGLIST tag can be used to enable (YES) or
441# disable (NO) the bug list. This list is created by putting \bug
442# commands in the documentation.
443
444GENERATE_BUGLIST = YES
445
446# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
447# disable (NO) the deprecated list. This list is created by putting
448# \deprecated commands in the documentation.
449
450GENERATE_DEPRECATEDLIST= YES
451
452# The ENABLED_SECTIONS tag can be used to enable conditional
453# documentation sections, marked by \if sectionname ... \endif.
454
455ENABLED_SECTIONS =
456
457# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
458# the initial value of a variable or define consists of for it to appear in
459# the documentation. If the initializer consists of more lines than specified
460# here it will be hidden. Use a value of 0 to hide initializers completely.
461# The appearance of the initializer of individual variables and defines in the
462# documentation can be controlled using \showinitializer or \hideinitializer
463# command in the documentation regardless of this setting.
464
465MAX_INITIALIZER_LINES = 30
466
467# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
468# at the bottom of the documentation of classes and structs. If set to YES the
469# list will mention the files that were used to generate the documentation.
470
471SHOW_USED_FILES = YES
472
473# If the sources in your project are distributed over multiple directories
474# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
475# in the documentation. The default is NO.
476
477SHOW_DIRECTORIES = NO
478
479# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
480# This will remove the Files entry from the Quick Index and from the
481# Folder Tree View (if specified). The default is YES.
482
483SHOW_FILES = YES
484
485# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
486# Namespaces page.
487# This will remove the Namespaces entry from the Quick Index
488# and from the Folder Tree View (if specified). The default is YES.
489
490SHOW_NAMESPACES = YES
491
492# The FILE_VERSION_FILTER tag can be used to specify a program or script that
493# doxygen should invoke to get the current version for each file (typically from
494# the version control system). Doxygen will invoke the program by executing (via
495# popen()) the command <command> <input-file>, where <command> is the value of
496# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
497# provided by doxygen. Whatever the program writes to standard output
498# is used as the file version. See the manual for examples.
499
500FILE_VERSION_FILTER =
501
502# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
503# doxygen. The layout file controls the global structure of the generated output files
504# in an output format independent way. The create the layout file that represents
505# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
506# file name after the option, if omitted DoxygenLayout.xml will be used as the name
507# of the layout file.
508
509LAYOUT_FILE =
510
511#---------------------------------------------------------------------------
512# configuration options related to warning and progress messages
513#---------------------------------------------------------------------------
514
515# The QUIET tag can be used to turn on/off the messages that are generated
516# by doxygen. Possible values are YES and NO. If left blank NO is used.
517
518QUIET = NO
519
520# The WARNINGS tag can be used to turn on/off the warning messages that are
521# generated by doxygen. Possible values are YES and NO. If left blank
522# NO is used.
523
524WARNINGS = YES
525
526# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
527# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
528# automatically be disabled.
529
530WARN_IF_UNDOCUMENTED = NO
531
532# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
533# potential errors in the documentation, such as not documenting some
534# parameters in a documented function, or documenting parameters that
535# don't exist or using markup commands wrongly.
536
537WARN_IF_DOC_ERROR = YES
538
539# This WARN_NO_PARAMDOC option can be abled to get warnings for
540# functions that are documented, but have no documentation for their parameters
541# or return value. If set to NO (the default) doxygen will only warn about
542# wrong or incomplete parameter documentation, but not about the absence of
543# documentation.
544
545WARN_NO_PARAMDOC = NO
546
547# The WARN_FORMAT tag determines the format of the warning messages that
548# doxygen can produce. The string should contain the $file, $line, and $text
549# tags, which will be replaced by the file and line number from which the
550# warning originated and the warning text. Optionally the format may contain
551# $version, which will be replaced by the version of the file (if it could
552# be obtained via FILE_VERSION_FILTER)
553
554WARN_FORMAT = "$file:$line: $text"
555
556# The WARN_LOGFILE tag can be used to specify a file to which warning
557# and error messages should be written. If left blank the output is written
558# to stderr.
559
560WARN_LOGFILE =
561
562#---------------------------------------------------------------------------
563# configuration options related to the input files
564#---------------------------------------------------------------------------
565
566# The INPUT tag can be used to specify the files and/or directories that contain
567# documented source files. You may enter file names like "myfile.cpp" or
568# directories like "/usr/src/myproject". Separate the files or directories
569# with spaces.
570
571INPUT = include/ src/
572
573# This tag can be used to specify the character encoding of the source files
574# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
575# also the default input encoding. Doxygen uses libiconv (or the iconv built
576# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
577# the list of possible encodings.
578
579INPUT_ENCODING = UTF-8
580
581# If the value of the INPUT tag contains directories, you can use the
582# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
583# and *.h) to filter out the source-files in the directories. If left
584# blank the following patterns are tested:
585# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
586# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
587
588FILE_PATTERNS = *.h
589
590# The RECURSIVE tag can be used to turn specify whether or not subdirectories
591# should be searched for input files as well. Possible values are YES and NO.
592# If left blank NO is used.
593
594RECURSIVE = YES
595
596# The EXCLUDE tag can be used to specify files and/or directories that should
597# excluded from the INPUT source files. This way you can easily exclude a
598# subdirectory from a directory tree whose root is specified with the INPUT tag.
599
600EXCLUDE =
601
602# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
603# directories that are symbolic links (a Unix filesystem feature) are excluded
604# from the input.
605
606EXCLUDE_SYMLINKS = NO
607
608# If the value of the INPUT tag contains directories, you can use the
609# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
610# certain files from those directories. Note that the wildcards are matched
611# against the file with absolute path, so to exclude all test directories
612# for example use the pattern */test/*
613
614EXCLUDE_PATTERNS = private*
615
616# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
617# (namespaces, classes, functions, etc.) that should be excluded from the
618# output. The symbol name can be a fully qualified name, a word, or if the
619# wildcard * is used, a substring. Examples: ANamespace, AClass,
620# AClass::ANamespace, ANamespace::*Test
621
622EXCLUDE_SYMBOLS = _* *Private* *Wrap*
623
624# The EXAMPLE_PATH tag can be used to specify one or more files or
625# directories that contain example code fragments that are included (see
626# the \include command).
627
628EXAMPLE_PATH =
629
630# If the value of the EXAMPLE_PATH tag contains directories, you can use the
631# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
632# and *.h) to filter out the source-files in the directories. If left
633# blank all files are included.
634
635EXAMPLE_PATTERNS =
636
637# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
638# searched for input files to be used with the \include or \dontinclude
639# commands irrespective of the value of the RECURSIVE tag.
640# Possible values are YES and NO. If left blank NO is used.
641
642EXAMPLE_RECURSIVE = NO
643
644# The IMAGE_PATH tag can be used to specify one or more files or
645# directories that contain image that are included in the documentation (see
646# the \image command).
647
648IMAGE_PATH =
649
650# The INPUT_FILTER tag can be used to specify a program that doxygen should
651# invoke to filter for each input file. Doxygen will invoke the filter program
652# by executing (via popen()) the command <filter> <input-file>, where <filter>
653# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
654# input file. Doxygen will then use the output that the filter program writes
655# to standard output.
656# If FILTER_PATTERNS is specified, this tag will be
657# ignored.
658
659INPUT_FILTER =
660
661# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
662# basis.
663# Doxygen will compare the file name with each pattern and apply the
664# filter if there is a match.
665# The filters are a list of the form:
666# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
667# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
668# is applied to all files.
669
670FILTER_PATTERNS =
671
672# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
673# INPUT_FILTER) will be used to filter the input files when producing source
674# files to browse (i.e. when SOURCE_BROWSER is set to YES).
675
676FILTER_SOURCE_FILES = NO
677
678#---------------------------------------------------------------------------
679# configuration options related to source browsing
680#---------------------------------------------------------------------------
681
682# If the SOURCE_BROWSER tag is set to YES then a list of source files will
683# be generated. Documented entities will be cross-referenced with these sources.
684# Note: To get rid of all source code in the generated output, make sure also
685# VERBATIM_HEADERS is set to NO.
686
687SOURCE_BROWSER = NO
688
689# Setting the INLINE_SOURCES tag to YES will include the body
690# of functions and classes directly in the documentation.
691
692INLINE_SOURCES = NO
693
694# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
695# doxygen to hide any special comment blocks from generated source code
696# fragments. Normal C and C++ comments will always remain visible.
697
698STRIP_CODE_COMMENTS = YES
699
700# If the REFERENCED_BY_RELATION tag is set to YES
701# then for each documented function all documented
702# functions referencing it will be listed.
703
704REFERENCED_BY_RELATION = NO
705
706# If the REFERENCES_RELATION tag is set to YES
707# then for each documented function all documented entities
708# called/used by that function will be listed.
709
710REFERENCES_RELATION = NO
711
712# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
713# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
714# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
715# link to the source code.
716# Otherwise they will link to the documentation.
717
718REFERENCES_LINK_SOURCE = YES
719
720# If the USE_HTAGS tag is set to YES then the references to source code
721# will point to the HTML generated by the htags(1) tool instead of doxygen
722# built-in source browser. The htags tool is part of GNU's global source
723# tagging system (see http://www.gnu.org/software/global/global.html). You
724# will need version 4.8.6 or higher.
725
726USE_HTAGS = NO
727
728# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
729# will generate a verbatim copy of the header file for each class for
730# which an include is specified. Set to NO to disable this.
731
732VERBATIM_HEADERS = YES
733
734#---------------------------------------------------------------------------
735# configuration options related to the alphabetical class index
736#---------------------------------------------------------------------------
737
738# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
739# of all compounds will be generated. Enable this if the project
740# contains a lot of classes, structs, unions or interfaces.
741
742ALPHABETICAL_INDEX = YES
743
744# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
745# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
746# in which this list will be split (can be a number in the range [1..20])
747
748COLS_IN_ALPHA_INDEX = 5
749
750# In case all classes in a project start with a common prefix, all
751# classes will be put under the same header in the alphabetical index.
752# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
753# should be ignored while generating the index headers.
754
755IGNORE_PREFIX = _,Private
756
757#---------------------------------------------------------------------------
758# configuration options related to the HTML output
759#---------------------------------------------------------------------------
760
761# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
762# generate HTML output.
763
764GENERATE_HTML = YES
765
766# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
767# If a relative path is entered the value of OUTPUT_DIRECTORY will be
768# put in front of it. If left blank `html' will be used as the default path.
769
770HTML_OUTPUT = html
771
772# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
773# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
774# doxygen will generate files with .html extension.
775
776HTML_FILE_EXTENSION = .html
777
778# The HTML_HEADER tag can be used to specify a personal HTML header for
779# each generated HTML page. If it is left blank doxygen will generate a
780# standard header.
781
782HTML_HEADER =
783
784# The HTML_FOOTER tag can be used to specify a personal HTML footer for
785# each generated HTML page. If it is left blank doxygen will generate a
786# standard footer.
787
788HTML_FOOTER =
789
790# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
791# style sheet that is used by each HTML page. It can be used to
792# fine-tune the look of the HTML output. If the tag is left blank doxygen
793# will generate a default style sheet. Note that doxygen will try to copy
794# the style sheet file to the HTML output directory, so don't put your own
795# stylesheet in the HTML output directory as well, or it will be erased!
796
797HTML_STYLESHEET =
798
799# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
800# files or namespaces will be aligned in HTML using tables. If set to
801# NO a bullet list will be used.
802
803HTML_ALIGN_MEMBERS = YES
804
805# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
806# documentation will contain sections that can be hidden and shown after the
807# page has loaded. For this to work a browser that supports
808# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
809# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
810
811HTML_DYNAMIC_SECTIONS = YES
812
813# If the GENERATE_DOCSET tag is set to YES, additional index files
814# will be generated that can be used as input for Apple's Xcode 3
815# integrated development environment, introduced with OSX 10.5 (Leopard).
816# To create a documentation set, doxygen will generate a Makefile in the
817# HTML output directory. Running make will produce the docset in that
818# directory and running "make install" will install the docset in
819# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
820# it at startup.
821# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
822
823GENERATE_DOCSET = NO
824
825# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
826# feed. A documentation feed provides an umbrella under which multiple
827# documentation sets from a single provider (such as a company or product suite)
828# can be grouped.
829
830DOCSET_FEEDNAME = "Doxygen generated docs"
831
832# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
833# should uniquely identify the documentation set bundle. This should be a
834# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
835# will append .docset to the name.
836
837DOCSET_BUNDLE_ID = org.doxygen.Project
838
839# If the GENERATE_HTMLHELP tag is set to YES, additional index files
840# will be generated that can be used as input for tools like the
841# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
842# of the generated HTML documentation.
843
844GENERATE_HTMLHELP = NO
845
846# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
847# be used to specify the file name of the resulting .chm file. You
848# can add a path in front of the file if the result should not be
849# written to the html output directory.
850
851CHM_FILE =
852
853# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
854# be used to specify the location (absolute path including file name) of
855# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
856# the HTML help compiler on the generated index.hhp.
857
858HHC_LOCATION =
859
860# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
861# controls if a separate .chi index file is generated (YES) or that
862# it should be included in the master .chm file (NO).
863
864GENERATE_CHI = NO
865
866# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
867# is used to encode HtmlHelp index (hhk), content (hhc) and project file
868# content.
869
870CHM_INDEX_ENCODING =
871
872# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
873# controls whether a binary table of contents is generated (YES) or a
874# normal table of contents (NO) in the .chm file.
875
876BINARY_TOC = NO
877
878# The TOC_EXPAND flag can be set to YES to add extra items for group members
879# to the contents of the HTML help documentation and to the tree view.
880
881TOC_EXPAND = NO
882
883# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
884# are set, an additional index file will be generated that can be used as input for
885# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
886# HTML documentation.
887
888GENERATE_QHP = NO
889
890# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
891# be used to specify the file name of the resulting .qch file.
892# The path specified is relative to the HTML output folder.
893
894QCH_FILE =
895
896# The QHP_NAMESPACE tag specifies the namespace to use when generating
897# Qt Help Project output. For more information please see
898# http://doc.trolltech.com/qthelpproject.html#namespace
899
900QHP_NAMESPACE =
901
902# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
903# Qt Help Project output. For more information please see
904# http://doc.trolltech.com/qthelpproject.html#virtual-folders
905
906QHP_VIRTUAL_FOLDER = doc
907
908# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
909# For more information please see
910# http://doc.trolltech.com/qthelpproject.html#custom-filters
911
912QHP_CUST_FILTER_NAME =
913
914# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
915# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
916
917QHP_CUST_FILTER_ATTRS =
918
919# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
920# filter section matches.
921# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
922
923QHP_SECT_FILTER_ATTRS =
924
925# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
926# be used to specify the location of Qt's qhelpgenerator.
927# If non-empty doxygen will try to run qhelpgenerator on the generated
928# .qhp file.
929
930QHG_LOCATION =
931
932# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
933# top of each HTML page. The value NO (the default) enables the index and
934# the value YES disables it.
935
936DISABLE_INDEX = NO
937
938# This tag can be used to set the number of enum values (range [1..20])
939# that doxygen will group on one line in the generated HTML documentation.
940
941ENUM_VALUES_PER_LINE = 4
942
943# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
944# structure should be generated to display hierarchical information.
945# If the tag value is set to YES, a side panel will be generated
946# containing a tree-like index structure (just like the one that
947# is generated for HTML Help). For this to work a browser that supports
948# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
949# Windows users are probably better off using the HTML help feature.
950
951GENERATE_TREEVIEW = NO
952
953# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
954# and Class Hierarchy pages using a tree view instead of an ordered list.
955
956USE_INLINE_TREES = NO
957
958# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
959# used to set the initial width (in pixels) of the frame in which the tree
960# is shown.
961
962TREEVIEW_WIDTH = 250
963
964# Use this tag to change the font size of Latex formulas included
965# as images in the HTML documentation. The default is 10. Note that
966# when you change the font size after a successful doxygen run you need
967# to manually remove any form_*.png images from the HTML output directory
968# to force them to be regenerated.
969
970FORMULA_FONTSIZE = 10
971
972# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
973# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP)
974# there is already a search function so this one should typically
975# be disabled.
976
977SEARCHENGINE = YES
978
979#---------------------------------------------------------------------------
980# configuration options related to the LaTeX output
981#---------------------------------------------------------------------------
982
983# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
984# generate Latex output.
985
986GENERATE_LATEX = NO
987
988# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
989# If a relative path is entered the value of OUTPUT_DIRECTORY will be
990# put in front of it. If left blank `latex' will be used as the default path.
991
992LATEX_OUTPUT = latex
993
994# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
995# invoked. If left blank `latex' will be used as the default command name.
996
997LATEX_CMD_NAME = latex
998
999# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
1000# generate index for LaTeX. If left blank `makeindex' will be used as the
1001# default command name.
1002
1003MAKEINDEX_CMD_NAME = makeindex
1004
1005# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
1006# LaTeX documents. This may be useful for small projects and may help to
1007# save some trees in general.
1008
1009COMPACT_LATEX = NO
1010
1011# The PAPER_TYPE tag can be used to set the paper type that is used
1012# by the printer. Possible values are: a4, a4wide, letter, legal and
1013# executive. If left blank a4wide will be used.
1014
1015PAPER_TYPE = a4wide
1016
1017# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
1018# packages that should be included in the LaTeX output.
1019
1020EXTRA_PACKAGES =
1021
1022# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
1023# the generated latex document. The header should contain everything until
1024# the first chapter. If it is left blank doxygen will generate a
1025# standard header. Notice: only use this tag if you know what you are doing!
1026
1027LATEX_HEADER =
1028
1029# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
1030# is prepared for conversion to pdf (using ps2pdf). The pdf file will
1031# contain links (just like the HTML output) instead of page references
1032# This makes the output suitable for online browsing using a pdf viewer.
1033
1034PDF_HYPERLINKS = YES
1035
1036# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
1037# plain latex in the generated Makefile. Set this option to YES to get a
1038# higher quality PDF documentation.
1039
1040USE_PDFLATEX = YES
1041
1042# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
1043# command to the generated LaTeX files. This will instruct LaTeX to keep
1044# running if errors occur, instead of asking the user for help.
1045# This option is also used when generating formulas in HTML.
1046
1047LATEX_BATCHMODE = NO
1048
1049# If LATEX_HIDE_INDICES is set to YES then doxygen will not
1050# include the index chapters (such as File Index, Compound Index, etc.)
1051# in the output.
1052
1053LATEX_HIDE_INDICES = NO
1054
1055# 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.
1056
1057LATEX_SOURCE_CODE = NO
1058
1059#---------------------------------------------------------------------------
1060# configuration options related to the RTF output
1061#---------------------------------------------------------------------------
1062
1063# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
1064# The RTF output is optimized for Word 97 and may not look very pretty with
1065# other RTF readers or editors.
1066
1067GENERATE_RTF = NO
1068
1069# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
1070# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1071# put in front of it. If left blank `rtf' will be used as the default path.
1072
1073RTF_OUTPUT = rtf
1074
1075# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
1076# RTF documents. This may be useful for small projects and may help to
1077# save some trees in general.
1078
1079COMPACT_RTF = NO
1080
1081# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
1082# will contain hyperlink fields. The RTF file will
1083# contain links (just like the HTML output) instead of page references.
1084# This makes the output suitable for online browsing using WORD or other
1085# programs which support those fields.
1086# Note: wordpad (write) and others do not support links.
1087
1088RTF_HYPERLINKS = NO
1089
1090# Load stylesheet definitions from file. Syntax is similar to doxygen's
1091# config file, i.e. a series of assignments. You only have to provide
1092# replacements, missing definitions are set to their default value.
1093
1094RTF_STYLESHEET_FILE =
1095
1096# Set optional variables used in the generation of an rtf document.
1097# Syntax is similar to doxygen's config file.
1098
1099RTF_EXTENSIONS_FILE =
1100
1101#---------------------------------------------------------------------------
1102# configuration options related to the man page output
1103#---------------------------------------------------------------------------
1104
1105# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
1106# generate man pages
1107
1108GENERATE_MAN = NO
1109
1110# The MAN_OUTPUT tag is used to specify where the man pages will be put.
1111# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1112# put in front of it. If left blank `man' will be used as the default path.
1113
1114MAN_OUTPUT = man
1115
1116# The MAN_EXTENSION tag determines the extension that is added to
1117# the generated man pages (default is the subroutine's section .3)
1118
1119MAN_EXTENSION = .3
1120
1121# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
1122# then it will generate one additional man file for each entity
1123# documented in the real man page(s). These additional files
1124# only source the real man page, but without them the man command
1125# would be unable to find the correct page. The default is NO.
1126
1127MAN_LINKS = NO
1128
1129#---------------------------------------------------------------------------
1130# configuration options related to the XML output
1131#---------------------------------------------------------------------------
1132
1133# If the GENERATE_XML tag is set to YES Doxygen will
1134# generate an XML file that captures the structure of
1135# the code including all documentation.
1136
1137GENERATE_XML = NO
1138
1139# The XML_OUTPUT tag is used to specify where the XML pages will be put.
1140# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1141# put in front of it. If left blank `xml' will be used as the default path.
1142
1143XML_OUTPUT = xml
1144
1145# The XML_SCHEMA tag can be used to specify an XML schema,
1146# which can be used by a validating XML parser to check the
1147# syntax of the XML files.
1148
1149XML_SCHEMA =
1150
1151# The XML_DTD tag can be used to specify an XML DTD,
1152# which can be used by a validating XML parser to check the
1153# syntax of the XML files.
1154
1155XML_DTD =
1156
1157# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
1158# dump the program listings (including syntax highlighting
1159# and cross-referencing information) to the XML output. Note that
1160# enabling this will significantly increase the size of the XML output.
1161
1162XML_PROGRAMLISTING = YES
1163
1164#---------------------------------------------------------------------------
1165# configuration options for the AutoGen Definitions output
1166#---------------------------------------------------------------------------
1167
1168# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
1169# generate an AutoGen Definitions (see autogen.sf.net) file
1170# that captures the structure of the code including all
1171# documentation. Note that this feature is still experimental
1172# and incomplete at the moment.
1173
1174GENERATE_AUTOGEN_DEF = NO
1175
1176#---------------------------------------------------------------------------
1177# configuration options related to the Perl module output
1178#---------------------------------------------------------------------------
1179
1180# If the GENERATE_PERLMOD tag is set to YES Doxygen will
1181# generate a Perl module file that captures the structure of
1182# the code including all documentation. Note that this
1183# feature is still experimental and incomplete at the
1184# moment.
1185
1186GENERATE_PERLMOD = NO
1187
1188# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
1189# the necessary Makefile rules, Perl scripts and LaTeX code to be able
1190# to generate PDF and DVI output from the Perl module output.
1191
1192PERLMOD_LATEX = NO
1193
1194# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
1195# nicely formatted so it can be parsed by a human reader.
1196# This is useful
1197# if you want to understand what is going on.
1198# On the other hand, if this
1199# tag is set to NO the size of the Perl module output will be much smaller
1200# and Perl will parse it just the same.
1201
1202PERLMOD_PRETTY = YES
1203
1204# The names of the make variables in the generated doxyrules.make file
1205# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
1206# This is useful so different doxyrules.make files included by the same
1207# Makefile don't overwrite each other's variables.
1208
1209PERLMOD_MAKEVAR_PREFIX =
1210
1211#---------------------------------------------------------------------------
1212# Configuration options related to the preprocessor
1213#---------------------------------------------------------------------------
1214
1215# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
1216# evaluate all C-preprocessor directives found in the sources and include
1217# files.
1218
1219ENABLE_PREPROCESSING = YES
1220
1221# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
1222# names in the source code. If set to NO (the default) only conditional
1223# compilation will be performed. Macro expansion can be done in a controlled
1224# way by setting EXPAND_ONLY_PREDEF to YES.
1225
1226MACRO_EXPANSION = NO
1227
1228# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
1229# then the macro expansion is limited to the macros specified with the
1230# PREDEFINED and EXPAND_AS_DEFINED tags.
1231
1232EXPAND_ONLY_PREDEF = NO
1233
1234# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
1235# in the INCLUDE_PATH (see below) will be search if a #include is found.
1236
1237SEARCH_INCLUDES = YES
1238
1239# The INCLUDE_PATH tag can be used to specify one or more directories that
1240# contain include files that are not input files but should be processed by
1241# the preprocessor.
1242
1243INCLUDE_PATH =
1244
1245# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
1246# patterns (like *.h and *.hpp) to filter out the header-files in the
1247# directories. If left blank, the patterns specified with FILE_PATTERNS will
1248# be used.
1249
1250INCLUDE_FILE_PATTERNS =
1251
1252# The PREDEFINED tag can be used to specify one or more macro names that
1253# are defined before the preprocessor is started (similar to the -D option of
1254# gcc). The argument of the tag is a list of macros of the form: name
1255# or name=definition (no spaces). If the definition and the = are
1256# omitted =1 is assumed. To prevent a macro definition from being
1257# undefined via #undef or recursively expanded use the := operator
1258# instead of the = operator.
1259
1260PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
1261
1262# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
1263# this tag can be used to specify a list of macro names that should be expanded.
1264# The macro definition that is found in the sources will be used.
1265# Use the PREDEFINED tag if you want to use a different macro definition.
1266
1267EXPAND_AS_DEFINED =
1268
1269# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
1270# doxygen's preprocessor will remove all function-like macros that are alone
1271# on a line, have an all uppercase name, and do not end with a semicolon. Such
1272# function macros are typically used for boiler-plate code, and will confuse
1273# the parser if not removed.
1274
1275SKIP_FUNCTION_MACROS = YES
1276
1277#---------------------------------------------------------------------------
1278# Configuration::additions related to external references
1279#---------------------------------------------------------------------------
1280
1281# The TAGFILES option can be used to specify one or more tagfiles.
1282# Optionally an initial location of the external documentation
1283# can be added for each tagfile. The format of a tag file without
1284# this location is as follows:
1285#
1286# TAGFILES = file1 file2 ...
1287# Adding location for the tag files is done as follows:
1288#
1289# TAGFILES = file1=loc1 "file2 = loc2" ...
1290# where "loc1" and "loc2" can be relative or absolute paths or
1291# URLs. If a location is present for each tag, the installdox tool
1292# does not have to be run to correct the links.
1293# Note that each tag file must have a unique name
1294# (where the name does NOT include the path)
1295# If a tag file is not located in the directory in which doxygen
1296# is run, you must also specify the path to the tagfile here.
1297
1298TAGFILES =
1299
1300# When a file name is specified after GENERATE_TAGFILE, doxygen will create
1301# a tag file that is based on the input files it reads.
1302
1303GENERATE_TAGFILE =
1304
1305# If the ALLEXTERNALS tag is set to YES all external classes will be listed
1306# in the class index. If set to NO only the inherited external classes
1307# will be listed.
1308
1309ALLEXTERNALS = NO
1310
1311# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
1312# in the modules index. If set to NO, only the current project's groups will
1313# be listed.
1314
1315EXTERNAL_GROUPS = YES
1316
1317# The PERL_PATH should be the absolute path and name of the perl script
1318# interpreter (i.e. the result of `which perl').
1319
1320PERL_PATH = /usr/bin/perl
1321
1322#---------------------------------------------------------------------------
1323# Configuration options related to the dot tool
1324#---------------------------------------------------------------------------
1325
1326# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
1327# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
1328# or super classes. Setting the tag to NO turns the diagrams off. Note that
1329# this option is superseded by the HAVE_DOT option below. This is only a
1330# fallback. It is recommended to install and use dot, since it yields more
1331# powerful graphs.
1332
1333CLASS_DIAGRAMS = NO
1334
1335# You can define message sequence charts within doxygen comments using the \msc
1336# command. Doxygen will then run the mscgen tool (see
1337# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
1338# documentation. The MSCGEN_PATH tag allows you to specify the directory where
1339# the mscgen tool resides. If left empty the tool is assumed to be found in the
1340# default search path.
1341
1342MSCGEN_PATH =
1343
1344# If set to YES, the inheritance and collaboration graphs will hide
1345# inheritance and usage relations if the target is undocumented
1346# or is not a class.
1347
1348HIDE_UNDOC_RELATIONS = YES
1349
1350# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
1351# available from the path. This tool is part of Graphviz, a graph visualization
1352# toolkit from AT&T and Lucent Bell Labs. The other options in this section
1353# have no effect if this option is set to NO (the default)
1354
1355HAVE_DOT = NO
1356
1357# By default doxygen will write a font called FreeSans.ttf to the output
1358# directory and reference it in all dot files that doxygen generates. This
1359# font does not include all possible unicode characters however, so when you need
1360# these (or just want a differently looking font) you can specify the font name
1361# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
1362# which can be done by putting it in a standard location or by setting the
1363# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
1364# containing the font.
1365
1366DOT_FONTNAME = FreeSans
1367
1368# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
1369# The default size is 10pt.
1370
1371DOT_FONTSIZE = 10
1372
1373# By default doxygen will tell dot to use the output directory to look for the
1374# FreeSans.ttf font (which doxygen will put there itself). If you specify a
1375# different font using DOT_FONTNAME you can set the path where dot
1376# can find it using this tag.
1377
1378DOT_FONTPATH =
1379
1380# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
1381# will generate a graph for each documented class showing the direct and
1382# indirect inheritance relations. Setting this tag to YES will force the
1383# the CLASS_DIAGRAMS tag to NO.
1384
1385CLASS_GRAPH = YES
1386
1387# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
1388# will generate a graph for each documented class showing the direct and
1389# indirect implementation dependencies (inheritance, containment, and
1390# class references variables) of the class with other documented classes.
1391
1392COLLABORATION_GRAPH = YES
1393
1394# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
1395# will generate a graph for groups, showing the direct groups dependencies
1396
1397GROUP_GRAPHS = YES
1398
1399# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
1400# collaboration diagrams in a style similar to the OMG's Unified Modeling
1401# Language.
1402
1403UML_LOOK = NO
1404
1405# If set to YES, the inheritance and collaboration graphs will show the
1406# relations between templates and their instances.
1407
1408TEMPLATE_RELATIONS = NO
1409
1410# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
1411# tags are set to YES then doxygen will generate a graph for each documented
1412# file showing the direct and indirect include dependencies of the file with
1413# other documented files.
1414
1415INCLUDE_GRAPH = NO
1416
1417# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
1418# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
1419# documented header file showing the documented files that directly or
1420# indirectly include this file.
1421
1422INCLUDED_BY_GRAPH = YES
1423
1424# If the CALL_GRAPH and HAVE_DOT options are set to YES then
1425# doxygen will generate a call dependency graph for every global function
1426# or class method. Note that enabling this option will significantly increase
1427# the time of a run. So in most cases it will be better to enable call graphs
1428# for selected functions only using the \callgraph command.
1429
1430CALL_GRAPH = NO
1431
1432# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
1433# doxygen will generate a caller dependency graph for every global function
1434# or class method. Note that enabling this option will significantly increase
1435# the time of a run. So in most cases it will be better to enable caller
1436# graphs for selected functions only using the \callergraph command.
1437
1438CALLER_GRAPH = NO
1439
1440# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
1441# will graphical hierarchy of all classes instead of a textual one.
1442
1443GRAPHICAL_HIERARCHY = YES
1444
1445# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
1446# then doxygen will show the dependencies a directory has on other directories
1447# in a graphical way. The dependency relations are determined by the #include
1448# relations between the files in the directories.
1449
1450DIRECTORY_GRAPH = YES
1451
1452# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
1453# generated by dot. Possible values are png, jpg, or gif
1454# If left blank png will be used.
1455
1456DOT_IMAGE_FORMAT = png
1457
1458# The tag DOT_PATH can be used to specify the path where the dot tool can be
1459# found. If left blank, it is assumed the dot tool can be found in the path.
1460
1461DOT_PATH =
1462
1463# The DOTFILE_DIRS tag can be used to specify one or more directories that
1464# contain dot files that are included in the documentation (see the
1465# \dotfile command).
1466
1467DOTFILE_DIRS =
1468
1469# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
1470# nodes that will be shown in the graph. If the number of nodes in a graph
1471# becomes larger than this value, doxygen will truncate the graph, which is
1472# visualized by representing a node as a red box. Note that doxygen if the
1473# number of direct children of the root node in a graph is already larger than
1474# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
1475# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
1476
1477DOT_GRAPH_MAX_NODES = 50
1478
1479# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
1480# graphs generated by dot. A depth value of 3 means that only nodes reachable
1481# from the root by following a path via at most 3 edges will be shown. Nodes
1482# that lay further from the root node will be omitted. Note that setting this
1483# option to 1 or 2 may greatly reduce the computation time needed for large
1484# code bases. Also note that the size of a graph can be further restricted by
1485# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
1486
1487MAX_DOT_GRAPH_DEPTH = 0
1488
1489# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
1490# background. This is disabled by default, because dot on Windows does not
1491# seem to support this out of the box. Warning: Depending on the platform used,
1492# enabling this option may lead to badly anti-aliased labels on the edges of
1493# a graph (i.e. they become hard to read).
1494
1495DOT_TRANSPARENT = NO
1496
1497# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
1498# files in one run (i.e. multiple -o and -T options on the command line). This
1499# makes dot run faster, but since only newer versions of dot (>1.8.10)
1500# support this, this feature is disabled by default.
1501
1502DOT_MULTI_TARGETS = YES
1503
1504# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
1505# generate a legend page explaining the meaning of the various boxes and
1506# arrows in the dot generated graphs.
1507
1508GENERATE_LEGEND = YES
1509
1510# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
1511# remove the intermediate dot files that are used to generate
1512# the various graphs.
1513
1514DOT_CLEANUP = YES
01515
=== added file 'INSTALL'
--- INSTALL 1970-01-01 00:00:00 +0000
+++ INSTALL 2011-04-06 13:26:57 +0000
@@ -0,0 +1,18 @@
1compiz uses libstartup-notification which is available at
2ftp://ftp.gnome.org/pub/GNOME/sources/startup-notification/
3
4compiz uses out-of-tree builds with cmake, in order to generate the Makefiles for compiz use:
5
6 $ mkdir build
7 $ cd build
8 $ cmake ..
9
10After that, standard build procedures apply:
11
12 $ make
13 # make install
14
15In order to build other plugins, you will need to install the compiz cmake set
16
17 # make findcompiz_install
18
019
=== added file 'NEWS'
--- NEWS 1970-01-01 00:00:00 +0000
+++ NEWS 2011-04-06 13:26:57 +0000
@@ -0,0 +1,498 @@
1Release 0.9.4 (2010-02-24 Sam Spilsbury <sam.spilsbury@canonical.com>)
2========================================================================
3Development Release.
4
5Main loop implementation now replaced by the GLib main loop, use custom
6event sources and event dispatch synchronisation. Allows better integration
7with plugins that require tight timing with GLib timers
8
9Moved image and data generation into buildsystem extensions, and installation
10of such data into namespaced areas on the filesystem so plugins can't
11overwrite other plugin's data
12
13Intelligently clip window shadows in decor
14
15Fixed a number of 2D decoration issues
16
17Fixed a number of reparenting, stacking and focus issues
18
19Support different frame types in gtk-window-decorator
20
21
22Release 0.9.2.1 (2010-11-06 Sam Spilsbury <sam.spilsbury@canonical.com>)
23========================================================================
24Bugfix release.
25
26
27Release 0.9.2 (2010-10-24 Sam Spilsbury <smspillaz@gmail.com>)
28==============================================================
29Development release.
30
31Made minimization functions wrappable
32
33Decorators now get shadow settings from window properties on the root
34window and not through gconf, kconfig or dbus
35
36Allow resizing from the center of the window
37
38Clean up gtk-window-decorator
39
40Fixed a number of reparenting bugs
41
42Release 0.9.0 (2010-07-03 Sam Spilsbury <smspillaz@gmail.com>)
43==============================================================
44Development release.
45
46Rewritten core in C++.
47
48Rewritten plugin APIs.
49
50Rewritten buildsystem in CMake, supports option code autogeneration,
51plugin build dependency handling, amongst other things.
52
53Smart wrappable functions, enables saving on otherwise useless CPU cycles.
54
55Reparenting window decorations.
56
57Support for tiled textures and screen sizes larger than max_texture_size
58through the use of the copytex plugin.
59
60Composite and OpenGL based rendering dropped from core, split into the
61opengl and composite plugins, which represent a step towards pluggable
62rendering backends.
63
64Ability to run in non composited mode added to gtk-window-decorator
65and kde4-window-decorator.
66
67kde-window-decorator dropped.
68
69Added KDE plugin to integrate with the QT main loop and create a KApplication
70for KCrash support on KDE.
71
72dbus plugin now uses screen number to identify compiz instance.
73
74Dropped multi-screen mode, launch compiz on individual screens instead.
75
76Shape drawing mode added to annotate plugin.
77
78Fixed screen updates issue in annotate plugin.
79
80Added serialization interface, which allows plugins to save/restore activity
81states between plugin and compiz reloads. Serialization info is stored in
82X11 window properties and is automatically dropped by the X Server when
83the window is destroyed.
84
85Added compiztoolbox library plugin used by switchers and screenshot, which
86provide a simple interface for accessing XDG and drawing thumbnails.
87
88Release 0.8.6 (2010-03-28 Danny Baumann <dannybaumann@web.de>)
89==============================================================
90Maintenance release.
91
92Various focus and window placement fixes.
93
94Fixed handling of windows that have a (server-drawn) border.
95
96Fixed handling of window icons that have a colour depth of 1 bit.
97
98Added KDE 4.4 support to KDE4 window decorator.
99
100Release 0.8.4 (2009-10-14 Erkin Bahceci <erkinbah@gmail.com>)
101=============================================================
102Maintenance release.
103
104Fixed many crashes (including doPoll/eventLoop ones).
105
106Various memory leak fixes.
107
108Fixed lost window issues with windows that are visible on all workspaces.
109
110Fixed lost window issue when reducing the number of workspaces.
111
112Fixed placing of dialogs (e.g. PolicyKit) behind currently focused window.
113
114Fixed placing of new windows behind fullscreen window.
115
116Fixed and improved screen resolution change handling (Compiz now remembers
117original window size and position).
118
119Lowering a window now activates the topmost window when click-to-focus is on.
120
121Fixed wobbly title bar hiding and bouncing near panel edges.
122
123Screenshot plugin now saves to the correct desktop directory by default.
124
125Fixed inconsistent icon sizes in switcher plugin.
126
127Improved constraining of window size and position in move, resize, and wobbly.
128
129Ported KDE4 window decorator to KDE 4.3.
130
131Added support for _NET_REQUEST_FRAME_EXTENTS and _NET_SUPPORT_FULL_PLACEMENT
132EWMH hints.
133
134Release 0.8.2 (2009-03-01 Danny Baumann <dannybaumann@web.de>)
135==============================================================
136Maintenance release.
137
138Fixed issue in strut handling that could lead to struts being ignored
139for certain monitor configurations.
140
141Fixed window position constraining logic.
142
143Fixed kconfig xslt files missing from 0.8.0 tarball.
144
145Release 0.8.0 (2009-02-20 Danny Baumann <dannybaumann@web.de>)
146==============================================================
147Fourth stable release of compiz.
148
149New plugin "commands" that handles the bindings for arbitrary commands that
150previously were handled in core. In addition to the previously present key
151bindings button and edge bindings were added as well.
152
153New plugin "gnomecompat" which handles bindings that are exclusively used
154in the Gnome desktop environment and removed the corresponding bindings
155from core. This change fixes main menu and run dialog bindings for KDE users
156as those previously were conflicting between compiz and KDE. Gnome users
157upgrading should make sure to enable this plugin.
158
159Added support for _NET_WM_FULLSCREEN_MONITORS EWMH hint.
160
161Added support for reading the icon hint from the WM_HINTS property if
162_NET_WM_ICON is not available.
163
164Update Gnome support for Gnome 2.24.
165
166Added options to scale plugin that allow "toggle type" behaviour for
167key and button bindings.
168
169Several memory leak fixes.
170
171Adjusted gtk-window-decorator for newer libmetacity-private versions.
172
173Fixed gtk-window-decorator display for RTL languages.
174
175Adjusted kde4-window-decorator for KDE 4.2 API.
176
177Large number of minor bug fixes, especially in resize handling and
178stacking code.
179
180Translation updates
181
182Release 0.7.8 (2008-09-17 Danny Baumann <dannybaumann@web.de>)
183==============================================================
184Development release.
185
186New plugin "obs" that handles opacity, brightness and saturation bindings
187and matches.
188
189Put unresponsive window greyout, including options to configure it, to
190fade plugin.
191
192Add "constant fade time" fade mode to fade plugin.
193
194Removed opacity bindings and matches from core. Users that entered opacity
195matches should enable the obs plugin and enter the matches there.
196
197Enhanced timer infrastructure to allow synchronization of execution of
198multiple timer callbacks.
199
200Added matching for window's alpha channel (match type rgba=[0|1]).
201
202Reflect new Metacity "spacer" button type in gtk-window-decorator.
203
204Various bugfixes.
205
206Translation updates.
207
208Release 0.7.6 (2008-05-29 Dennis Kasprzyk <onestone@opencompositing.org>)
209=========================================================================
210Development release.
211
212Rewrite of place plugin, which significantly improves multi-output
213behaviour.
214
215Configurable multi-output behaviour in place.
216
217Removed plane plugin. Former plane plugin users are encouraged to use
218the wall plugin of Compiz Fusion.
219
220Removed cube wallpaper painting. Users are encouraged to use the Compiz
221Fusion wallpaper plugin instead.
222
223Place plugin viewport placement viewport numbers are now 1-based.
224
225Panel and desktop selection mode in switcher plugin.
226
227Improved painting behaviour when using overlapping outputs.
228
229Gtk-window-decorator now emits accessibility events when switching.
230
231Gtk-window-decorator behaviour when using Metacity themes has been
232improved to match Metacity better.
233
234KDE4-window-decorator has been adapted to current KDE4 API.
235
236Various bugfixes.
237
238Release 0.7.4 (2008-03-04 Dennis Kasprzyk <onestone@opencompositing.org>)
239=========================================================================
240Development release.
241
242Configurable handling of overlapping output devices.
243
244Enhanced focus stealing prevention with configurable amount of focus
245stealing prevention.
246
247Added configurable, optional delay for edge actions to prevent
248accidential invocation.
249
250Generalized vertex system to improve plugin compatibility.
251
252Optimized gaussian blur shaders to support more hardware.
253
254Improved unredirection of fullscreen windows.
255
256Several bugfixes.
257
258Translation updates.
259
260Release 0.7.2 (2008-03-06 Dennis Kasprzyk <onestone@opencompositing.org>)
261=========================================================================
262Development release.
263
264Several bugfixes
265
266Translation support in gtk-window-decorator.
267
268Updated translations.
269
270Added wrapable session functions to core. This allows to provide a full session save/restore in a plugin.
271
272Release 0.7.0 (2008-02-07 Dennis Kasprzyk <onestone@opencompositing.org>)
273=========================================================================
274Development release.
275
276A core plugin has been added that allows handling certain core APIs, such as
277querying the ABI version, similarly to plugin APIs, allowing sharing more
278code.
279
280Added a simple object system, which generalize the privates mechanism and the plugin system. It allows to share more code between display, screen and window objects. It also makes it possible to properly introduce new object types without changing the plugin interface or breaking the API.
281
282Multi-display support.
283
284Various fixes in ICCCM compliance, window stacking and focus handling.
285
286Validity checking of ConfigureRequest events.
287
288Fixes to transient children placement in place plugin.
289
290Hooks have been added to the cube plugin which allow better control of
291viewport drawing.
292
293Middle and right click actions have been made configurable in
294gtk-window-decorator.
295
296Gtk-window-decorator now optionally allows mouse wheel title bar actions, such
297as shading.
298
299A KDE4 port of the kde-window-decorator has been added.
300
301Frequent crashes of kde-window-decorator for some people have been fixed.
302
303
304Release 0.5.4 (2007-08-20 David Reveman <davidr@novell.com>)
305============================================================
306Development release.
307
308XCB is now required.
309
310Major improvements to option system that makes
311configuration backend integration much less complex.
312
313Kconfig plugin that provides proper KDE configuration
314support.
315
316Kcfg files are generated from the meta-data and they can
317be used to generate C++ source code that will provide an
318API for applications to access all compiz configuration
319data used by the kconfig plugin.
320
321
322Release 0.5.2 (2007-08-03 David Reveman <davidr@novell.com>)
323============================================================
324Development release.
325
326Better support for multiple X-screens.
327
328XML-based meta-data system for handling of various kinds
329for meta-data like plugin descriptions, default option
330values, etc.
331
332Major improvements to option initialization based on the
333new meta-data system.
334
335Logging framework.
336
337Support for configurable button layout in metacity themes
338has been added to gtk-window-decorator.
339
340Glib plugin that allows plugins that use the glib main
341loop to integrate properly with the compiz main loop
342without waking up periodically to check for pending
343events.
344
345Plugin plugins that make it possible to adjust and extend
346the behavior of existing plugins through new plugins.
347
348More dynamic handling of output devices, which allows the
349output device configuration used when rendering to be
350changed between frames.
351
352Transparency support in cube plugin.
353
354Introspection support in dbus plugin.
355
356
357Release 0.5.0 (2007-04-02 David Reveman <davidr@novell.com>)
358============================================================
359Development release.
360
361Remove stencil buffer requirement.
362
363Focus stealing prevention support.
364
365Blur plugin that provide support for blurring windows and
366contents behind translucent windows.
367
368Fragment attribute interface that allow plugins
369to perform more advanced fragment shading effects and
370integrate properly with other plugins.
371
372Extensible window matching interface and new option type
373that provide advanced window selection functionality.
374
375Plugin that provide a composited video interface for
376efficient video playback.
377
378FUSE plugin that maps compiz options to a file-system and
379allow efficient manipulation of options by reading and
380writing files.
381
382Better occlusion detection and more efficient rendering.
383
384Flat file configuration backend.
385
386
387Release 0.3.6 (2006-12-31 David Reveman <davidr@novell.com>)
388============================================================
389Development release.
390
391Add support for unredirect of fullscreen windows when using
392the composite overlay window and make usage of the
393composite overlay window for output default.
394
395Add file notification API.
396
397Add inotify plugin that implements file notification API.
398
399A "GetPlugins" method has been added to dbus plugin
400and it can be used to retrieve a list of available plugins.
401
402A 'GetPluginMetadata' method has been added to dbus plugin
403and it returns metadata for available plugins.
404
405Add support for switching between windows without having
406the thumbnail window show up.
407
408Switcher thumbnails now include decorations and shadows.
409
410Basic drag and drop support has been added to scale plugin.
411
412It's now possible to initiate scale plugin for specific window
413groups.
414
415Window menu icon support has been added to gtk window decorator.
416
417Improved support for metacity themes.
418
419Add KDE window decorator with support for shadows and opacity
420has been added.
421
422
423Release 0.3.4 (2006-11-21 David Reveman <davidr@novell.com>)
424============================================================
425Development release.
426
427Edge button, which can be used to require a button press
428for edge actions to be triggered.
429
430Basic compiz event support.
431
432Zoom plugin now works without "largedesktop" feature.
433
434Cube plugin now handles desktop width less than 4 times
435the screen better.
436
437Support for multiple desktops (workspaces).
438
439Handling of _NET_DESKTOP_GEOMETRY client messages has
440been fixed.
441
442Much better multi-head support.
443
444Annotate plugin has been added.
445
446Clone plugin which can be used to clone outputs in a
447convenient way has been added. Currently more of a
448prototype as we need randr++ and input transformation
449in the server to do this properly.
450
451Shadow color option has been added.
452
453initiate_all option has been added to scale plugin.
454
455Zoom factor option has been added to zoom plugin.
456
457Support for new metacity theme version and support for
458metacity versions < 2.15.21.
459
460Event window placement when using some metacity
461themes has been fixed.
462
463Fix a number of issues related to minimizing windows
464with transients.
465
466
467Release 0.3.2 (2006-10-20 David Reveman <davidr@novell.com>)
468============================================================
469Development release.
470
471snap_inverted option has been added to wobbly plugin.
472
473Configuration support has been added to dbus plugin.
474
475Add 'command' option has been added to decoration plugin,
476which can be used to automatically launch a decorator
477when one isn't already running.
478
479Opacity support for metacity themes.
480
481A raise_window option has been added.
482
483Decorations on maximized windows are now rendered
484correctly when using metacity themes.
485
486An ignore_hints_when_maximized option, which makes compiz
487ignore size increment and aspect hints for maximized
488windows has been added and made default.
489
490Better default option values for rotate plugin.
491
492and much more...
493
494
495Release 0.2.0 (2006-10-02 David Reveman <davidr@novell.com>)
496============================================================
497First official release of compiz.
498
0499
=== added file 'README'
--- README 1970-01-01 00:00:00 +0000
+++ README 2011-04-06 13:26:57 +0000
@@ -0,0 +1,8 @@
1compiz - OpenGL window and compositing manager
2
3Compiz is an OpenGL compositing manager that use GLX_EXT_texture_from_pixmap
4for binding redirected top-level windows to texture objects. It has a flexible
5plug-in system and it is designed to run well on most graphics hardware.
6
7David Reveman
8davidr@novell.com
09
=== added file 'RELEASING'
--- RELEASING 1970-01-01 00:00:00 +0000
+++ RELEASING 2011-04-06 13:26:57 +0000
@@ -0,0 +1,75 @@
1Here are the steps to follow to create a new compiz release:
2
31) Ensure that there are no local, uncommitted modifications.
4 It's probably good enough if "git diff HEAD" doesn't output
5 anything and your "master" and "origin" branches are at the
6 current revision.
7
82) Verify that the code passes "make distcheck"
9
10 Running "make distcheck" should result in no warnings or
11 errors and end with a message of the form:
12
13 ==============================================
14 compiz-X.Y.Z archives ready for distribution:
15 compiz-X.Y.Z.tar.gz
16 ==============================================
17
18 (But the tar file isn't actually ready yet, as we still have
19 some more steps to follow).
20
213) Fill out an entry in the NEWS file
22
23 Shift through the logs since the last release. This is most
24 easily done with a comand such as:
25
26 git log --stat compiz-X.Y.Z..
27
28 where X.Y.Z is the previous release version.
29
30 Summarize major changes briefly in a style similar to other
31 entries in NEWS.
32
334) Increment version number in configure.ac:
34
35 Increment to the micro version number to the next larger
36 (even) number.
37
385) Commit the changes to NEWS and configure.ac
39
40 It's especially important to mention the new version number in your
41 commit log.
42
436) Run "make release-publish" which will perform the following steps
44 for you:
45
46 * Check that the version number ends with an even micro component
47 * Check that no release exists with the current version
48 * Verify that make distcheck completes successfully
49 * Generate the final tar file
50 * Generate an sha1sum file
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: