summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: 5f114570dcc83cc5c03e36ab9c79122eeff81e95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
2002-01-06  Fatih Demir <kabalak@gtranslator.org>

	* configure.in: Added "tr" to the languages list.

2002-01-05  Havoc Pennington  <hp@pobox.com>

	* src/frames.c (meta_frames_expose_event): draw titlebar highlight 
	with snazzy gradient that needs some tweaking to be less 
	dumb-looking

	* src/theme.c: replace old theme.[hc] contents with newer stuff
	that doesn't do anything 
	
2002-01-05  Havoc Pennington  <hp@pobox.com>

        GTK 1.2 plug/socket clients still broken, don't know why.
	
	* src/screen.c (meta_screen_new): select focus change on root
	window, for debugging

	* src/display.c (event_callback): when unfocusing, use
	no_focus_window to hold the focus

	* src/display.h (struct _MetaDisplay): have a no_focus_window to 
	hold the focus when we don't want to have anything focused. 
	Then we can avoid confusing focusing-the-frame stuff.

	* src/window.c (meta_window_notify_focus): improve some debug spew
	(meta_window_notify_focus): add hack from WindowMaker to ignore
	focus in events with detail > NotifyNonlinearVirtual	

2002-01-04  Havoc Pennington  <hp@pobox.com>

	* src/display.c (event_callback): don't lower docks when a grab
	causes them to get LeaveNotify

2002-01-04  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (meta_screen_free): set event mask on root window
	to 0 so other window managers (such as ourselves restarting) can
	start up; addresses race condition on restart where the old WM
	still had RedirectMask when the new WM was trying to start up.

	* src/display.c (meta_display_close): free each screen
	
	* src/window.c (meta_window_show): always focus new windows in
	click-to-focus mode

2002-01-03  Havoc Pennington  <hp@pobox.com>

	* src/window.c: use meta_XFree not XFree

	* src/display.h (meta_XFree): add null-safe XFree

	* src/util.c (meta_warning): have message prefix indicate that
	it's a warning
	(meta_fatal): indicate it's an error

	* src/window.c (update_sm_hints): clean up using
	meta_prop_get_latin1_string
	(update_role): ditto
	(read_client_leader): clean up using meta_prop_get_window
	(update_net_wm_type): clean up using meta_prop_get_cardinal
	(update_initial_workspace): ditto
	(update_net_wm_type): clean up using meta_prop_get_atom_list
	(read_rgb_icon): get result from XGetWindowProperty return value
	not from error trap
	(update_kwm_icon): ditto
	(meta_window_new): fix to read WM_STATE correctly

2002-01-03  Havoc Pennington  <hp@pobox.com>

	* src/window.c (update_net_wm_state): clean up using
	meta_prop_get_atom_list
	(update_mwm_hints): clean up using meta_prop_get_motif_hints

	* src/Makefile.am (metacity_SOURCES): add xprops.[hc]

	* src/xprops.c: new file with convenience functions for X
	properties

2002-01-03  Havoc Pennington  <hp@pobox.com>

	* src/workspace.c (meta_workspace_activate): focus top window when
	switching to a new workspace

	* src/util.c (meta_topic): start putting verbose output in
	categories

	* src/window.c (meta_window_shade): focus frame after we queue 
	the calc_showing so the maps/unmaps have already happened.

	* src/display.c (meta_display_get_current_time): add the "get time
	of current event" function and call it occasionally.

	* src/window.c (meta_window_free): if we have focus, call
	meta_screen_focus_top_window().
	(meta_window_minimize): ditto
	(meta_window_delete): ditto

	* src/screen.c (meta_screen_ensure_tab_popup): fix memory leak -
	didn't free tab list
	(meta_screen_focus_top_window): new function to use when we unmap
	or unmanage a focused window

	* src/stack.c (meta_stack_get_default_focus_window): function used
	in meta_screen_focus_top_window
	
2001-12-21  Havoc Pennington  <hp@redhat.com>

	* src/frame.c (meta_window_ensure_frame): add a server grab 
	here since we were failing to have one when calling the function

