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.

