-
Notifications
You must be signed in to change notification settings - Fork 8
/
ChangeLog
7100 lines (4748 loc) · 229 KB
/
ChangeLog
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
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2003-01-02 Rob Adams <readams@readams.net>
* README: Update reference to EWMH.
* HACKING: Add a reference to COMPLIANCE and to the ICCCM and
EWHM.
2003-12-25 Havoc Pennington <hp@redhat.com>
* src/compositor.c (process_reparent): handle ReparentNotify, and
add a lot of debug output.
2003-12-25 Havoc Pennington <hp@redhat.com>
* src/compositor.c (meta_compositor_process_event): change to
track all children of the root window, not only mapped children;
this keeps us from losing track of the stacking order
* src/display.c (event_callback): don't do any of the compositor
event handling inline, do it all in compositor.c
2003-12-21 Rob Adams <readams@readams.net
* src/main.c (main): fix minor punctuation error in a string. Fix
for #129805.
2003-12-20 Rob Adams <readams@readams.net>
Reorganize the window menu according to discussion on #110904.
The workspace name mnemonic chunk of the patch is thanks to
Jonathan Blandford.
* src/common.h: add MENU_OP_ABOVE, MENU_OP_UNABOVE, MENU_UP_MOVE_TO_*
menu ops.
* src/core.c (meta_core_get_menu_accelerator): add accelerator for
the new menu ops.
* src/menu.c: add checked attribute in _MenuItem struct to display
a checkmark next to a menu item. Add the new menu items to
menuitems.
(get_workspace_name_with_accel): Add mnemonics even to renamed
workspaces.
(menu_item_new): provide support for the checked attribute
(meta_window_menu_new): construct new submenu for workspace
switching.
* src/window.c (menu_callback): implement support for the new menu
ops.
(meta_window_show_menu): don't use the OP_*SHAPE operations, and
compute which of the OP_MOVE_TO_* ops should be used for the
current workspace and workspace layout. Add the OP_*ABOVE
operations.
2003-12-20 Arafat Medini <lumina@silverpen.de>
* configure.in: Added Arabic locale "ar" to ALL_LINGUAS
2003-12-17 Rob Adams <readams@readams.net>
* src/display.c (meta_display_open): initialize
grab_wireframe_active to FALSE. Fix for #128090.
2003-12-17 Rob Adams <readams@readams.net>
* src/tabpopup.c (meta_ui_tab_popup_new): Don't try to call
utf8_strndup on a null title for an entry. Fix for #128566.
* src/workspace.c (meta_workspace_free): Call g_list_free on the
mru_list, since with sticky windows that MRU list could well not
be emtpy. See #122016.
2003-12-13 Rob Adams <readams@readams.net>
* src/window.c (meta_window_new_with_attrs): set on_all_workspaces
in all cases _before_ adding to the workspaces, so that windows
initially on all workspaces are added correctly to the MRU lists.
Fix for #120907.
* src/workspace.c (meta_workspace_add_window): handle sticky
windows so that we add to add mru lists if needed
(meta_workspace_remove_window): handle sticky windows so that they
are removed from all mru lists if needed.
2003-12-12 Havoc Pennington <hp@redhat.com>
* src/window.c (meta_window_free): unstick window to get it out of
mru_list it should not be in; assert that window has been removed
from all mru_list. Perhaps fixes #122016 crash.
2003-11-29 Havoc Pennington <hp@redhat.com>
* fix up compositing manager to somewhat work
2003-11-26 Rob Adams <readams@readams.net>
* COMPLIANCE: fix a couple of minor typos.
2003-11-24 Havoc Pennington <hp@redhat.com>
* src/compositor.c (meta_compositor_new): fix the extension checks
2003-11-24 Havoc Pennington <hp@redhat.com>
* src/iconcache.c (meta_icon_cache_init): init prev_mask field
* src/window.c (meta_window_new_with_attrs): init xgroup_leader
prior to use
2003-11-24 Havoc Pennington <hp@redhat.com>
* src/display.c (meta_display_begin_grab_op): add an event_serial
argument and use it when the pointer is already grabbed
automatically on the button press. May fix bug #126871
2003-11-24 Havoc Pennington <hp@redhat.com>
* Apply patch from Gregory Merchan to avoid using CurrentTime when
setting input focus. Bug #108881
2003-11-23 Havoc Pennington <hp@redhat.com>
* src/compositor.c: move xcompmgr code in here (minus drop
shadows), untested since Keith's server just crashes at the
moment. "It compiles"
2003-11-20 Havoc Pennington <hp@redhat.com>
* src/window.c (meta_window_new_with_attrs): new function
* src/display.c, src/screen.c: create the compositor and feed
windows and events to it
2003-11-20 Havoc Pennington <hp@redhat.com>
* src/window.c (meta_window_notify_focus): revert the change here
2003-11-17 Rob Adams <readams@readams.net
* src/window.c (set_allowed_actions_hint): increment i between
resize and fullscreen.
2003-11-16 Rob Adams <readams@readams.net>
Create COMPLIANCE document describing metacity specification
compliance. Right now gives detailed EWMH compliance; still need
to add ICCCM compliance information. Also some minor fixes to
bring metacity into compliance on some points.
* COMPLIANCE: new file
* src/display.h, src/display.c (meta_display_open),
src/screen.c (set_supported_hint): add
atom_net_wm_action_fullscreen and atom_net_wm_action_minimize
* src/window.c (set_allowed_actions_hint): some fixes to which
hints to set and add fullscreen and minimize.
2003-11-16 Rob Adams <readams@readams.net>
* src/window.c (meta_window_notify_focus): add paranoia check to
make sure a window is really on a workspace before inserting it at
the beginning of the MRU list. Maybe there's a race condition
with focusing and workspace switching. Hopefully a fix for
#122016.
2003-11-15 Havoc Pennington <hp@redhat.com>
* src/main.c (main): fix warning
* src/compositor.c: add a new file to contain compositing manager
functionality; not yet implemented at all.
2003-11-15 Rob Adams <readams@readams.net>
Inherit visual from frame window so that metacity will work with
the new compositing manager extension work by Keith on
freedesktop.org, so that ARGB windows can be full
alpha-transparent without a metacity frame getting drawn in the
background. In the long term, we need to actually set alpha
values when drawing the frame so that it will really work; this is
a stopgap solution. Patch from Keith Packard; see Bug 126875.
* src/frame.c (meta_window_ensure_frame): pass client visual to
frame.
* src/ui.[ch] (meta_ui_create_frame_window): add new xvisual
parameter and use it to create new window.
2003-11-15 Rob Adams <readams@readams.net>
* src/window.c (update_net_wm_type): don't set window->type_atom
here so that the type-inference code will actually be called. Fix
for #126873 from Keith Packard.
2003-11-08 Rob Adams <readams@readams.net>
* src/window.c (meta_window_move_resize_internal): configure frame
first if we grow more than we shrink combined in both dimensions.
Patch from Soren Sandmann for #108925.
2003-11-07 Rob Adams <readams@readams.net>
* src/place.c (meta_window_place): use maximize_after_placement to
automaximize in meta_window_place; avoids a problem with not
recalculating the frame geometry after auto-maximizing.
2003-11-07 Rob Adams <readams@readams.net>
* src/window.c (window_should_be_showing): show the window if it's
a transient of a dock or desktop, since otherwise such windows are
invisible in show desktop mode. Fix for #124648.
2003-11-07 Rob Adams <readams@readams.net>
* src/main.c (main): Try harder to find a theme in the event that
the theme in the preference cannot be found. Patch from Marcin
Krzyzanowski. See #125815.
* src/place.c (meta_window_place): use "visual" centering for
dialog placement and clip new dialogs to an xinerama workspace.
Fix for #118336.
2003-10-30 Havoc Pennington <hp@redhat.com>
* src/menu.c (meta_window_menu_new): patch to avoid creating
stick/unstick menu items when only one workspace, bug #116563
from Michael Terry
2003-10-25 Havoc Pennington <hp@redhat.com>
* src/window.c (meta_window_notify_focus): if a window is focused
which is not either a dock or a transient in the same group as a
dock, shuffle all dock/desktop windows to the end of the MRU list
so they won't annoyingly get focus all the time. #123816
2003-10-15 Yukihiro Nakai <nakai@gnome.gr.jp>
Gettextize metacity-theme-viewer. #121747
* src/theme-viewer.c: gettextize.
* po/POTFILES.in: Add src/theme-viewer.c
2003-10-13 Havoc Pennington <hp@redhat.com>
In the "prefs cause code complexity" department, here's a "sloppy
focus die die die" kind of moment.
* src/display.c (meta_display_grab_focus_window_button): don't
grab in sloppy focus mode, since we were dropping the grab on
window enter anyway this just removes races from the current
behavior.
* src/display.c (prefs_changed_callback): ungrab/grab on focus
mode changes, since we treat sloppy and click differently.
2003-10-12 Havoc Pennington <hp@redhat.com>
Merge reduced_resources mode patch from the branch. Offers
wireframe and no-animations.
* src/window.c (implement_showing): no animation if we are
in reduced resources mode
* src/prefs.c: add REDUCED_RESOURCES pref
* src/window.c (meta_window_update_keyboard_resize): fix to
modify grab_anchor_window_pos to grab_wireframe_rect if
appropriate instead of window->rect
* src/display.h (struct _MetaDisplay): add grab_start_serial used
to avoid responding to events that occurred prior to the grab
initialization.
Still broken in various ways, specifically EnterNotify that
occurred prior to XGrabPointer is processed as if it occurred
after.
* src/window.c (meta_window_update_keyboard_move): add this
instead of meta_window_warp_pointer() crack
* src/effects.c (meta_effects_update_wireframe): draw a kind of
grid for the wireframe, instead of just a rectangle, like twm
* src/screen.c (meta_screen_new): line width of 3 for the XOR gc
"Reduced resources" mode based on wireframe patch from
Erwann Chenede. Still pretty buggy.
* src/keybindings.c (process_keyboard_move_grab)
(process_keyboard_resize_grab): add gruesome wireframe hacks
* src/display.c (meta_display_end_grab_op): end wireframe
(meta_display_begin_grab_op): begin wireframe
* src/effects.c (meta_effects_end_wireframe)
(meta_effects_update_wireframe, meta_effects_begin_wireframe):
routines to draw the wireframe stuff
* src/window.c (window_should_be_showing): hide window when
doing wireframe, commented out as it breaks grab
* src/window.c (meta_window_refresh_resize_popup): handle wireframe
* src/screen.c (meta_screen_new): create a screen->root_xor_gc
for use in drawing wireframes
* src/frames.c (meta_frames_push_delay_exposes): repaint
everything before we delay
2003-10-11 Havoc Pennington <hp@pobox.com>
* src/display.c (meta_display_begin_grab_op): initialize
display->grab_have_pointer to FALSE, previously I think you could
get a case where we didn't have the grab and thought we did.
Bugs were reported with this happening. Of course we still have
the "why did the grab fail" problem, but it should be less
noticeable with this fixed.
2003-10-06 Rob Adams <readams@readams.net>
* src/constraints.c (constraint_onscreen_*_func): disable onscreen
resize constraints for right, left, and bottom, since there is no
way to violate onscreen constraints by resizing in these
directions and the code to implement the constraints made some
incorrect assumptions. Fix for #120701, #120756, #123165,
#123631, #123838.
2003-10-06 Žygimantas Beručka <uid0@tuxfamily.org>
* configure.in: Added "lt" to ALL_LINGUAS
2003-10-01 Havoc Pennington <hp@redhat.com>
* NEWS: update
* configure.in: 2.6.2
2003-09-30 Havoc Pennington <hp@redhat.com>
* src/window.c (meta_window_queue_move_resize): add the moveresize
idle at META_PRIORITY_RESIZE so it runs before GTK does any
drawing, may fix bug #109211 (seems to for me)
* src/ui.h (META_PRIORITY_RESIZE): add this between GTK
resize/redraw priorities
* src/display.c (meta_display_queue_retheme_all_windows): remove
some debug spew from meta_warning
2003-09-30 Havoc Pennington <hp@redhat.com>
* src/testasyncgetprop.c: remove nonstandard header include,
#121870
2003-09-30 Havoc Pennington <hp@redhat.com>
* src/tools/metacity-message.c (main): call
bind_textdomain_codeset(), fix from Yukihiro Nakai bug #121743
2003-07-28 Rached Ben Mustapha <rached@benmur.net>
Fix bug #118428
* src/window.c (redraw_icon): Also redraw window icon if the window
is not mapped but its frame is.
(idle_update_icon): Unset the window->update_icon_queued flag.
2003-09-29 Havoc Pennington <hp@redhat.com>
* src/tabpopup.c (meta_ui_tab_popup_new): put a random cap on
number of characters in the title of each window, bug #109301
2003-09-29 Havoc Pennington <hp@redhat.com>
* configure.in: put -lXext in Xrandr check, bug #115996
2003-09-29 Havoc Pennington <hp@redhat.com>
* src/wm-tester/test-size-hints.c: a little program to test size
hints, for now just a 0x0 min size to verify bug #113320
2003-09-29 Havoc Pennington <hp@redhat.com>
* src/async-getprop.c (async_get_property_handler): attempt to fix
this to return the data as an array of long even on 64-bit as with
XGetWindowProperty() breakage, bug #114035, credit to Gwenole
Beauchesne for tracking down.
2003-09-29 Havoc Pennington <hp@redhat.com>
* src/xprops.c (cvtINT16toInt): fix the 64-bit check not to use
macros from the X tree that don't get set
* configure.in: check for sizes of various types
2003-09-29 Havoc Pennington <hp@redhat.com>
* src/delete.c (meta_window_delete): don't move the focus after
you click the close button on a window. bug #108706
2003-09-29 Havoc Pennington <hp@redhat.com>
* src/main.c (find_accessibility_module): fix warnings (one was a
real bug)
* src/ui.c (meta_gdk_pixbuf_get_from_pixmap): fix warning that
probably explains remaining crash on bug #116923. Jeez, need to
use -Werror here or something.
Fix #103575, spawn child processes on proper screen.
* src/keybindings.c (error_on_command): pass --screen to
metacity-dialog
(handle_run_command): launch user command with DISPLAY reflecting
the screen you launch it from
* src/delete.c (delete_ping_timeout_func): pass --screen to
metacity-dialog
2003-09-26 Havoc Pennington <hp@redhat.com>
* src/display.c (event_callback): when focus on root window
becomes None, set it to something other than None so keybindings
keep working and print a warning about how some application sucks.
#84564
(event_callback): Fix debug spew to print focus event details
properly
(meta_display_open): when setting initial focus, always use
RevertToPointerRoot and fix the focus if it's None or PointerRoot
2003-09-26 Padraig O'Briain <padraig.obriain@sun.com>
* src/Makefile.am: Add -DMETACITY_LIBDIR to support loading of modules
* src/main.c: Add functions find_accessibility_module,
accessibility_invoke_module and accessibility_invoke
(main); Check whether GConf accessibility key is true and if so
load accessibility modules. This code is based on the libgnome code.
src/tabpopup.c (meta_ui_tab_popup_new): Set accessible role of
accessible for label containing window name to STATUSBAR so
AT can be aware of window name.
This fixes bug #120025
2003-09-24 Havoc Pennington <hp@pobox.com>
* src/session.c (io_from_warning_dialog): fix hang when we get
EOF, #121376 from Laurent Vivier
2003-09-22 Taneem Ahmed <taneem@bengalinux.org>
* configure.in: Added "bn" to ALL_LINGUAS.
2003-09-20 Åsmund Skjæveland <aasmunds@fys.uio.no>
* configure.in: Added Norwegian (nynorsk) translation code to
ALL_LINGUAS
2003-09-20 Rob Adams <readams@readams.net>
Fix bug where multiple entries could appear in MRU lists, or no
entry when sticking/unsticking windows. Fix for #122016
* src/window.c (meta_window_stick): use window->screen->workspaces
instead of window->workspaces.
(meta_window_unstick): use window->screen->workspaces instead of
window->workspaces.
2003-09-19 Rob Adams <readams@readams.net>
Fix a bug with partial-width panel struts caused by incorrect
computation of rectangle widths, and another when using different
screen resolutions on xineramas. See #122404. Also fix a crash
bug with the MRU list when sticking and unsticking windows. See
#120809.
* src/constraints.c (get_outermost_onscreen_positions): Fix
off-by-one error with partial-width struts.
* src/window.c (meta_window_update_struts): Fix off-by-one error
with partial-width struts.
(meta_window_stick): assign back to GList after g_list_append
(meta_window_unstick): assign back to GList after g_list_append
* src/workspace.c (ensure_work_areas_validated): For right and
bottom struts, compute strut relative to root window and not to
xinerama edge in compliance with EWMH recommendations.
2003-09-17 Fatih Demir <kabalak@gtranslator.org>
* configure.in: Added "ta" (Tamil) to the languages' list.
Wed Sep 10 15:38:09 2003 Jonathan Blandford <jrb@redhat.com>
* configure.in: Rerelease 2.4.0.1 to fix glib-gettext problem.
2003-09-08 Havoc Pennington <hp@redhat.com>
* configure.in: remove "this is the unstable branch" warning
2003-09-08 Havoc Pennington <hp@redhat.com>
* configure.in: 2.6.0
2003-09-04 Havoc Pennington <hp@redhat.com>
* configure.in: 2.5.5
* HACKING: add instructions on how to make a release
2003-08-29 Rob Adams <robadams@ucla.edu>
* src/ui.c (meta_gdk_pixbuf_get_from_pixmap): harden against null
return from gdk_pixmap_foreign_new. Fix for #116923.
2003-08-26 Guntupalli Karunakar <karunakar@freedomink.org>
* configure.in: Added "hi" (Hindi) to ALL_LINGUAS.
2003-08-20 Rob Adams <robadams@ucla.edu>
Complete the transition to using the MRU window as the default
focus window instead of the topmost window; fixes a number of
problems with sloppy focus and utility windows. See #112031.
* src/window.c (meta_window_free): call
meta_workspace_focus_mru_window
(meta_window_minimize): call meta_workspace_focus_mru_window
2003-08-20 Rob Adams <robadams@ucla.edu>
* src/constraints.c (meta_window_constrain): do northwest resize
when maximizing and fullscreening to avoid potential "off-by-one"
problems.
2003-08-19 Rob Adams <robadams@uclu.edu>
* src/stack.c (get_standalone_layer): put windows with
wm_state_below at the bottom. Make this higher priority than full
screen layer; see #120238.
2003-08-18 Rob Adams <robadams@ucla.edu>
* src/constraints.c (meta_window_constrain): recalculate frame
geometry if the window gets maximized after placement, since it's
likely to change. Fix for #120117.
2003-08-17 Ray Strode <halfline@hawaii.rr.com>
* src/delete.c (meta_window_delete): Use MRU list to find focusing
window after a window is deleted instead of using top window. Fix
for #108643.
2003-08-16 Havoc Pennington <hp@pobox.com>
Patch from Soeren Sandmann #108926 to improve opaque resize
* src/frame.c (meta_window_ensure_frame): new function
* src/ui.c (meta_ui_create_frame_window): new function to create
a frame with GDK, so that GDK's invalidation etc. work properly
2003-08-16 Havoc Pennington <hp@pobox.com>
* src/display.c (xcursor_for_op): fix cursor for
META_GRAB_OP_MOVING, #111943 from John Paul Wallington
2003-08-15 Rob Adams <robadams@ucla.edu>
* src/constraints.c (meta_window_constrain): move to upper left
corner since we're resizing/moving instead of moving/resizing.
Fix for #119988.
2003-08-15 Ray Strode <halfline@hawaii.rr.com>
Changed MRU list to be per workspace instead of per display, so
sticky windows don't hijack the window focus after workspace
switching (Bug #97635).
* src/delete.c (meta_window_delete): Use
meta_workspace_focus_top_window instead of
meta_screen_focus_top_window.
* src/display.c (meta_display_open): Stop using display->mru_list.
(find_tab_forward):
(find_tab_backward):
(meta_display_get_tab_list): Use workspace->mru_list instead of
display->mru_list and remove unneeded calls to
meta_window_visible_on_workspace
* src/display.h: Remove mru_list from MetaDisplay
* src/keybindings.c (handle_toggle_desktop): Use
meta_workspace_focus_top_window instead of
meta_screen_focus_top_window.
* src/screen.c (meta_screen_focus_top_window):
(meta_screen_focus_default_window): Remove functions.
(meta_screen_show_desktop): Use meta_workspace_focus_top_window
instead of meta_screen_focus_top_window.
* src/screen.h: Remove meta_screen_focus_top_window and
meta_screen_focus_default_window declarations.
* src/window.c (meta_window_new): Stop using display->mru_list.
(meta_window_free): Use meta_workspace_focus_top_window
instead of meta_screen_focus_top_window and stop using
display->mru_list.
(meta_window_stick): Add sticky window to all workspace MRU lists.
(meta_window_unstick): Remove non-sticky window from the workspace
MRU lists it doesn't belong in.
(meta_window_notify_focus): Move newly focused window to the front
of active workspace's MRU list.
* src/workspace.c (meta_workspace_new): Initialize
workspace->mru_list to NULL.
(meta_workspace_add_window): Add window to workspace's MRU list.
(meta_workspace_remove_window): Remove window from workspace's MRU
list.
(meta_workspace_activate_with_focus): Use
meta_workspace_focus_default_window instead of
meta_screen_focus_default_window.
(meta_workspace_focus_default_window):
(meta_workspace_focus_mru_window):
(meta_workspace_focus_top_window): Add functions.
* src/workspace.h: Add mru_list to MetaWorkspace and add function
declarations for meta_workspace_focus_default_window,
meta_workspace_focus_mru_window, meta_workspace_focus_top_window.
2003-08-14 Rob Adams <robadams@ucla.edu>
Allow windows that are too tall for the workarea to break the
onscreen constraints just enough so that their bottom edges can be
made visible. Fix for #106740. Also, changes constraints to
constrain the resize and then the move to avoid complexities in
the code for the above fix.
* src/constraints.c (get_outermost_onscreen_positions)
Compute the "effective" height of the work area and the minimum
size for the window to compute a value by which a window is
allowed to violate the top constraint.
(meta_window_constrain): convert to a resize then a move instead
of a move then resize.
2003-08-13 Rob Adams <robadams@ucla.edu>
* configure.in: remove metacity.spec from AC_OUTPUT
2003-08-13 Havoc Pennington <hp@redhat.com>
* metacity.spec.in: remove, nobody is maintaining it.
2003-08-13 Laurent Dhima <laurenti@alblinux.net>
* configure.in: Added "sq" to ALL_LINGUAS.
2003-08-10 Havoc Pennington <hp@pobox.com>
* src/screen.c (meta_screen_new): don't select for button
press/release events, as that keeps other clients from doing so,
and it doesn't seem that metacity has any reason to do it.
Patch from Andreas Volz.
2003-08-08 Bastien Nocera <hadess@hadess.net>
* src/metacity-dialog.c: (kill_window_question),
(warn_about_no_sm_support): fix markup being ignored when a window
title has a forbidden character in it (eg. "Send & Receive")
* src/tools/metacity-window-demo.c: fix warning
2003-07-29 Arvind Samptur <arvind.samptur@wipro.com>
* src/xprops.c (utf8_list_from_results): Number of
strings we are processing is one more than required.
Also get the string count right even without a null byte at the end.
Pointed out by Havoc.
2003-07-27 Rob Adams <robadams@ucla.edu>
* src/window.c (update_move): Update window shaking loose so that
the window is moved to the pointer and certain drag state is
properly restored once windows "reattach". Fix for #115000 based
on the patch by Jurg Billeter.
* src/screen.c (meta_screen_resize): Invalidate work areas after
an xrandr screen size update. Fix for #117230.
* src/stack.c (window_is_fullscreen_size): Check the bottom corner
of the window in addition to the top corner. Fix for #118194.
* src/constraints.c (meta_window_constrain): Support aspect ratio
hints in the new constraints code. Fix for #113798.
* src/tools/metacity-window-demo.c (toggle_aspect_ratio): toggle
the aspect ratio hints to force a 16:9 aspect ratio.
(do_appwindow): add a button to toggle aspect ratio.
2003-07-27 Havoc Pennington <hp@pobox.com>
* src/theme-viewer.c (run_theme_benchmark): also measure wall
clock time, and run over a number of window sizes.
2003-07-15 Havoc Pennington <hp@redhat.com>
* NEWS: update
* configure.in: 2.5.3
2003-07-12 Pablo Saratxaga <pablo@mandrakesoft.com>
* configure.in: Added Walloon (wa) to ALL_LINGUAS
2003-07-04 Havoc Pennington <hp@pobox.com>
* Makefile.am (EXTRA_DIST): add rationales.txt
2003-07-02 Jordi Mallach <jordi@sindominio.net>
* src/metacity.desktop.in: Add X-GNOME-Bugzilla entries.
2003-07-01 Padraig O'Briain <padraig.obriain@sun.com>
* src/keybindings.c (process_tab_grab): Activate window before ending
grab. This fixes bug #114037.
2003-06-20 Rob Adams <robadams@ucla.edu>
* src/window.c (meta_window_unmaximize): Update grab state when we
unmaximize so double-clicking doesn't cause weird window-jumping
problems. See #116292.
2003-06-29 Rob Adams <robadams@ucla.edu>
* src/constraints.c (meta_window_constrain): Actually maximize
after placement. See #116285.
2003-06-26 Havoc Pennington <hp@pobox.com>
* src/workspace.c (meta_workspace_invalidate_work_area): nuke the
lists of struts here, to improve confidence that we never try to
use them after a window with rects in the list gets freed.
(it wasn't broken before I don't think, just making the
code more robust against future mods)
* src/window.c (meta_window_update_struts): replace magic "75"
with a macro
* src/constraints.c (constraint_hints_applies_func): don't apply
hints to maximized or fullscreen, rather than only fullscreen
(constrain_move): add paranoia max number of iterations to the
heuristic loop
2003-06-26 Rob Adams <robadams@ucla.edu>
Add keybinding to allow the user to toggle _NET_WM_STATE_ABOVE on
windows. Disabled by default. See #98387.
* src/keybindings.c (handle_toggle_above): new function implements
the keybinding
* src/metacity.schemas.in: add toggle_above keybinding
* src/prefs.[ch]: add toggle_above keybinding
* src/window.[ch] (meta_window_make_above): new function to put a
window into the above state
(meta_window_unmake_above): new function takes a window out of the
above state
2003-06-26 Mohammad DAMT <mdamt@bisnisweb.com>
* po/id.po: Added Indonesian translation
* configure.in: Added "id" to ALL_LINGUAS
2003-06-25 Rob Adams <robadams@ucla.edu>
Update constraints code to support the new _NET_WM_STRUT_PARTIAL
EWMH draft specification. See #86682. Also, fix a bug involving
work area invalidation on metacity startup. Fix for #108497.
Finally, some minor fixes for full screen windows.
* src/window.h: Add new MetaStruts structure to store strut rects
for a window. Remove has_struts and do_not_cover flag, and
support new MetaStruts instead of the four ints.
* src/window.c (meta_window_new): change initialization to work
with new struts. Also, move meta_window_update_struts call to
after the workspaces are initialized to fix #108497. Remove
do_not_cover and related code.
(process_property_notify): add strut_partial
(update_struts): change function name to meta_window_update_struts
and expose in external MetaWindow API. Support partial width
struts and the new strut rects.
* src/workspace.h: add new GSLists containing pointers to all
relevant struts for this workspace.
* src/workspace.c (meta_workspace_new): initialize the list of
strut rects for this workspace.
(meta_workspace_free): free the strut rect lists
(ensure_work_areas_validated): support new struts and new strut
rect lists. Unleash the per-xinerama work areas.
* src/constraints.c (get_outermost_onscreen_positions): Use the
current window position along with the new per-workspace strut
rects to compute the constraints that apply to a particular
window.
(constraint_hint_applies_func): don't do hints constraints on
fullscreen windows
(update_position_limits): for maximized windows use the work areas
to set the position limits; for other windows rely on the struts
constraints to be computed later in
get_outermost_onscreen_positions
(meta_window_constrain): don't apply aspect ratio hints to full
screen windows
* src/display.c (meta_display_open): add _NET_WM_STRUT_PARTIAL atom
(meta_rectangle_equal): new helper function for MetaRectangles
(event_queue_callback): #ifndef out if USE_GDK_DISPLAY not set to
avoid compiler warning
* src/display.h: add atom_net_wm_strut_partial, and add
meta_rectangle_equal.
* src/screen.c (meta_screen_rect_intersects_xinerama): change
_window_intersects_ to _rect_intersects_ which is more useful now.
(meta_screen_resize_func): update struts on windows with struts
since struts are relative to the screen size, and this function is
called when the screen size updates.
* src/screen.h (meta_screen_rect_intersects_xinerama): change
_window_intersects_ to _rect_intersects_ which is more useful now.
* src/window-props.c (meta_display_init_window_prop_hooks): add
hook for strut_partial
* src/tools/metacity-window-demo.c: Support partial-width struts
on the dock window tests for metacity testing purposes.
2003-06-22 Samúel Jón Gunnarsson <sammi@techattack.nu>
* configure.in: Added "is" to ALL_LINGUAS
2003-06-12 Rob Adams <robadams@ucla.edu>
* src/display.c (event_callback): Focus on mouse click in
sloppy/mouse to fix keynav. Fix for #115072.
2003-06-12 Rob Adams <robadams@ucla.edu>
* src/Makefile.am: honor --disable-schemas-install. Fix for
#106123 from Julio Merino
2003-06-12 Rob Adams <robadams@ucla.edu>
Remove legacy support for Gnome 1 hints, since we deem it unlikely
that anyone is running a current metacity with Gnome 1. The
removed hints are _WIN_WORKSPACE, _WIN_LAYER, _WIN_PROTOCOLS,
_WIN_SUPPORTING_WM_CHECK, and _WIN_HINTS. Thanks to Ben Jansens
for much of this patch.
* display.c (meta_display_open): remove hints
* display.h: remove atoms for hints
* screen.c (set_wm_check_hint): don't set legacy hint
(set_supported_hint): don't set legacy hint
* window-props.c (init_win_workspace): removed
(reload_win_workspace): removed
(meta_display_init_window_prop_hooks): remove hints
* window.h: remove do_not_cover flag
* window.c: remove GnomeWinHints enum
(recalc_do_not_cover_struts): removed
(meta_window_new): don't initialize removed flags or compute
legacy struts
(move_resize_cmp): removed
(idle_move_resize): Don't bother sorting the idle queue
(meta_window_client_message): don't set legacy hint
(process_property_notify): remove hints
(update_net_wm_type): don't fall back to WIN_LAYER hint
(update_struts): remove legacy struts
2003-06-12 Havoc Pennington <hp@pobox.com>
* src/display.c (event_callback): make raise-on-click explicitly
only happen in click to focus mode.
* src/window.c (update_move): apply patch from Jurg Billeter to
allow you to "shake loose" maximized windows and move them between
Xinerama heads. #93586
* src/display.c: delete event_queue_callback
* src/display.h (struct _MetaDisplay): get rid of
grab_current_window_pos and grab_current_root_[xy] as I could find
absolutely no code using them for anything. They were just sort of
randomly assigned to for no apparent reason.
* src/display.c (event_callback): double-click timeout is per
screen, so get the screen and pass screen->ui to
meta_ui_get_double_click_timeout()
* src/ui.c (meta_ui_get_double_click_timeout): take a MetaUI
argument so we get the right settings for each screen
(meta_ui_get_drag_threshold): new function
2003-06-09 Rob Adams <robadams@ucla.edu>
Revamp placement policy for windows that are maximized when they
are mapped, including windows that set a hint to be maximized or
windows that are auto-maximized using our heuristic. See #111902.
* src/window.h: add new flag maximize_after_placement and new
function meta_window_maximize_internal.
* src/window.c (meta_window_new): initialize
maximize_after_placement to FALSE and remove the automaximize
heuristic.
(meta_window_maximize_internal): new function accepts a saved_rect
argument to be used as the new saved_rect for the window, and does
not queue a move_resize.
(meta_window_maximize): re-implement using
meta_window_maximize_internal.
(update_net_wm_state): If a window has a maximize hint set on
startup set maximize_after_placement to TRUE
* src/constraints.c (meta_window_constrain): Update the xinerama
information in the ConstraintInfo after placing the window, and
maximize the window after placement if
window->maximize_after_placement
* src/place.c (find_first_fit): take a natural xinerama list as an
argument instead of generating it here
(constrain_placement): remove function, since it is no longer
needed
(meta_window_place): generate the natural xinerama list here and
pass it into find_first_fit. If find_first_fit fails, use the
list to find empty xineramas where we can place windows that may
be maximized later. This makes maximized windows follow the
correct placement policy. Move the automaximize heuristic here.
2003-06-09 Rob Adams <robadams@ucla.edu>
* src/metacity-dialog.c (warn_about_no_sm_support): install an
alarm to timeout the no-sm-dialog after 4 minutes of inactivity.
Patch from Ximian. See #114789.
2003-06-07 Rob Adams <robadams@ucla.edu>
* src/window.c (meta_window_new): call meta_group_compute_group
after setting window->desc to avoid SIGSEGV when verbose mode is
enabled.
2003-06-07 Havoc Pennington <hp@pobox.com>
* src/window.c (meta_window_notify_focus): drop the mouse button
grabs for the focused window; we'll see if this breaks anything.
It should fix #102209
Fri Jun 6 19:27:53 2003 Jonathan Blandford <jrb@gnome.org>
* src/metacity.schemas.in: fix the location of the schemas file.
2003-06-04 Rob Adams <robadams@ucla.edu>
* src/window.c (meta_window_new): don't be stupid and set
window->group = NULL after calling meta_window_compute_group.
* src/group.c (meta_window_get_group): assert that window->group
!= NULL in here instead of computing the group to ensure
robustness.
2003-06-04 Rob Adams <robadams@ucla.edu>
Precompute groups to guarantee that meta_group_list_windows always
returns the correct list of windows. See Bug #96973
* src/window.h: change cached_group variable to group
* src/window.c (meta_window_new): change cached_group to group and
call meta_window_compute_group
* src/groups.c (meta_window_get_group): simply return
window->group rather than computing it and returning
window->cached_group
(meta_window_compute_group): new function computes window->group.
Designed to be called once from meta_window_new
(remove_window_from_group): change cached_group to group
(meta_window_group_leader_changed): call meta_window_compute_group
instead of meta_window_get_group
2003-05-29 Rob Adams <robadams@ucla.edu>
Use a new property _METACITY_SENTINEL to eliminate a race