2001-12-27  Duarte Loreto <happyguy_pt@hotmail.com>

        * configure.in: Added portuguese to ALL_LINGUAS

2001-12-16  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Added "no" to ALL_LINGUAS.
	
2001-12-11  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>

	* configure.in: Added "sk" to ALL_LINGUAS.

2001-12-10  Havoc Pennington  <hp@pobox.com>

        Rework the click-client-area-to-focus support to use synchronous
	grabs, avoids a big mess, lets us pass through click when
	required (for dock/desktop). Disadvantage is all left-button
	clicks now require window manager approval. ;-)
	
	* src/display.c (event_callback): don't focus dock/desktop when
	the mouse enters them; require a click.
	(meta_change_button_grab): allow sync grabs
	(meta_display_grab_unfocused_window_buttons): establish a
	synchronous grab and maintain it all the time, rename to
	meta_display_grab_focus_window_button

	* src/window.c: change to reflect display.c
	
2001-12-10  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_update_unfocused_button_grabs): oops, 
	unbreak this _again_ - reported by Josh Barrow

2001-12-10  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_update_unfocused_button_grabs): don't 
	allow grab on docks/desktop for now; needs fixing later to 
	do the grab, but pass thru click, so we can focus those windows.
	And in fact we need to do that even in sloppy mode.

2001-12-10  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (meta_screen_foreach_window): fix broken 
	"tmp = tmp->data"

	Implement do-not-pass-thru-click for click-to-focus mode.
	
	* src/screen.c (update_focus_mode): when focus mode changes,
	update all the window grabs

	* src/display.c (meta_display_grab_unfocused_window_buttons):
	implement grabbing button 1 on client area of unfocused
	click-to-focus windows

	* src/window.c (meta_window_update_unfocused_button_grabs): update
	whether we're grabbing unmodified button 1 on client area
	according to focus state and focus mode
	(meta_window_new): start out with proper grab state
	
2001-12-10  Havoc Pennington  <hp@pobox.com>

	* src/menu.c (meta_window_menu_new): don't do mnemonics for
	workspaces above 9

2001-12-10  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (meta_screen_new): oops, remove extra workspace
	creation, and update to current pref.
	
2001-12-09  Havoc Pennington  <hp@pobox.com>

	* src/workspace.c (meta_workspace_free): update number of
	workspaces hint

	* src/screen.c (update_num_workspaces): implement number of
	workspaces setting

	* src/window.c (meta_window_configure_request): honor configure
	requests on windows of type NORMAL, but still be mean to those of
	type DIALOG

	* src/main.c (main): add more log domains to those we set a log
	handler for, and only set warnings fatal in debug mode

	* src/metacity.schemas: add number of workspaces setting

2001-12-09  Havoc Pennington  <hp@pobox.com>

	* src/display.c (event_callback): in click-to-focus mode don't
	focus on enter notify. Implement unfocusing on LeaveNotify in
	mouse focus mode. Click to focus just ends up working if we 
	do nothing on enter/leave, because of the way things already
	worked. Except I need to add some relatively complex hack to 
	allow clicking on client area, right now you have to click 
	on the frame.

2001-12-09  Havoc Pennington  <hp@pobox.com>

	* src/main.c (main): move SM init a bit later in the process, and 
	init prefs

	* src/session.c: fix no SM case (though I hardly know why I'm
	bothering)

	* src/main.c (main): call bindtextdomain

	* src/util.h (_): actually call gettext

	* configure.in: put in AM_GLIB_GNU_GETTEXT and gconf stuff

	* src/prefs.c: Preferences - this marks the beginning of our doom.
	None of them are actually implemented yet, but we monitor 
	some stuff from gconf.
	
2001-12-07  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_unminimize): when unminimizing an app,
	if we're in "show desktop" (all windows minimized) mode, leave
	show desktop mode. Will occasionally be a bit weird, but allows
	people to recover via task list if they accidentally do the show
	desktop thing, and don't know what's going on.

