2006-06-21  David Reveman  <davidr@novell.com>

	* src/window.c: Add updateTransientHint to protect against circular
	transient dependencies. (bnc 186825)

2006-06-20  David Reveman  <davidr@novell.com>

	* src/window.c (addWindowSizeChanges): Constrain window
	dimensions if they are too large.

	* gnome/window-decorator/gnome-window-decorator.c (get_mwm_prop):
	Trap X errors.

2006-06-20  Dan Winship  <danw@novell.com>

	* configure.ac (ALL_LINGUAS): Add pl

2006-06-16  David Reveman  <davidr@novell.com>

	* plugins/compiz.schemas.in.in: Regen.

	* plugins/switcher.c:
	* plugins/scale.c: Add modal dialogs and fullscreen windows
	to default window types. (bnc 185749)

	* gnome/window-decorator/gnome-window-decorator.c: Track motif
	WM hints and disable decorations when application wants no
	titlebar. (bnc 185852)

2006-06-15  David Reveman  <davidr@novell.com>

	* plugins/cube.c (cubePaintTransformedScreen): Remove
	PAINT_SCREEN_CLEAR_MASK from mask.

	* plugins/switcher.c (switchPaintScreen): Add PAINT_SCREEN_CLEAR_MASK
	when zooming. (bnc 183676)

	* src/paint.c (paintTransformedScreen): Clear color buffer if
	PAINT_SCREEN_CLEAR_MASK is present.

	* include/compiz.h: Add PAINT_SCREEN_CLEAR_MASK.

	* gnome/window-decorator/gnome-window-decorator.c: Add DM selection
	support and --repalce option so it's possible to replace an
	existing window decorator in the same way as it's possible to replace
	a window manager. (bnc 185296)
	(close_button_event):
	(max_button_event):
	(min_button_event): De-highlight on NotifyGrab. (bnc 185293)

2006-06-12  Dan Winship  <danw@novell.com>

	* plugins/cube.c: 
	* plugins/switcher.c: Mark cube as needing to load before switcher
	rather than marking switcher as requiring cube. bnc #183676.

	* plugins/gconf-dump.c (dumpPluginOptions): Output load_before and
	requires for all plugins, even if the list is empty, to ensure
	that an empty value in a new release overrides a non-empty value
	in an older release.

	* plugins/compiz.schemas.in.in: regen

2006-06-09  Dan Winship  <danw@novell.com>

	* configure.ac: add translations

2006-06-09  David Reveman  <davidr@novell.com>

	* plugins/move.c (moveHandleMotionEvent): Handle shaded windows
	better.

	* src/window.c (maximizeWindow):
	* src/event.c (handleEvent): Allow windows to be both maximized
	and shaded.

	* src/window.c:  Update addWindowSizeChanges so it can be used by
	moveResizeWindow.
	(updateWindowAttributes): Add missing sendSyncRequest call.
	(addWindowSizeChanges): Make maximized window placement a bit better.
	(moveResizeWindow): Adjust window geometry using
	addWindowSizeChanges. (bnc 183121)

	* src/window.c: Only allow shading on windows with top decoration.

	* src/event.c (handleEvent): Check that shade action is allowed
	before shading a window.

2006-06-08  David Reveman  <davidr@novell.com>

	* plugins/decoration.c (decorInitWindow):
	* plugins/minimize.c (minInitWindow):
	* src/window.c (addWindow): Handle initially shaded windows
	correctly.

	* plugins/switcher.c (switchTerminate): Only use hideWindow
	if switcher window is managed and mapped.
	(switchInitiate): Only use showWindow if switcher window is
	hidden. (bnc 182519)

	* plugins/minimize.c (minHandleEvent): Make sure we adjust the window
	region correctly when it's being unshaded.

