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.
1796