2001-12-06  Havoc Pennington  <hp@redhat.com>

	* src/ui.c (meta_text_property_to_utf8): fix gdkatom/xatom screwup
	- gee, I should read my warnings

2001-12-03  Laszlo Peter  <laca@ireland.sun.com>

	* src/frames.c: add a dummy element to the enum so
          the signals array is not empty. (breaks the build with Forte C)

	* src/window.c: s/__FUNCTION__/G_GNUC_FUNCTION/

2001-11-27  Havoc Pennington  <hp@pobox.com>

	* src/window.c (constrain_position): change so that window can be
	offscreen to the bottom or the right, as long as a small top-left 
	corner of the window remains onscreen. However, windows still
	can't go off the left or top.

2001-11-26  Havoc Pennington  <hp@redhat.com>

	* src/window.c (window_query_root_pointer): add error trap

2001-11-27  Jesus Bravo Alvarez  <jba@pobox.com>

	* configure.in: Added gl (Galician) to ALL_LINGUAS.

Tue Nov 20 18:49:16 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in (found_sm): Add some additional quoting to
	make it work with autoconf-2.5x.

2001-11-02  Laszlo Peter  <laca@ireland.sun.com>

	* src/window.c (update_sm_hints): protect meta_verbose from
	a NULL pointer.

2001-10-29  Havoc Pennington  <hp@pobox.com>

	* configure.in: bump version

2001-10-29  Havoc Pennington  <hp@pobox.com>

	* src/window.c (idle_calc_showing): handle queue/unqueue of 
	calc showings as we are iterating over the pending list
	(meta_window_show): focus placed transients in here instead
	of in meta_window_place - now it should actually work, yay

	* src/place.c (meta_window_place): remove focusing of transient
	child from here; this was really broken

2001-10-29  Yuriy Syrota <rasta@renome.rovno.ua>

	* configure.in: Added "uk" to ALL_LINGUAS.

2001-10-29  Havoc Pennington  <hp@pobox.com>

	* README: note exciting new unminimize feature for the tab popup

	* src/keybindings.c (process_tab_grab): use meta_window_activate()
	when choosing a window with tab popup, this should deiconify it

	* src/window.c (meta_window_client_message): use
	meta_window_activate for _NET_ACTIVE_WINDOW message
	(meta_window_activate): new function to raise/focus/unminimize
	(meta_window_flush_calc_showing): new function
	(meta_window_focus): force a calc showing on focus, so that we can
	focus the window if appropriate (it must be mapped)

2001-10-26  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_grab_window_buttons): fix for 
	ignoring NumLock on Alt-windowclick (previous NumLock fix 
	was only for key grabs not button grabs)

2001-10-25  Havoc Pennington  <hp@redhat.com>

	* src/window.c (meta_window_new): set the current workspace hint

2001-10-25  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_visible_on_workspace):
	I was using meta_workspace_contains_window() in a number of 
	places where on_all_workspaces should also have been considered,
	thus this new function. Fixes bugs such as pinned windows 
	not appearing in the tab order.
	(meta_window_client_message): use meta_window_visible_on_workspace

	* src/stack.c (find_tab_forward): ditto
	(find_tab_backward): ditto
	(meta_stack_get_tab_next): ditto
	(meta_stack_get_tab_list): ditto

	* src/place.c (get_windows_on_same_workspace): ditto

	* src/keybindings.c (handle_focus_previous): ditto
	(handle_focus_previous): ditto

2001-10-24  Havoc Pennington  <hp@pobox.com>

	* src/frames.c (meta_frames_expose_event): use bg/fg not base/text
	for the window title area.

2001-10-24  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_new): support initial
	on-all-workspaces setting

2001-10-22  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (meta_stack_sync_to_server): fix to keep desktop
	window from appearing on top of everything else, among other stack
	bugs. Untested.

2001-10-15  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_new): use queried attributes to check
	whether window should be initially maximized, rather than window 
	rect

2001-10-15  Havoc Pennington  <hp@pobox.com>

	* src/main.c (meta_restart): add a restart feature, for debugging

	* src/tools/metacity-restart.c: little utility program to trigger
	the restart