2006-06-07  David Reveman  <davidr@novell.com>

	* configure.ac: Bump version to 0.0.13.

	* plugins/compiz.schemas.in.in: Regen.

	* src/window.c: Add window shading support.

	* src/screen.c:
	* src/paint.c:
	* src/event.c: Adjust for window shading support.
	(handleEvent): Handle RESTACK client messages with sibling None
	correctly.

	* src/event.c:
	* src/display.c: Add toggle window shade binding.

	* plugins/minimize.c: Add window shading animation support.

	* plugins/fade.c:
	* plugins/place.c:
	* plugins/resize.c:
	* plugins/scale.c:
	* plugins/switcher.c:
	* plugins/decoration.c: Adjust for window shading support.

	* include/compiz.h: Add window shading support.

	* gnome/window-decorator/gnome-window-decorator.c: lower_window ->
	restack_window and change it so it can be used for both
	raising and lowering a window.
	Add support for double_click_titlebar setting.
	(title_event): Don't activate window on titlebar click only
	raise it. Use double_click_action to determine what should be
	done when titlebar is double clicked.
	(update_event_windows): Remove vertical resize event windows
	when top level window is shaded.
	(window_state_changed): Update event windows when window state
	changed.

	* gnome/window-decorator/gnome-window-decorator.c:
	* gnome/compiz-window-manager.c: Add support for shade double click
	setting.

	* plugins/compiz.schemas.in.in: Regen.

	* plugins/cube.c (cubePaintTransformedScreen):
	* plugins/wobbly.c (wobblyDrawWindowGeometry):
	* plugins/switcher.c (switchPaintWindow):
	* src/paint.c (drawWindowGeometry): Disable client-side texture
	coordinate arrays that are not used. (bnc #182430)

	* plugins/compiz.schemas.in.in:
	* plugins/resize.c:
	* plugins/move.c: Add initiate_keyboard binding which is more
	appropriate for key-binding as it moves the cursor to middle of
	window.

2006-06-06  David Reveman  <davidr@novell.com>

	* plugins/switcher.c: Track thumbnail damage correctly.
	(switchPaintScreen): Only intercept paintScreen when screen is
	grabbed or we're zooming and ss->translate > 0.001.
	(switchPaintScreen): Paint switcher window correctly when we're
	not zooming.
	Add cube as a dependency to make sure background is rendered
	correctly when zooming.
	(bnc #181909)

	* src/window.c (moveResizeWindow, ensureWindowVisibility):
	Don't make sure fullscreen windows are in workarea.
	(fdo #7115) (bnc #181907)

	* src/event.c (handleEvent): Track XA_WM_CLASS property changes.

	* src/window.c:
	* include/compiz.h: remove updateWindowClass and update
	updateWindowClassHints.

2006-06-02  David Reveman  <davidr@novell.com>

	* configure.ac: Bump version to 0.0.12.

	* src/event.c (handleEvent): Fix typo.

	* gnome/window-decorator/gnome-window-decorator.c:
	Hide tooltips on NotifyGrab. (bnc #180692)

2006-06-01  Dan Winship  <danw@novell.com>

	* src/event.c (handleEvent): If we receive a _NET_SHOWING_DESKTOP
	request with no window set, set the flag on all screens. (Fixes
	the KDE "show desktop" applet.) Also, don't allow a client to
	change its _NET_WM_DESKTOP.

	* src/window.c (addWindow): Set _NET_WM_DESKTOP on all windows to
	0; KDE's pager and tasklist require this to be set. (bnc 178320)

2006-06-01  David Reveman  <davidr@novell.com>

	* include/compiz.h:
	* src/window.c: Add updateWindowClass.

2006-05-31  David Reveman  <davidr@novell.com>

	* include/compiz.h:
	* src/screen.c:
	* src/display.c: Add hide_skip_taskbar_windows option. (bnc 180055)

	* include/compiz.h:
	* src/window.c: Add getStartupId.

	* src/screen.c: Save initial viewport when startup notification
	is received. Fix implementation of applyStartupProperties.
	(bnc 180224)

	* src/event.c (handleEvent): Handle startup ID property changes.

	* plugins/place.c: Adjust work area to initial viewport.

	* plugins/cube.c (cubePaintTransformedScreen): Disable skydome
	animation while cube is unfolded. (bnc 179833)

	* plugins/switcher.c (switchPaintWindow): Make sure selected window is
	not clipped incorrectly when some window is transformed. (bnc 179828)

	* plugins/move.c (moveHandleEvent): Initialize xRoot and yRoot.
	(bnc 179902)

	* src/Makefile.am (INCLUDES): Add @GL_CFLAGS@. (Eric Work)

2006-05-30  Dan Winship  <danw@novell.com>

	* configure.ac: Check libwnck for wnck_window_has_name (new in
	HEAD).

	* gnome/window-decorator/gnome-window-decorator.c
	(wnck_window_get_real_name): #if HAVE_WNCK_WINDOW_HAS_NAME,
	redefine wnck_window_get_name to return NULL if the window only
	has a fallback name. bnc 173059.

	* src/event.c (handleEvent): call moveInputFocusToOtherWindow()
	before destroyWindow() when processing a DestroyNotify, or else
	the input focus can get stranded.

2006-05-26  David Reveman  <davidr@novell.com>

	* plugins/compiz.schemas.in.in: Regen.

	* plugins/scale.c (SCALE_SLOPPY_FOCUS_DEFAULT): TRUE.

	* plugins/decoration.c (decorWindowUpdate): No drop-shadow decoration
	on windows with below state.

	* src/window.c (recalcWindowType): Treat dock windows with below state
	as normal windows. (bnc #178316)

	* plugins/cube.c (cubePaintTransformedScreen): Avoid optimized case
	when more than 4 cube sides.

2006-05-25  David Reveman  <davidr@novell.com>

	* plugins/compiz.schemas.in.in: Regen.

	* src/window.c (moveResizeWindow): Don't adjust position for NorthWest
	gravity. (bnc 178765) (fdo #6992)

	* plugins/compiz.schemas.in.in:
	* include/compiz.h:
	* src/event.c (handleEvent):
	* src/display.c: Add maximize_window_horizontally,
	maximize_window_vertically, toggle_window_maximized,
	toggle_window_maximized_horizontally,
	toggle_window_maximized_vertically.

	* src/event.c (handleEvent): Track changes to maximizeWindow function.

	* plugins/move.c (moveHandleMotionEvent): Make sure we have a saved
	width before we use it. Track changes to maximizeWindow function.

	* plugins/wobbly.c (wobblyHandleEvent): Handle the case where
	window is not both vertically and horizontally maximized better.

	* include/compiz.h: Add MAXIMIZE_STATE macro.

	* include/compiz.h:
	* src/window.c: Remove unmaximizeWindow and make maximizeWindow
	take a state mask so it can be used for both maximizing and
	unmaximizing.

	* plugins/switcher.c: Don't add windows that appear after the switcher
	is popped up. (bnc 178350)
	(switchWindowRemove): Don't create a new list. Instead remove
	window from the existing list and make sure we're positioned
	correctly.

2006-05-24  David Reveman  <davidr@novell.com>

	* plugins/scale.c (scaleMoveFocusWindow): When moving to window on
	left, make sure the window we're moving to is completely left of
	currently selected window. And same thing when moving to window on
	right, top, bottom.
	 (layoutThumbs): Set slot->x2 and slot->y2 correctly. (bnc 178216)

2006-05-23  David Reveman  <davidr@novell.com>

	* plugins/water.c: GL_UNSIGNED_INT_8_8_8_8_REV as pixel data type on
	MSBFirst machines.

	* src/texture.c: Include config.h before compiz.h so that
	IMAGE_BYTE_ORDER is defined correctly. (bnc 178171)

	* include/compiz.h: Define LSBFirst, MSBFirst, IMAGE_BYTE_ORDER,
	BITMAP_BIT_ORDER. (bnc 178171)

2006-05-23  Dan Winship  <danw@novell.com>

	* plugins/switcher.c (switchToWindow): use ss->windows here as
	well so that multiple activeNum==0 windows don't get skipped.
	(switchTerminate): Remove the screen grab right away so that
	keystrokes don't get dropped. bnc 177650
	(switchPreparePaintScreen, switchPaintScreen,
	switchDonePaintScreen): update for that

2006-05-22  Dan Winship  <danw@novell.com>

	* src/window.c (moveResizeWindow): deal with both vertical and
	horizontal struts; but not when moving a dock window

	* plugins/switcher.c (switchHandleEvent): Check init_all binding
	before init, so you can bind "<Alt>" to init_all and so end up
	with "<Alt>Tab" being init_all rather than init (but with no way
	to get "init"...). bnc 173376

2006-05-21  David Reveman  <davidr@novell.com>

	* src/display.c (addDisplay): Select for button events on root windows.

	* configure.ac: Bump version to 0.0.11.

	* gnome/window-decorator/gnome-window-decorator.c: Fix shadow
	performance by separating the convolution filter into one vertical and
	one horizontal pass.

	* src/window.c (mapWindow): Give sync request on map another try, it
	seems to be working now.

	* src/window.c (addWindow): Allow XGetWindowAttributes to fail.
	(bnc 173416).

	* src/window.c (addWindow): Initialize managed to false. Set managed
	to true if widows is viewable.

	* src/event.c (handleEvent): Set managed to false when window
	transitions to withdrawn state.
	(handleEvent): Set managed to true when we get MapRequest.
	(handleEvent): Constrain configure request if window is managed.

	* include/compiz.h: Add "managed" variable that is true while
	windows is managed.

2006-05-19  David Reveman  <davidr@novell.com>

	* plugins/switcher.c (ICON_SIZE): Allow use of larger window icons.

2006-05-18  Dan Winship  <danw@novell.com>

	* plugins/wobbly.c (WOBBLY_FOCUS_DEFAULT): Set this to "None" to
	match wobblyInitScreen() so that it actually works right.

	* plugins/compiz.schemas.in.in: regen

2006-05-18  Dan Winship  <danw@novell.com>

	* src/session.c (saveYourselfCallback): if we have a
	RestartCommand registered with the session manager, update the
	--sm-client-id in it to match the id we were assigned. bnc 176746

	* src/main.c (main, usage): remove unused --sm-save-file arg and
	fix documentation of --sm-client-id.

2006-05-17  David Reveman  <davidr@novell.com>

	* plugins/compiz.schemas.in.in: Regen (Overlay Icon).

	* plugins/switcher.c (switchPaintScreen): Don't remove switcher
	from window list, just temporarily mark it as destroyed. This fixes
	issue with switcher decorations disappearing when some window is
	unmapped.

	* src/screen.c (updateDefaultIcon): width and height should be
	unsigned.

	* gnome/window-decorator/gnome-window-decorator.c: Add minimal
	option that can be used to run g-w-d with drop-shadows but without full
	window decorations.

	* plugins/minimize.c (minHandleEvent): Restore window position
	when transitioning to withdrawn state.

	* plugins/scale.c: Remove next_window binding and fix so that arrow
	keys can be used to select window.
	Focus new window when pointer enter window decorations and sloppy focus
	is used.
	Remove scaleSelectWindow.

	* plugins/scale.c: Icon support (Nat Friedman).

2006-05-17  Dan Winship  <danw@novell.com>

	* src/display.c (handleSelectionClear, eventLoop): don't process
	exit-on-selection-clear until the event queue is empty, or else
	MapRequest and ConfigureRequest events could get lost. bnc 175558

2006-05-14  David Reveman  <davidr@novell.com>

	* src/event.c (handleEvent): mapNum might be 0 if we found the window
	unmapped when trying to bind it to a texture.

2006-05-12  David Reveman  <davidr@novell.com>

	* src/screen.c (enterShowDesktopMode): Only go into show desktop mode
	when some window is being hidden.

	* src/event.c (handleWindowDamageRect): Make sure placed is set to true
	when no plugin is doing placement.
	(handleEvent): Don't set WM_STATE on override redirect windows.

	* plugins/switcher.c (isSwitchWin): Don't show windows that ask not to
	be in tasklists.

	* plugins/rotate.c (rotateHandleEvent): Only adjust viewport if window
	has been placed.

	* plugins/minimize.c (minHandleEvent): Reset everything when going
	into withdrawn state.

	* src/window.c (moveResizeWindow): Handle west and north gravity
	correctly.

2006-05-11  David Reveman  <davidr@novell.com>

	* src/display.c (addDisplay):
	* src/screen.c (addScreen): Move server grab to addDisplay to make
	sure that no windows are created between XSelectInput and XQueryTree
	as that would result in them being added two times.

	* src/window.c (moveResizeWindow): Fix typo, CWY should be CWX.
	(moveResizeWindow): Constrain Y position so that window titlebar is
	visible.
	(restoreWindowGeometry): Fix issue with going from maximized state
	to non-maximized state without changing the window size.

	* gnome/window-decorator/gnome-window-decorator.c
	(max_window_name_width): Make sure title text fit in titlebar.

2006-05-11  Dan Winship  <danw@novell.com>

	* plugins/gconf-compiz-utils.c (gconfStringToBinding): Treat "" as
	meaning "disabled"

2006-05-11  David Reveman  <davidr@novell.com>

	* gnome/window-decorator/gnome-window-decorator.c (action_menu_map):
	Don't show window action menu on desktop and dock windows.

	* src/event.c (handleEvent): Allow click on window decorations
	to trigger window action menu.

	* plugins/place.c (placeWindow): Place fullscreen and maximized
	windows correctly.
	(placeWindow): Only clip dialog position to screen if parent is
	visible in current viewport.

2006-05-09  David Reveman  <davidr@novell.com>

	* plugins/switcher.c (switchPaintThumb): Rearrange code so we handle
	the case when bindWindow fails.

	* src/paint.c (paintWindow): Bail out if window is not mapped.

	* src/window.c (bindWindow): Make sure window is mapped when
	getting the window pixmap. (bnc 173248)

	* plugins/compiz.schemas.in.in: Regen.

	* plugins/cube.c (CUBE_MIPMAP_DEFAULT): Enable by default as
	performance seem to be OK now when new mipmaps are only generated
	when necessary.

	* src/texture.c (enableTexture): Don't generate new mipmaps
	every time the texture is used.

2006-05-08  David Reveman  <davidr@novell.com>

	* plugins/switcher.c: Allow switcher to be initiated with prev
	bindings. (Quinn Storm)

2006-05-07  David Reveman  <davidr@novell.com>

	* plugins/compiz.schemas.in.in: Regen.

	* plugins/switcher.c: Add icon support, minimized windows support
	and allow switcher to show up when only one selectable window exist.

	* images/Makefile.am: Add default icon image.

	* include/compiz.h:
	* src/texture.c:
	* src/event.c (handleEvent):
	* src/screen.c:
	* src/display.c:
	* src/window.c: Add WM icon interface.

	* gnome/window-decorator/gnome-window-decorator.c: Compute
	switcher title text width correctly.

	* src/event.c (handleEvent): Insert windows correctly when
	reparenting.

2006-05-07  Dan Winship  <danw@novell.com>

	* configure.ac: Add --with-scale-corner option and make
	compiz.schemas reflect it; the best corner to use depends on where
	the panels are and what's on them, so distros will want to
	override this to match their default panel layout.

	* src/event.c (eventMatches): Fix the the "water plugin gets
	mysteriously activated when activating some other keybinding" bug.

2006-05-05  Dan Winship  <danw@novell.com>

	* Makefile.am: 
	* autogen.sh:
	* configure.ac: require intltool for option-description
	translation

	* plugins/Makefile.am: translate compiz.schemas.in into
	compiz.schemas

2006-05-05  Dan Winship  <danw@novell.com>

	* src/display.c (COMMAND_OPTION): Put numbers into the shortDescs
	of the command and run_command options

	* plugins/wobbly.c (WOBBLY_SNAP_MODIFIERS_DEFAULT): Use Shift
	rather than Control, for consistency with Metacity, and to remove
	the ambiguity about whether Ctrl+Alt+Button1 should be "grab cube"
	or "move with snapping". (bnc 169402)

	* plugins/compiz.schemas: regen

2006-05-05  David Reveman  <davidr@novell.com>

	* plugins/compiz.schemas: Regen.

	* gnome/window-decorator/gnome-window-decorator.c: Forward
	metacity's bell settings to compiz.

	* plugins/water.c:
	* plugins/wobbly.c:
	* plugins/fade.c: Add visual bell.

	* include/compiz.h:
	* src/display.c: Add audible bell option.

2006-05-04  David Reveman  <davidr@novell.com>

	* src/window.c (getModalTransient): Avoid infinite recursion when more
	than one group transient got modal state.

2006-05-03  David Reveman  <davidr@novell.com>

	* plugins/move.c:
	* plugins/resize.c (resizeHandleMotionEvent): Don't constrain the
	cursor.

	* plugins/rotate.c (rotateHandleEvent): Use defaultViewportForWindow
	to figure out which viewport we should move to. (bnc 152677)

	* src/window.c (addWindowSizeChanges): Offset x coordinate with
	default viewport coordinate. (bnc 171465)
	(updateWindowAttributes): Always add windows size changes. (bnc 171465)

	* include/compiz.h:
	* src/window.c (defaultViewportForWindow): Add defaultViewportForWindow
	function that computes the default viewport for a window.

2006-05-02  David Reveman  <davidr@novell.com>

	* plugins/cube.c (cubePaintTransformedScreen): Bump up size a bit more
	to make sure the cube unfolds completely.

	* src/event.c (handleEvent): Not constraints should be applied to
	ConfigureRequests for withdrawn windows. (bnc 171143)

	* src/window.c (syncWindowPosition): We never need to send synthetic
	ConfigureNotify events as we're not reparenting windows.

2006-05-02  Dan Winship  <danw@novell.com>

	* plugins/gconf-dump.c: rewrite to make compiz.schema regeneration
	a little easier, and to make it possible to generate schema files
	for third-party plugins. Include plugin descriptions and
	dependency information in the schema.

	* plugins/Makefile.am: add a rule to generate compiz.schemas

	* plugins/compiz.schemas: regen

	* plugins/cube.c, plugins/decoration.c, plugins/fade.c,
	plugins/gconf.c, plugins/minimize.c, plugins/wobbly.c:
	s/expose/scale/ in dependencies

2006-05-02  David Reveman  <davidr@novell.com>

	* include/compiz.h:
	* configure.ac: Don't require glproto, include necessary enums in
	compiz.h.

	* src/texture.c:
	* include/compiz.h: Update to latest EXT_tfp spec. Requires an
	X server that has also been updated.

	* configure.ac: Require glproto >= 1.4.7 with final EXT_tfp tokens.

2006-05-01  David Reveman  <davidr@novell.com>

	* src/window.c (circulateWindow):
	* src/event.c (handleEvent): Use getTopWindow instead of
	reverseWindows->id as reverseWindows might be a destroyed window.

	* include/compiz.h:
	* src/screen.c: Add getTopWindow function that returns top window.

2006-04-30  David Reveman  <davidr@novell.com>

	* plugins/compiz.schemas: Regen.

	* plugins/decoration.c (decorWindowUpdate): Don't decorate fullscreen
	windows.

	* plugins/cube.c: Add initial support for unfolding the cube. Default
	key-binding is <Control><Alt>Down.

	* plugins/rotate.c (rotateHandleEvent): Fix absolute rotation.

	* plugins/switcher.c: Fix so that bring-to-front doesn't change
	the actual stacking order.
	Add zoom option, enable it by default so it gets some testing.
	Made bring-to-front enabled by default as it makes zoom functionality
	more useful.
	Made switcher window always rendered above all other windows and
	not affected by screen transformations.

	* src/event.c (handleEvent): Send configure notify before mapping
	window if PPosition or USPosition is set.

	* src/screen.c (insertWindowIntoScreen): Sibling above doesn't have to
	be mapped. This change seem to currently by causing the
	stacking order of some override-redirect windows to be incorrect.
	Don't insert window when aboveId doesn't match an existing window.
	(removeScreenGrab): ifdef DEBUG around abort.

	* src/event.c (handleEvent): Only update active window property
	when it's changing.

	* src/window.c (sendConfigureNotify): Make sure the latest
	window attributes are put in the ConfigureNotify.
	(moveResizeWindow): Only send sync request if window is mapped.

	* plugins/rotate.c: Add support for edge-flipping when using
	drag-and-drop. Remove edge_flip and flip_move options and add
	edge_flip_pointer, edge_flip_move, edge_flip_dnd.

	* src/screen.c:
	* src/display.c:
	* include/compiz.h:
	Make screen edges drag-and-drop aware.

	* plugins/zoom.c:
	* plugins/water.c:
	* plugins/switcher.c:
	* plugins/scale.c:
	* plugins/rotate.c:
	* plugins/resize.c:
	* plugins/move.c:
	* src/scren.c:
	* include/compiz.h:
	Variable argument list to otherScreenGrabExist, last argument must
	be 0.

	* src/event.c:
	* src/display.c:
	* include/compiz.h: Add raise-on-click option.

	* gnome/window-decorator/gnome-window-decorator.c (title_event):
	Activate window when clicking titlebar.

2006-04-28  David Reveman  <davidr@novell.com>

	* gnome/window-decorator/gnome-window-decorator.c: Back out last change
	as it clearly didn't fix anything. XFixed being defined as "int"
	is perfectly fine of course. libXrender is currently broken on 64bit.
	See Bug #6774 for a fix.
	(XRenderSetPictureFilter_wrapper): Add workaround for 64bit
	issue in libXrender. (Dan Winship)

	* src/event.c (handleEvent):
	* src/display.c:
	* include/compiz.h:
	Add show desktop binding. (Martin Szulecki)

	* plugins/rotate.c: Reset timout handle correctly.

	* plugins/move.c:
	* plugins/resize.c:
	* plugins/rotate.c:
	* plugins/scale.c:
	* plugins/switcher.c:
	* plugins/water.c:
	* plugins/zoom.c: Track screen grab changes changes.

	* src/screen.c:
	* include/compiz.h: Associate all screen grabs with a name. Add
	otherScreenGrabExist function which can be used to check if screen
	is grabbed by other plugins.

2006-04-28  Dan Winship  <danw@novell.com>

	* src/event.c (eventMatches): new method that replaces EV_KEY and
	EV_BUTTON. Tests if an event matches a binding, being more precise
	about modifier state than EV_KEY and EV_BUTTON were.
	(eventTerminates): Tests if an event is "the opposite" of a
	binding. (Eg, button or modifier key release.) Replaces
	CompReleaseMask and "terminate" bindings.
	(handleEvent): Use eventMatches

	* src/screen.c (addPassiveKeyGrab, removePassiveKeyGrab,
	updatePassiveKeyGrabs): When passed a keybinding containing just
	modifiers, grab/ungrab every keypress event that would result in
	that modifier state (eg, both left and right modifier keys, and
	allow them to be pressed in any order).

	* src/display.c: Remove CompPressMask from default bindings.
	(eventLoop): don't add virtual modifiers to event state.
	(updateModifierMappings): store the XModifierKeymap for later
	use.
	
	* plugins/*.c: Use eventMatches and eventTerminates. Remove
	CompPressMask and "terminate" bindings (except from scale, which
	is different from the others).

	* plugins/switcher.c: Make initiate_all be just the modifier key
	used in addition to the initiate binding ("<Control>"). Remove
	next_window since it doesn't make a lot of sense to have it be
	different from initiate_all, and make prev_window be just a
	modifier key as well. ("<Shift>").
	(SwitchScreen): add extra options to store the fully-composed
	initiate_all, prev, and prev_all bindings.
	(switchScreenInitOptions, switchSetScreenOption): Generate and
	regenerate initiate_all, prev, and prev_all bindings as needed.
	(switchHandleEvent): update

	* plugins/gconf-compiz-utils.c: Remove "<Release>" handling.

	* plugins/compiz.schemas: regen, dropping the terminate bindings
	and updating a few others.

	* include/compiz.h: remove CompPressMask, CompReleaseMask,
	EV_BUTTON, and EV_KEY. Add eventMatches, eventTerminates, and
	keycodeToModifiers. Add modMap field to CompDisplay.

2006-04-28  David Reveman  <davidr@novell.com>

	* plugins/water.c: Handle enter/leave notify events.

	* plugins/decoration.c (decorInitWindow): Check for window specific
	decoration on both mapped and unmapped windows so that initially
	minimized windows get properly decorated. (Dan Winship)

	* gnome/window-decorator/gnome-window-decorator.c: Use xfixed_16_16_t
	instead of XFixed to avoid 64bit issue with XFixed being defined as
	"int".

	* configure.ac: xrender 0.8.4 is good enough.

2006-04-27  Dan Winship  <danw@novell.com>

	* plugins/rotate.c (rotateHandleEvent): for the
	rotate-to-specific-face keys, rotate counterclockwise when that's
	faster. (bnc 169427)

	* plugins/scale.c (scaleHandleEvent): Make the corners toggle
	scale mode rather than only activating it. (bnc 169408)

2006-04-27  David Reveman  <davidr@novell.com>

	* configure.ac: Bump version to 0.0.10.

	* plugins/decoration.c: Remove debug variable.

	* src/window.c (addWindow): Check if window is minimized. (Dan Winship)

	* plugins/compiz.schemas: Regen (snapoff and maximize_effect).

	* plugins/wobbly.c: Add maximize effect.

	* plugins/zoom.c:
	* plugins/water.c:
	* plugins/rotate.c:
	* plugins/resize.c:
	* plugins/move.c:
	* src/event.c:
	* src/screen.c:
	* src/display.c:
	* include/compiz.h: Add proper warp pointer interface and update
	all plugins to use it.

2006-04-26  Dan Winship  <danw@novell.com>

	* src/event.c (handleEvent): activate window on Button2 click in
	addition to Button1 and Button3.

	* plugins/gconf.c (gconfSetOption): gconf_value_compare against
	the old value for list-type options too.
	(gconfInitOption): Change the call to gconf_client_get_entry to
	request the default value again; the fix to gconfSetOption will
	prevent the infinite loops that happened before.

2006-04-26  David Reveman  <davidr@novell.com>

	* gnome/window-decorator/gnome-window-decorator.c (update_shadow): 
	Remove comment that is no longer valid.

	* plugins/move.c: Support for maximized windows snap-off. Based on
	patch by Colin Guthrie.

	* plugins/rotate.c (rotateHandleEvent): Don't do edge flipping
	when a horizontally maximized or fullscreen window is grabbed.

	* plugins/zoom.c:
	* plugins/rotate.c:
	* plugins/resize.c:
	* plugins/move.c:
	* src/screen.c:
	* include/compiz.h: Add warpPointerToScreenPos and use it everywhere
	we want to invisibly warp the pointer.

2006-04-25  David Reveman  <davidr@novell.com>

	* gnome/window-decorator/gnome-window-decorator.c:
	* plugins/decoration.c: Add clamp and min size.

	* plugins/decoration.c (decorReleaseDecoration): Fix memory leak.

	* plugins/scale.c: Click on background leaves scale mode and enters
	show desktop mode. (Dan Winship)

	* plugins/minimize.c (minHandleEvent): Initialize scale and
	translate properly.

	* src/window.c (activateWindow):
	* src/event.c (handleEvent):
	* src/screen.c: Add window parameter to leaveShowDesktopMode and
	use this function for making one window leave show desktop mode.
	Fixes so that we're leaving show desktop mode when no windows
	are longer hidden.

	* plugins/scale.c (scaleSetScreenOption): Add missing break statement.

	* plugins/rotate.c (rotateInitScreen): Initialize rotateHandle.

	* src/paint.c (paintScreen): Only paint windows that have been 
	damaged.

2006-04-24  Dan Winship  <danw@novell.com>

	* plugins/scale.c: 
	* plugins/switcher.c: clarify the "initiate" descriptions

	* plugins/compiz.schemas: regen

2006-04-24  David Reveman  <davidr@novell.com>

	* src/paint.c (paintScreen): Always call paintWindow when window
	is visible. Fixes so that window animations (fade, minimize...) aren't
	paused when if window becomes invisible.
	(paintWindow): Return early if region is empty.

	* plugins/switcher.c: Use hideWindow and showWindow so that the
	decoration doesn't have to be redrawn every time the switcher window
	is mapped.

	* src/window.c:
	* include/compiz.h: Add hidden flag, that can be used to hide windows
	without minimizing them.

	* plugins/compiz.schemas: Regen (drop-shadow options).

	* configure.ac: xrender 0.9, required for g-w-d.

	* gnome/window-decorator/gnome-window-decorator.c:
	* plugins/decoration.c: Add configurable drop-shadows. A minor issue is
	that shadows around "tiny" windows are not rendered correctly when
	large shadow offsets are used. Solution is to have the decorator set
	a minimum size for which a decoration can be used so that no shadows
	are rendered around "tiny" windows.

2006-04-20  Dan Winship  <danw@novell.com>

	* plugins/rotate.c: add 12 go-directly-to-cube-face and 12
	go-directly-to-cube-face-with-window bindings.

	* src/display.c (compDisplayInitOptions): fix the binding type on
	WINDOW_MENU.

	* plugins/compiz.schemas: Regen. (lower_window, window_menu,
	scale_image, images, resize, flip_move, move_window_types, and the
	new rotate bindings)

2006-04-20  David Reveman  <davidr@novell.com>

	* src/window.c:
	* src/event.c (handleEvent):
	* src/display.c:
	* include/compiz.h:
	* gnome/window-decorator/gnome-window-decorator.c: Add force quit
	dialog.

	* plugins/resize.c: Changed default binding to Button2.

	* src/display.c (LOWER_WINDOW_BUTTON_DEFAULT): Button2 -> 6.

	* gnome/window-decorator/gnome-window-decorator.c:
	* include/compiz.h:
	* src/event.c (handleEvent):
	* src/display.c: Add window menu binding.

	* gnome/window-decorator/gnome-window-decorator.c: Pick up toolkit
	actions from compiz and send gnome panel actions for "main menu" and
	"run dialog" actions.

	* src/event.c (handleEvent):
	* src/screen.c:
	* include/compiz.h:
	* src/display.c (addDisplay): panel action -> toolkit action.

	* src/window.c (getModalTransient): Group transient must not be an
	ancestor to the window we've currently found as the window to focus.
	(getModalTransient): Check for child modal transient.

2006-04-19  David Reveman  <davidr@novell.com>

	* gnome/compiz-window-manager.c: Be nice to gnome-theme-manager
	and return a theme even though we currently don't support it.

	* include/compiz.h:
	* src/main.c: Remove window-image option.

	* include/compiz.h:
	* plugins/water.c:
	* plugins/cube.c:
	* src/texture.c:
	* src/paint.c:
	* src/main.c: Add strict-binding option.

2006-04-18  Dan Winship  <danw@novell.com>

	* src/event.c (handleEvent): Fix a crasher in the screenshot
	binding code (and rename some of the #defines to make them not so
	ridiculously long). Also temporarily hack around a bug in EV_KEY
	by putting the check for WINDOW_SCREENSHOT before the check for
	SCREENSHOT.

	* plugins/scale.c: Change the keybinding again, now to "Pause".
	(F11 is the "fullscreen mode" binding for many apps.)

	* plugins/compiz.schemas: update

	* plugins/gconf.c: 
	* plugins/gconf-compiz-utils.c: 
	* plugins/gconf-dump.c: Rearrange #includes to prevent warning
	about TRUE and FALSE being redefined

2006-04-18  David Reveman  <davidr@novell.com>

	* plugins/rotate.c (ROTATE_FLIPMOVE_DEFAULT): Changed to TRUE.

	* src/window.c (recalcWindowActions): Remove maximize and fullscreen
	actions when resizing isn't allowed.

	* gnome/window-decorator/gnome-window-decorator.c: Dynamic positioning
	of window buttons.

	* plugins/cube.c (readSvgToTexture): Fix typo.

	* plugins/resize.c: Constrain cursor movement to min/max window size.

	* src/window.c (constrainNewWindowSize): Fix aspect ratio calculations.

2006-04-17  David Reveman  <davidr@novell.com>

	* plugins/cube.c: Put PNG on top face by default.

	* images/Makefile.am: Remove window.png.
	Add novell.png.

	* include/compiz.h:
	* src/readpng.c: Add openImageFile.

	* plugins/cube.c: Support for PNGs on top face.
	Add scale image option which is used to determine if top face
	image should be scaled or not.

2006-04-15  David Reveman  <davidr@novell.com>

	* plugins/wobbly.c: Add modal dialog type to default list of windows
	that should be wobbly when moved.

	* plugins/water.c (SET): +1 for border.

2006-04-14  Dan Winship  <danw@novell.com>

	* plugins/gconf-dump.c: add "water" to gconfDeps

	* plugins/compiz.schemas: regen including the water options

2006-04-14  David Reveman  <davidr@novell.com>

	* src/event.c (handleWindowDamageRect): Ignore damage from windows
	that aren't redirected.

	* include/compiz.h:
	* src/window.c:
	* src/display.c (eventLoop):
	* src/screen.c: Add support for automatic unredirecting of fullscreen
	windows.

	* plugins/scale.c (scaleInitiate): Layout thumbnails before we
	grab the screen to make sure some window exist.

	* plugins/resize.c: Allow 4-way resize. (Mike Hearn)

2006-04-13  Dan Winship  <danw@novell.com>

	* src/screen.c (panelAction): take a timestamp and pass that to
	the panel rather than using CurrentTime

	* src/event.c (handleEvent): update for that

	* src/window.c (moveResizeWindow): fix the gravity handling so
	self-resizing windows don't dance (although I'm pretty sure this
	is a symptom of mishandling gravity somewhere else).

	* plugins/gconf.c (gconfInitOption): Request the default value of
	the key from gconf, rather than initializing the key to the
	internal default value if it hasn't yet been set by the user.
	Notably, this makes it so that "compiz gconf" on a new account
	will use the default value of active_plugins rather than the
	(effectively empty) list of plugins on the command line. (It also
	makes it so that the sysadmin can override defaults via sabayon or
	whatever.)

2006-04-13  David Reveman  <davidr@novell.com>

	* src/window.c (mapWindow): Maybe not, disable it again. :(

	* src/window.c (mapWindow): Enable draw synchronization on map
	again. Should be working correctly with CVS version of X server.

2006-04-12  Dan Winship  <danw@novell.com>

	* src/window.c (moveResizeWindow): move duplicated code from
	_NET_MOVERESIZE_WINDOW and ConfigureRequest handlers in event.c to
	here, and handle gravity as well. (Fixes bnc 163058.)
	(updateWindowAttributes): Do nothing if the window is
	override_redirect (and remove a few now-redundant checks of that
	elsewhere). Previously we were forgetting to check
	!override_redirect in the case where the motif hints changed. (bnc
	163931)
	(getWindowUserTime): fix a cut-and-paste-o that caused a crash on
	64bit machines.

	* src/event.c (handleEvent): fix the _NET_MOVERESIZE_WINDOW bit
	manipulation to correspond to what the EWMH means rather than what
	it says, and use moveResizeWindow for that and for
	ConfigureRequest.

	* plugins/gconf-compiz-utils.c (gconfBindingToString): DTRT with
	"None" bindings.

	* gnome/window-decorator/gnome-window-decorator.c (title_event):
	if the user right-clicks on the titlebar while the context menu is
	popped up, just pop it down and eat the click, like all other
	GNOME context menus do.
	(style_changed, value_changed): Don't add decorations to
	previously-undecorated windows. (bnc 165393)

2006-04-11  David Reveman  <davidr@novell.com>

	* src/screen.c (addScreen): Fix typo.

2006-04-10  Dan Winship  <danw@novell.com>

	* src/window.c (focusWindowOnMap): new function to decide whether
	or not to focus a newly-mapped window. In addition to the old
	checks, this also checks that _NET_WM_USER_TIME isn't 0, to allow
	a window to explicitly request to not get focus.

	* src/event.c (handleEvent): use focusWindowOnMap when processing
	MapRequest.

	* plugins/rotate.c (rotateHandleEvent): fix _NET_ACTIVE_WINDOW
	handling so this doesn't interfere with focusable panel applets.

	* plugins/compiz.schemas: regen (fixing cube top/bottom color)

	* plugins/gconf-dump.c: Handle CompOptionTypeColor.

	* configure.ac: Add --enable-gconf-dump so that the gconf-dump
	plugin doesn't get built in normal builds

	* plugins/Makefile.am: make gconf-dump optional.

2006-04-09  Dan Winship  <danw@novell.com>

	* plugins/gconf-dump.c: add plugin options, and add information
	about restrictions (numeric ranges, specific string values) to the
	long description. Make gconf-dump refuse to run if gconf is
	running (since you want the defaults it writes out to be coming
	from the defaults in the source code, not from any gconf
	overrides).

	* plugins/compiz.schemas: regen

	* plugins/gconf.c (gconfGetOptionValue): don't call gconfSetOption
	from here, or we'll get an infinite loop when anything changes

2006-04-09  David Reveman  <davidr@novell.com>

	* include/compiz.h:
	* src/display.c:
	* src/main.c:
	* src/screen.c:
	* src/texture.c:
	* src/window.c: Remove test mode.

	* plugins/Makefile.am: Remove schema from CLEANFILES.

	* plugins/compiz.schemas:
	* src/display.c:
	Improve documentation for runcommand keys slightly. (Mike Hearn)

	* include/compiz.h:
	* src/texture.c:
	* src/screen.c (addScreen): Switch to using GLX 1.3 functions.
	 (James Jones)

	* src/main.c: Indirect rendering option. (James Jones)

2006-04-08  David Reveman  <davidr@novell.com>

	* plugins/water.c: Add rain delay option. (Emilie Roberts)

2006-04-07  David Reveman  <davidr@novell.com>

	* plugins/gconf-dump.c: Dump list options correctly.

	* plugins/rotate.c: Add flip_move option, edge flipping is only
	used when moving windows if this option is enabled.
	(rotateHandleEvent): Make we don't rotate when some other plugin
	has grabbed the screen.

	* plugins/scale.c: Change default key-binding to F11.
	(scaleInitiate): Make sure screen isn't grabbed by some other plugin.
	(scaleInitScreen): Initialize darkenBack properly.

	* configure.ac: Bump version to 0.0.9.

	* plugins/Makefile.am (CLEANFILES, EXTRA_DIST): Fix.

	* plugins/rotate.c (ROTATE_SPEED_DEFAULT): 1.5.

2006-04-07  Dan Winship  <danw@novell.com>

	(Much of this patch was written by Radek Doulik
	<rodo@novell.com>.)

	* src/display.c:
	* src/event.c:
	* src/screen.c: Move keybinding stuff to CompDisplay, making it no
	longer settable per-screen. Add bindings for screenshots (for
	compatibility with metacity, which handles that keybinding in
	GNOME for historical reasons).

	* include/compiz.h: add an explicit CompBindingTypeNone rather
	than relying on modifiers==0 to mean none. Update bindings stuff.

	* src/screen.c (removePassiveKeyGrab, removePassiveButtonGrab):
	Fix these to remove the right grab rather than always removing the
	most-recently-added one.
	(addScreenBinding): deal with CompBindingTypeNone

	* plugins/gconf-dump.c: hacky plugin to dump information about the
	other plugins to a gconf schemas file (used to regenerate
	compiz.schemas)

	* plugins/gconf-compiz-utils.c: shared code between gconf.c and
	gconf-dump.c

	* plugins/Makefile.am: add gconf-dump plugin and compiz.schemas,
	and code to install compiz.schemas.

	* configure.ac: Update gconf test to set macros needed for schema
	install.

2006-04-07  David Reveman  <davidr@novell.com>

	* plugins/rotate.c: Add edge flipping support.

	* plugins/scale.c: Allow corner screen edges to be used for
	initiating scale mode.

	* src/option.c (compSetBoolOption): Only return TRUE if value changed.

	* src/screen.c:
	* src/window.c:
	* plugins/minimize.c:
	* plugins/decoration.c:
	* include/compiz.h: Add immediate argument to MoveNotify, immediate
	means that any animations should be avoided.

	* src/screen.c:
	* plugins/water.c:
	* plugins/resize.c:
	* plugins/place.c:
	* plugins/move.c:
	* plugins/zoom.c:
	* plugins/rotate.c:
	* plugins/scale.c:
	* src/event.c:
	* include/compiz.h:
	Add previous pointer position that can be shared between multiple
	plugins.

2006-04-06  David Reveman  <davidr@novell.com>

	* include/compiz.h:
	* src/screen.c: Add screen edges and simple interface for enabling
	and disabling them.

	* plugins/switcher.c (switchDamageWindowRect)
	(switchWindowRemove): Update switcher list even when screen isn't
	grabbed.

	* plugins/switcher.c (switchDamageWindowRect):
	* include/compiz.h:
	* src/event.c (handleEvent):
	* src/window.c:	Made it possible to select if window should be
	stacked above fullscreen windows or not.

	* src/window.c (findSiblingBelow): Only find a fullscreen sibling
	if aboveFs is TRUE.
	(activateWindow): Allow stacking of window above fullscreen windows
	when being activated.

2006-04-05  David Reveman  <davidr@novell.com>

	* plugins/water.c (fboEpilogue): Reset raster position. Avoids
	an FBO/raster-position issue found in newer nvidia drivers.

	* plugins/move.c: Add constrain_y option that constrains window
	movement so that top of window is always visible (on by default).

	* src/event.c (handleEvent): Change active window property even though
	it's not different than the window we currently have as active.

	* src/window.c (moveInputFocusToWindow): Set focus even though
	the window is considered the active window.

2006-04-03  David Reveman  <davidr@novell.com>

	* plugins/water.c: Use char everywhere instead.
	Fix offset direction (P-a Bäckström).
	Add offset scale option.

	* plugins/water.c: (loadFragmentProgram): GLubyte -> const GLbyte.
	(loadWaterProgram): char -> GLbyte.
	(loadBumpMapProgram): char -> GLbyte.
	Use char everywhere.

	* configure.ac: Bump version to 0.0.8.

	* plugins/water.c: Add simple rain effect.
	(loadFragmentProgram): Clear any previous error.

	* src/display.c: Change so that timeouts are not only triggered
	when we're idle.

2006-04-02  David Reveman  <davidr@novell.com>

	* plugins/water.c: Add scale and bias to normal so that light can be
	computed correclty. Offset texture coordinates for nice refraction
	effect. (P-a Bäckström)
	(waterDrawWindowTexture): Add scaling after setting up texture
	coordinate generation.
	Fix up loading of bump map programs.
	(softwareUpdate): Improve performance of software fall-back code a bit.
	(waterDrawWindowTexture): Always use filter for when window is
	transformed.

	* plugins/gconf.c (gconfGetValue): Fix typo that caused color
	parsing to be incomplete (Quinn Storm).

2006-04-01  David Reveman  <davidr@novell.com>

	* plugins/switcher.c: Add "initiate all" binding which brings up the
	switcher window with all mapped windows and "initiate" binding will
	now bring up the switcher window with only the visible windows.

2006-03-31  David Reveman  <davidr@novell.com>

	* plugins/minimize.c (minDamageWindowRect): Never leave windows
	in scaled state.

	* src/screen.c (moveScreenViewport): Move hidden windows as well.

	* src/window.c (addWindow, activateWindow, hideWindow)
	(showWindow):
	* src/screen.c (enterShowDesktopMode, leaveShowDesktopMode):
	* src/event.c (handleEvent):
	* include/compiz.h: Fix up show desktop mode.

	* plugins/water.c (fboVertices): return 1.

2006-03-30  David Reveman  <davidr@novell.com>

	* src/texture.c (enableTexture): Always make sure mipmaps are up to
	date when using GL_LINEAR_MIPMAP_LINEAR filter.

2006-03-29  David Reveman  <davidr@novell.com>

	* gnome/window-decorator/gnome-window-decorator.c: Draw outline around
	window title text and buttons instead of small shadow.

	* src/event.c (handleEvent):
	* include/compiz.h:
	* src/window.c: Set allowed window actions more correctly.

	* plugins/move.c: Add opacity option.

	* plugins/Makefile.am: Add water plugin. It's not very useful yet
	and it needs more work but it's a good example of how to use
	GL_ARB_fragment_program and GL_EXT_framebuffer_object for visual
	effects.

	* src/screen.c (addScreen): Fix light position.

	* src/paint.c (paintWindow):
	* plugins/switcher.c (switchPaintThumb):
	* plugins/decoration.c (decorPaintWindow):
	* include/compiz.h: Make drawWindowTexture a screen function so that
	plugins can wrap it.

	* src/texture.c (enableTexture):
	* src/screen.c (addScreen):
	* include/compiz.h: GL_EXT_framebuffer_object and
	GL_ARB_fragment_program support.

2006-03-21  David Reveman  <davidr@novell.com>

	* gnome/window-decorator/gnome-window-decorator.c (lower_window): Don't
	try to lower a window below hidden windows or desktop windows.

2006-03-20  David Reveman  <davidr@novell.com>

	* plugins/wobbly.c (wobblyHandleEvent):
	xunmap -> xmap (François Ingelrest).

	* src/screen.c (isClientListWindow): All type of windows should go into
	the client lists (Thanks to Quinn Storm).

	* src/window.c (freeWindow): Destroy frame window.
	(mapWindow): Fix so the sync requests are sent correctly when a window
	is mapped but disable it for now as it seems to be causing problems
	with some applications.
	(recalcWindowActions): Allow dialog window actions on util and
	toolbar windows.

	* src/event.c (handleEvent): Remove event mask and button grabs
	when window is reparented.
	(handleEvent): Update client list when window type changes.
	(handleEvent): Use constrainNewWindowSize on move/resize client
	messages and configure requests.

	* gnome/window-decorator/gnome-window-decorator.c (window_closed):
	Delete decor property when window is closed.

2006-03-17  Jeremy C. Reed  <reed@reedmedia.net>

	reviewed by: David Reveman

	* autogen.sh:
	Be consistent with rest of modular xorg by using same
	autogen.sh.  This allows it to be run using a different
	work directory.

2006-03-17  Jeremy C. Reed  <reed@reedmedia.net>

	reviewed by: David Reveman

	* INSTALL:
	Mention startup-notification requirement.

2006-03-17  David Reveman  <davidr@novell.com>

	* plugins/scale.c: Add opacity option.

	* configure.ac: Bump version to 0.0.7.

2006-03-17  Radek Doulik  <rodo@novell.com>

	* src/session.c: added all mandatory SM client callbacks, handle
	ICE connection and process ICE messages

	* src/display.c (compAddWatchFd): new function, adds new fd watch
	- for poll io multiplexing
	(compRemoveWatchFd): new function, remove fd watch added by
	compAddWatchFd
	(doPoll): new helper function, does call poll and calls callbacks
	for watch fd's. returns the value of poll call
	(eventLoop): use doPoll, we use NULL for display fd watch so that
	it doesn't call anything and just use return value from poll as
	before

2006-03-17  David Reveman  <davidr@novell.com>

	* plugins/switcher.c (switchDamageWindowRect): Update window
	attributes for popup window. We never get a MapRequest for this
	window so it most be done here.
	Add "bring to front" option. (Greg)

	* src/window.c (stackAncestors): Never raise desktop windows.
	Made restackWindowAbove and restackWindowBelow smarter.

2006-03-16  David Reveman  <davidr@novell.com>

	* plugins/minimize.c:
	* src/event.c (handleEvent):
	* src/window.c:
	Handle window state changes correctly.
	(maximizeWindow): Use actions to determine if we're allowed maximize
	window.

	* src/event.c (handleEvent):
	* src/window.c: Send configure notifies correctly.

2006-03-15  David Reveman  <davidr@novell.com>

	* plugins/switcher.c (switchPaintWindow): Fix paint attribute
	calculations.

	* include/compiz.h:
	* src/event.c (handleEvent):
	* src/window.c: Add restackWindowBelow.

2006-03-14  David Reveman  <davidr@novell.com>

	* plugins/switcher.c: Opacity, brightness and saturation as adjustable
	options. (Greg)

	* src/window.c (syncWindowPosition): Move frame window now instead of
	waiting for client window to change before moving it.

	* plugins/move.c (moveTerminate): Sync window position before
	releasing pointer grab so that the EnterNotify event from the release
	go to the correct window.

	* src/window.c (unmapWindow): Put window in withdrawn state when
	being unmapped. Should make it work better with KDE. (Tim Northover)

	* src/screen.c (addScreen): Fix ambient and diffuse light.

	* src/main.c (main): Add --version command line option.

	* src/event.c:
	* src/screen.c:
	* include/compiz.h: Add bindings for changing window opacity.

2006-03-14  Radek Doulik  <rodo@novell.com>

	* src/event.c (handleEvent): handle minimize/maximize/unmaximize
	window keybindings

	* src/screen.c: added minimize/maximize/unmaximize window
	options/keybindings

	* src/window.c (maximizeWindow): new helper function
	(unmaximizeWindow): ditto

2006-03-14  David Reveman  <davidr@novell.com>

	* plugins/scale.c: Add darken background option (Daniel G. Taylor).

2006-03-13  David Reveman  <davidr@novell.com>

	* src/display.c (eventLoop):
	* include/compiz.h:
	* src/screen.c (addScreen): CopySubBufferMESA support.

2006-03-07  David Reveman  <davidr@novell.com>

	* gnome/window-decorator/gnome-window-decorator.c (lower_window):
	Remove unused variable tmp.

	* src/event.c:
	* src/display.c:
	* src/window.c:
	* src/screen.c:
	* include/compiz.h: Better window stacking support.

	* gnome/window-decorator/gnome-window-decorator.c: Lower window
	when clicking button 2 on titlebar.

	* src/window.c (ensureWindowVisibility): Only ensure that window is
	visible if it isn't a override redirect window, dock window or
	window with struts.

2006-03-06  David Reveman  <davidr@novell.com>

	* configure.ac: Bump version to 0.0.6.

	* plugins/cube.c: Skydome update. (MacSlow)

	* src/window.c: Ensure window visibility when activating window.

2006-03-05  David Reveman  <davidr@novell.com>

	* src/window.c (closeWindow): Use protocol mask to determine if
	Client Message should be send or if we should kill the client.

	* plugins/decoration.c: Don't draw shadow only decorations around
	windows with alpha channel.

2006-03-03  David Reveman  <davidr@novell.com>

	* src/texture.c (readImageBufferToTexture):
	(readImageToTexture): Check that returnWidth and returnHeight are
	not NULL.

	* plugins/cube.c: Skydome support. Thanks to MacSlow.

	* plugins/fade.c (fadeHandleEvent): Make sure opacity isn't opaque
	when fading out.
	Stop fading if window is resized.

	* src/window.c (resizeWindow): Only verify pixmap size if window is
	mapped.
	(resizeWindow): Check XGetGeometry result.

	* plugins/switcher.c: Make sure switcher is correctly updated
	even though the previously selected window isn't selectable by
	switcher.

	* src/event.c (handleEvent): Avoid panel actions when screen is
	grabbed.

2006-03-03  Radek Doulik  <rodo@novell.com>

	* src/main.c (main): init and close session when sm is not
	disabled. Enable sm by default.

	* src/session.c: added minimal session support so that compiz at
	least register with session manager to avoid registering timeouts

2006-03-03  David Reveman  <davidr@novell.com>

	* src/screen.c (removeScreenGrab): Use correct cursor when changing
	actvie pointer grab.

2006-03-02  David Reveman  <davidr@novell.com>

	* plugins/rotate.c (rotateHandleEvent):
	* plugins/zoom.c (zoomHandleEvent): Make sure no pending motion
	notify events exists when warping the pointer.

	* plugins/rotate.c (rotateHandleEvent): Reset movement.

	* plugins/switcher.c: Always send activate request when selecting a
	window.

	* plugins/cube.c (cubePaintTransformedScreen): Reset color.

	* plugins/switcher.c (switchPaintThumb): PAINT_WINDOW_TRANSLUCENT_MASK
	if opacity isn't opaque.
	(switchPaintWindow): Reset color.

2006-03-01  David Reveman  <davidr@novell.com>

	* configure.ac: Bump version to 0.0.5.

	* plugins/fade.c (fadeAddDisplayModal): Higher brightness when showing
	display modal dialogs.

	* plugins/switcher.c (switchPreparePaintScreen): Continue adjusting
	window selection even though we're not grabbing the screen.
	(switchPaintWindow): Use last used paint attributes for thumbnails.
	(switchPaintWindow): Use blending when drawing selection rectangle.

	* plugins/fade.c (fadeHandleEvent): unmap. -> map.
	(fadeDamageWindowRect): Only zero opacity if we're not already
	fading the window.

	* src/window.c (unmapWindow): 'placed' variable should be reset on
	first call to unmapWindow.

	* src/screen.c:
	* src/event.c (handleEvent):
	* src/display.c (eventLoop):
	* include/compiz.h: Add slow animation option.

	* src/window.c (recalcNormalHints): Constrain window dimensions to
	max texture size.

	* src/screen.c (addScreen): Get max texture size.

	* gnome/window-decorator/gnome-window-decorator.c: Nicer drop shadow
	on windows without decorations.

	* src/window.c (addWindow): Move initialization of sync alarm.

	* plugins/cube.c:
	* plugins/decoration.c:
	(decorCreateDecoration): Fix minimum size check.

	* src/main.c:
	* include/compiz.h:
	* src/paint.c:
	* src/screen.c: Ligthing support.

	* compiz.pc.in: Fix.

2006-02-23  David Reveman  <davidr@novell.com>

	* src/window.c (unmapWindow): Not minimized and not part of showing
	desktop mode.

	* plugins/wobbly.c: Fix handling of scaled windows.
	Update options so that user gets more control over which windows
	that should wobble and when.

	* configure.ac: Bump version to 0.0.4.

	* gnome/window-decorator/gnome-window-decorator.c (window_opened): Make
	sure decoration property for switcher window is set.

	* plugins/decoration.c (decorHandleEvent):
	* src/event.c (handleEvent):
	* plugins/switcher.c:
	* src/screen.c (addScreen, setScreenOption)
	(compScreenInitOptions):
	* src/texture.c:
	* include/compiz.h: Mipmap support. Add more RUN_COMMAND options.

2006-02-22  David Reveman  <davidr@novell.com>

	* src/display.c (realToVirtualModMask): Remove modifiers that should
	be ignored.
	(addDisplay): Select ButtonPress and ButtonRelease events on root
	window.

	* include/compiz.h (EV_KEY):
	(EV_BUTTON):  Modifiers should match exactly.

	* plugins/switcher.c: Add binding for selecting previous window.

	* plugins/decoration.c: Remove sync hack.

	* gnome/window-decorator/gnome-window-decorator.c
	(draw_shadow_background): Fix drawing of bottom and bottom right
	shadow rectangle.
	Add switcher window decorations.
	Remove sync hack.
	Always use double buffering.

	* plugins/switcher.c: Remove background color option.
	Use property instead of client message to indicate change of selected
	window.

2006-02-21  David Reveman  <davidr@novell.com>

	* plugins/cube.c (cubeHandleEvent): Only load new SVG when available.

2006-02-20  David Reveman  <davidr@novell.com>

	* plugins/decoration.c (decorWindowUpdate): Decorate window
	MwmDecorTitle is present.

	* src/window.c (focusWindow):
	(moveInputFocusToWindow):
	 Allow focusing windows with input hint set to false.
	 (activateWindow): Fix so that dock windows can be active.

	* src/screen.c (isClientListWindow): Don't put destroyed windows in
	client lists.

	* src/event.c (handleEvent): Fix so that dock windows can be active.
	(handleEvent): Avoid focusing windows with input hint set to false
	when mapped.

2006-02-18  David Reveman  <davidr@novell.com>

	* src/window.c (unmapWindow): Windows not being minimized should be
	placed again at next map.

	* plugins/wobbly.c (wobblyDonePaintScreen): Also add pending damage
	if any window is in initial wobbly state.

2006-02-17  David Reveman  <davidr@novell.com>

	* configure.ac: Bump version to 0.0.3.

	* plugins/zoom.c (zoomIn): Translate less.
	(zoomPaintScreen): Use selected filter.
	(adjustZoomVelocity): Made zoom animation nicer.
	(zoomPreparePaintScreen): Don't zoom to much.
	ADd filter selection option.

	* plugins/decoration.c (decorPaintWindow):
	* src/paint.c (drawWindowTexture): Use screen filters.

	* include/compiz.h: Add support for adjusting filters.

	* plugins/scale.c (scaleHandleEvent): Only button 1.

	* plugins/cube.c (cubePaintTransformedScreen): Fix drawing with size
	 greater than 4.

2006-02-16  David Reveman  <davidr@novell.com>

	* configure.ac: Remove menu.

	* plugins/switcher.c (switchNextWindow): Damage new and previously
	selected window.
	(switchInitiate): Damage screen initiating switching.
	(switchTerminate): Damage screen terminating switching.
	(switchPaintThumb): Draw thumbnail without calling any function that
	can be wrapped.

	* gnome/window-decorator/gnome-window-decorator.c
	(update_window_decoration_size): Make sure title isn't rendered
	when it doesn't fit.

2006-02-14  David Reveman  <davidr@novell.com>

	* gnome/window-decorator/gnome-window-decorator.c
	(draw_window_decoration): Make sure complete icon is visible.

	* src/display.c (eventLoop):
	(getTimeToNextRedraw): Handle clock rollback.

2006-02-13  David Reveman  <davidr@novell.com>

	* configure.ac: Remove menu plugin check.
	Require version 2.8.0 or greater of gtk+.

2006-02-11  David Reveman  <davidr@novell.com>

	* configure.ac: Bump version to 0.0.2.

	* src/window.c:
	* src/event.c:
	* plugins/fade.c:
	* src/display.c:
	* include/compiz.h: Lower brightness of windows that are not responding
	and all windows when showing logout dialog.

	* gnome/window-decorator/gnome-window-decorator.c: Use metacity
	titlebar font settings.

	* gnome/compiz-window-manager.c: Add titlebar font setting.

	* plugins/Makefile.am:
	* plugins/switcher.c: Add switcher plugin.

	* plugins/gconf.c: Add alpha to color options.

2006-02-10  David Reveman  <davidr@novell.com>

	* src/screen.c:
	* src/display.c: Do not include X11/extensions/Xevie.h.