2001-10-14  Havoc Pennington  <hp@pobox.com>

	* src/frames.c (meta_frames_button_press_event): raise/focus
	windows on left-click, seem to have broken that yesterday

	* src/keybindings.c, src/display.c, src/window.c: add keybinding
	to show/hide all normal windows (so you can see the desktop). 
	Currently Ctrl+Alt+D, which I don't like, but yay.

2001-10-14  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_new): take a window mapped at
	fullscreen size/pos to desire maximization; once I add a
	fullscreen state, will change to copy kwin and take this mapping
	as a desire for fullscreen, but for now testing with maximization.

	* src/window.h: remove fullscreen window type, now proposing it 
	as a window state instead.	

2001-10-14  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_maximize): always raise windows on
	maximize
	(meta_window_client_message): when activating a window, move 
	it to current workspace, instead of moving user to the 
	window's workspace.

2001-10-14  Héctor García Álvarez <hector@scouts-es.org>

	* configure.in: Added "es" to ALL_LINGUAS for Spanish translation.

2001-10-14  Havoc Pennington  <hp@pobox.com>

	* src/display.c (event_callback): only handle events here if 
	the modmask from our button grab is active. i.e. only the
	Alt-click is handled here.

	* src/frames.c: add check for whether button presses are in the
	frame client area before handling them, so we don't weirdly let
	you move a frame by clicking in its client area if the client
	hasn't selected button press events.

2001-10-13  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (meta_stack_sync_to_server): set last window before 
	setting newp, so we don't get the current window as the last
	window and screw everything up	
	(IN_TAB_CHAIN): use type not layer to decide if a window is 
	in the tab chain, keeps panel out of alt-tab choices

2001-10-13  Havoc Pennington  <hp@redhat.com>

	* configure.in: add bad hack to work with GTK 1.3.9.90 RPMs from
	gnomehide for now

	* src/ui.c: another piece of bad hack in here

2001-10-13  Havoc Pennington  <hp@redhat.com>

	* configure.in: bump version

2001-10-13  Havoc Pennington  <hp@pobox.com>

	* src/session.c (meta_session_init): hmm, fix build

2001-10-12  Havoc Pennington  <hp@pobox.com>

	* src/session.c (meta_session_init): set the session manager
	priority so we start up before other apps.

2001-10-12  Mikael Hallendal  <micke@codefactory.se>

	* src/ui.c (meta_ui_get_default_window_icon): use
	gdk_pixbuf_new_from_inline
	(meta_ui_get_default_mini_icon): use
	gdk_pixbuf_new_from_inline

2001-10-11  Christian Rose  <menthos@menthos.com>

	* configure.in: Added "sv" to ALL_LINGUAS.

2001-10-10  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (meta_stack_free): fix mem leak of the MetaStack
	object
	(meta_stack_sync_to_server): try to avoid the restack-flicker
	thing

2001-10-07  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_update_active_window_hint): 
	set _NET_ACTIVE_WINDOW hint
	
	* src/window.c (meta_window_client_message): support
	_NET_ACTIVE_WINDOW client message

2001-10-07  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_client_message): don't allow
	shade/maximize/minimize for windows that don't support those
	operations. (minimizing the panel = bad)

2001-10-04  Havoc Pennington  <hp@pobox.com>

	* src/keybindings.c (meta_change_keygrab): add code to grab all
	modifier combinations, so keybindings work with NumLock etc.

	* src/menu.c (meta_window_menu_new): remove newlines from menu
	items

2001-09-27  Havoc Pennington  <hp@pobox.com>

	* src/session.c (save_state): when encoding text for session file, 
	escape XML entities

2001-09-21  Alex Graveley  <alex@ximian.com>

	* src/Makefile.am (metacity_SOURCES): Add inlinepixbufs.h so
	that it gets generated.

	* src/frames.c (meta_frames_style_set): Update for new opaque
	PangoFontMetrics.

2001-09-17  Havoc Pennington  <hp@pobox.com>

	* src/ui.c (meta_ui_init): add hackaround for the warning about
	gtk-menu-bar-accel

2001-09-17  Havoc Pennington  <hp@pobox.com>

	* src/ui.c (meta_ui_get_default_mini_icon): 
	(meta_ui_get_default_window_icon): ref the returned icon, oops.

	* src/main.c (main): get the GLib warning/error output into 
	the metacity logfile, set warnings to be always fatal

	* configure.in: bump version to 2.3.13

	* src/window.c (get_text_property): hrm, fix bug where we didn't
	check errors on XGetTextProperty

2001-09-17  Havoc Pennington  <hp@pobox.com>

	* src/Makefile.am (VARIABLES): fix srcdir != builddir glitch

2001-09-17  Havoc Pennington  <hp@pobox.com>

	* src/ui.c: use the inline image data for default icon
	
	* src/common.h (META_MINI_ICON_HEIGHT): move icon size defines
	here

	* src/Makefile.am: Create an inlinepixbufs.h header with inline
	images

2001-09-16  Havoc Pennington  <hp@pobox.com>

	* src/session.c (process_ice_messages): disconnect this callback
	on error

2001-09-16  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_lower): new function

	* configure.in: bump version to 2.3.8

	* src/display.c (event_callback): raise dock on enter notify, 
	lower it on leave notify (need to refine this behavior)

	* src/stack.c (compute_layer): experiment with putting the panel
	in the normal layer, and raising it on mouseover

2001-09-15  Havoc Pennington  <hp@pobox.com>

	* src/window.c: add support for a mini icon in the titlebar
	(update_icon): re-enable support for _NET_WM_ICON

	* src/session.c (save_state): add an ferror check when writing
	session file

2001-09-11  Havoc Pennington  <hp@pobox.com>

	* src/main.c (usage): exit with error code on usage() (kind of
	wrong for --help, but oh well).

2001-09-11  Havoc Pennington  <hp@pobox.com>

	* src/window.c: fix up handling of text properties, so we 
	get UTF8_STRING as that type and not as text list, and so 
	we properly convert from text list to UTF-8

2001-09-10  Havoc Pennington  <hp@pobox.com>

	* src/menu.c (meta_window_menu_new): icon for unmaximize

	* src/ui.c (meta_ui_init): fix call to XDisplayName

	* src/util.c: add missing header

	* src/frames.c: draw an unmaximize control if already maximized

2001-09-10  Havoc Pennington  <hp@pobox.com>

	* src/window.c: Don't separate user_has_moved/user_has_resized,
	fixes bug in east-resizing Emacs, among other things

	* src/frame.c (meta_frame_sync_to_window): return immediately if
	nothing to do

	* src/util.c (ensure_logfile): replace rather than truncate old
	logfiles

2001-09-08  Havoc Pennington  <hp@pobox.com>

	* src/ui.c (meta_ui_init): don't use gdk_display_name

	* src/frame.c (meta_window_ensure_frame): create frame
	with screen default visual, rather than client window visual;
	for DRI games, the client window visual was not allowed to be 
	a child of another window with the same visual, apparently.
	Anyhow now we copy twm, etc. so it must be correct.
	
	* src/place.c (meta_window_place): if a transient is placed and
	its parent has focus, focus the transient.

2001-09-06  Havoc Pennington  <hp@pobox.com>

	* configure.in: bump version 2.3.5, require newer GTK release

2001-09-04  Havoc Pennington  <hp@pobox.com>

	* src/wm-tester/Makefile.am (noinst_PROGRAMS): make test apps
	noinst

	* src/metacity.desktop: for the capplet

	* src/Makefile.am: add .desktop file

2001-09-01  Havoc Pennington  <hp@pobox.com>

	* src/errors.c: clean up the code, and replace GDK X error handler
	with one that chains up to GDK but first logs the error to logfile.

2001-08-31  Havoc Pennington  <hp@pobox.com>

	* src/tabpopup.c (meta_ui_tab_popup_new): fix args to
	gtk_alignment_new()

2001-08-29  Havoc Pennington  <hp@pobox.com>

	* src/display.c (event_callback): avoid focusing a window on tab
	popup popdown

	* src/screen.c (meta_screen_ensure_tab_popup): compute frame
	outline size here

2001-08-29  Havoc Pennington  <hp@redhat.com>

	* src/tabpopup.c: Switch back to outline.

2001-08-29  Havoc Pennington  <hp@pobox.com>

	* src/tabpopup.c: experiment with window-cover-with-icon
	instead of just the outline; can't decide.

2001-08-29  Havoc Pennington  <hp@pobox.com>

	* src/tabpopup.c: add crackrock window-outlining feature

	* src/session.c (window_type_to_string): handle fullscreen

2001-08-29  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_open): wrong atom name -
	_NET_SUPPORTED not _NET_WM_SUPPORTED

	* src/window.c (meta_window_configure_request): geez, why were we
	honoring configure requests for width/height for normal windows. 
	Denied!
	(meta_window_client_message): _NET_WM_MOVERESIZE support, sort of
	(doesn't quite work, acts like owner_events = true?)

	* src/display.c: add _NET_WM_MOVERESIZE atom

2001-08-28  Havoc Pennington  <hp@pobox.com>

        Unbreak tab popup a bit.
	
	* src/stack.c (meta_stack_get_tab_list): add workspace argument
	(meta_stack_get_tab_next): add workspace argument

	* src/window.c: implement recording of the last user-initiated
	window position, so we can magically handle moving panels around
	really nicely.

	* src/wm-tester/main.c (set_up_icon_windows): fix to use new GTK
	API

2001-08-24  Havoc Pennington  <hp@pobox.com>

	* src/window.c (constrain_position): force fullscreen windows to
	be at 0,0

	* src/ui.c: use NULL colormap to get bitmaps, requires 
	very latest GTK from CVS or it will spew warnings
	and not work.
	
	* src/window.c (constrain_size): disallow larger than screen in
	all cases, even if user has performed a resize operation.
	(constrain_position): keep window boxed onscreen.

	* src/keybindings.c (meta_display_process_key_event): revert an
	earlier change that disabled global keybindings when a grab is in
	effect; instead, only disable global keybindings if a _keyboard_
	grab is in effect. The earlier change was just a broken
	workaround, the problems it fixed should have been solved by the
	addition of XGrabKeyboard() on the metacity keyboard grabs.

	This should fix the problem with
	pick-up-window-and-move-to-another-desktop.

2001-08-23  Havoc Pennington  <hp@pobox.com>

	* src/window.c (update_icon): attempt to use the mask as well as
	the pixmap. Probably doesn't work so well.

	* src/tabpopup.c: make this look a little nicer

2001-08-22  Havoc Pennington  <hp@pobox.com>

	* src/window.c (update_mwm_hints): all the MWM flag tests were
	backward

2001-08-22  Havoc Pennington  <hp@pobox.com>

	* src/window.c (update_icon): half-ass implementation of 
	getting pixmap icons (WM_NORMAL_HINTS and KWM_WIN_ICON). 
	Ignores mask for now, with possibly ugly results for 
	some apps.
	(read_rgb_icon): fixage

2001-08-19  Havoc Pennington  <hp@pobox.com>

	* src/window.c: add a "fullscreen" semantic type; if a window
	requests the screen size exactly, and is undecorated, and is not a
	desktop window, we consider it a fullscreen window and keep it on
	top.

	Totally untested.

2001-08-19  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (set_supported_hint): we support _NET_WM_ICON

	* src/wm-tester/main.c: add stuff to test _NET_WM_ICON
	(but it doesn't work, so it isn't tested yet)
	
	* src/window.c (update_icon): read _NET_WM_ICON

	* src/screen.c (meta_screen_new): set the WM_ICON_SIZE hint

	* src/tabpopup.c (meta_ui_tab_popup_select): remove assertion

	* src/window.c (meta_window_get_icon_geometry): fix obscure
	memleak

2001-08-19  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_grab_window_buttons): remove XSync,
	error traps already do that
	(meta_display_grab_window_buttons): implement

	* src/keybindings.c: 
	src/display.c: wire up the tab window, it rulez!

2001-08-19  Havoc Pennington  <hp@pobox.com>

	* src/tabpopup.c: add prototype thingy to display windows we're
	cycling through with tab. Not wired up to keybindings yet.

2001-08-18  Havoc Pennington  <hp@pobox.com>

	* src/effects.c (meta_effects_draw_box_animation): put an XFlush()
	right after starting things moving

2001-08-18  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_configure_request): 
	(meta_window_move_resize_internal): Make a half-hearted
	not-very-tested attempt to handle window resizes correctly with
	respect to window gravity.

2001-08-18  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_get_gravity_position): hrm, I fixed
	this wrong the other day. Fixes static gravity when moving
	windows.

2001-08-18  Havoc Pennington  <hp@pobox.com>

	* src/ui.c (meta_image_window_set_position): also set the current
	size. Lame hack of the day.

	* src/effects.c (effects_draw_box_animation_timeout): use the
	delay exposes feature to avoid the screen dirt

	* src/ui.c
	(meta_ui_push_delay_exposes):
	(meta_ui_pop_delay_exposes): feature to let us delay redraws until
	after we do server-grabbed draw-on-inferiors effects

2001-08-17  Havoc Pennington  <hp@redhat.com>

	* src/window.c (meta_window_get_gravity_position): fix for
	StaticGravity

2001-08-09  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_configure_request): Honor USPosition
	even post-map. I know I'll regret this.

2001-08-07  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_open): set _NET_WM_NAME 
	hint as a UTF8_STRING not STRING. Patch from Anders.

2001-08-06  Havoc Pennington  <hp@redhat.com>

	* src/effects.c: disable opaque animations by default, current 
	implementation suXors.

2001-08-06  Havoc Pennington  <hp@pobox.com>

	* src/effects.c (meta_effects_draw_box_animation): Get start
	time after we do the pixbuf from drawable, so we don't count
	time spent getting pixbuf from drawable in the animation time.

2001-08-06  Havoc Pennington  <hp@pobox.com>

	* src/effects.c: add opaque minimize/shade feature.  The wireframe
	seemed kind of confusing and unclear from a UI standpoint. 
	I know, I know. The bloat begins here.

	Also, we don't need to grab the server during opaque min/shade, 
	which has some nice implications.
	
	* src/ui.c: Add features to render a window with an image in it, 
	and also wrap pixbuf_from_drawable

	* src/effects.c (meta_effects_draw_box_animation): 
	modify to be smoother (at least theoretically) by 
	syncing to current time and "dropping frames" 
	as appropriate.

	* src/window.c (meta_window_shade): draw animation 
	for shading too

2001-08-05  Anders Carlsson  <andersca@gnu.org>

	* src/display.h, src/display.c: Add _NET_WM_ICON_GEOMETRY atom.

	* src/window.c (meta_window_calc_showing): See if the window has
	an icon geometry and show a morphing animation from the window's
	coordinates to the icon's coordinates.
	(meta_window_get_icon_geometry): New function that fetches a
	window's icon geometry.

	* src/Makefile.am: Add effects.[ch].
	
        * src/effects.c: New file with cool effects.

2001-08-03  Havoc Pennington  <hp@pobox.com>

	* src/keybindings.c: Add Alt + left/right arrow to 
	move between workspaces.

	* src/screen.c (set_wm_check_hint): put property pointing back to
	itself on the _WIN_SUPPORTING_WM_CHECK window.

2001-08-03  Havoc Pennington  <hp@pobox.com>
	
	* src/display.c (event_callback): push error trap around configure 
	of withdrawn window, fixes a crash caused by rapidly
	creating/destroying a window.

	* src/window.c (recalc_window_features): don't allow shading
	undecorated windows.

	* src/wm-tester/main.c: add a program to torture window managers.
	
2001-08-01  Havoc Pennington  <hp@pobox.com>

	* src/window.c (recalc_window_features): if a window isn't
	resizeable, turn off maximize function. If min size is equal to
	max size, turn off resize function.