source: trunk/third/metacity/ChangeLog @ 18829

Revision 18829, 173.2 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18828, which included commits to RCS files with non-trunk default branches.
Line 
12003-02-04  Havoc Pennington  <hp@redhat.com>
2
3        * NEWS: updated
4
5        * configure.in: 2.4.34
6
72003-02-04  Havoc Pennington  <hp@redhat.com>
8
9        * src/metacity.schemas.in: default to Simple instead of Atlanta
10
11        * src/themes/Makefile.am (THEMES): add Simple theme
12
132003-01-30  Havoc Pennington  <hp@redhat.com>
14
15        * src/keybindings.c (process_event): match handlers to key events
16        using key codes, not key syms
17
182003-02-03  Tõivo Leedjärv  <toivo@linux.ee>
19
20        * configure.in: Added et to ALL_LINGUAS
21
222003-01-29  Abel Cheung  <maddog@linux.org.hk>
23
24        * configure.in: Added en_GB nl to ALL_LINGUAS
25
262003-01-29  Havoc Pennington  <hp@pobox.com>
27
28        * src/menu.c (meta_window_menu_new): don't create workspaces
29        menu items if only 1 workspace. Fix for #101952 from
30        Orien Vandenbergh
31
322003-01-25  Havoc Pennington  <hp@pobox.com>
33
34        (not for 2.2.0)
35       
36        * src/stack.c (window_is_fullscreen_size): When checking if a
37        window is fullscreen size, only require it to be at the origin
38        of the work area, not at the origin of the screen/xinerama.
39        Still require it to be full screen in width x height.
40        May fix xine in the case where the user has a top panel.
41
42        * src/window.c (constrain_position): restore the ability for
43        undecorated windows to position themselves overlapping the top
44        panel, but don't let decorated windows do so. Oh the hacks...
45       
462003-01-08  Havoc Pennington  <hp@pobox.com>
47
48        (not for 2.2.0)
49       
50        * src/screen.c (meta_screen_apply_startup_properties): small code
51        snippet to fix startup sequences that set legacy class/name
52
532003-01-22  Havoc Pennington  <hp@redhat.com>
54
55        (not for 2.2.0)
56       
57        * src/async-getprop.c (async_get_property_handler): do not read
58        sizeof(long) off the X connection. The X protocol does not vary
59        by architecture. Fixes longstanding hang on all 64-bit platforms.
60
612003-01-22  Havoc Pennington  <hp@redhat.com>
62
63        (not for 2.2.0)
64       
65        * src/tools/Makefile.am: fix conditional so we get
66        metacity-properties.c in the distribution #103071
67
682003-01-22  Havoc Pennington  <hp@pobox.com>
69
70        (not for 2.2.0)
71       
72        * src/window.c (update_struts): be robust against the panel's
73        lame "set a negative number for struts" thing, even though
74        we'll also fix the panel.
75
762003-01-21  Havoc Pennington  <hp@pobox.com>
77
78        (not for 2.2.0)
79       
80        Fix for the "mangles focus window when switching workspaces
81        and using mouse focus" bug
82       
83        * src/stack.c (meta_stack_get_default_focus_window_at_point): new
84        function
85
86        * src/screen.c (meta_screen_focus_mouse_window): new function
87        (meta_screen_focus_default_window): new function
88       
89        * src/workspace.c (meta_workspace_activate): use the
90        new meta_screen_focus_default_window()
91
922003-01-17  Havoc Pennington  <hp@pobox.com>
93
94        (not for 2.2.0)
95       
96        * src/window.c (meta_window_handle_mouse_grab_op_event): fix event
97        compression code to use GDK algorithm suggested by Owen, should be
98        more efficient.
99
1002003-01-22  Christian Rose  <menthos@menthos.com>
101
102        * configure.in: Added "mn" to ALL_LINGUAS.
103
1042003-01-21  Havoc Pennington  <hp@redhat.com>
105
106        * src/display.c (event_callback): only hop window to the current
107        workspace if the window was previously minimized. Should keep
108        mozilla from popping windows over to your current workspace.
109
110        (change will not be in 2.2.0)
111       
1122003-01-20  Havoc Pennington  <hp@redhat.com>
113
114        Attempt to fix #85916 (change will not be in 2.2.0)
115       
116        * src/keybindings.c (primary_modifier_still_pressed): new function
117        (handle_workspace_switch): handle modifier release prior to
118        getting the grab
119        (do_choose_window): handle modifier release prior to getting the
120        grab
121
122        * src/keybindings.c (grab_keyboard): properly return failure
123        if the GrabKeyboard doesn't work
124       
1252003-01-20  Havoc Pennington  <hp@pobox.com>
126
127        * NEWS: update
128
129        * configure.in: 2.4.21
130
1312003-01-14  Havoc Pennington  <hp@pobox.com>
132
133        * src/window.c (meta_window_maximize, meta_window_unmaximize)
134        (meta_window_make_fullscreen, meta_window_unmake_fullscreen):
135        recalc_window_features() after making these changes, should fix
136        #103317
137       
1382003-01-14  Rob Adams <robadams@ucla.edu>
139
140        * src/prefs.c: Increase the number of run_command bindings in
141        screen_bindings from 12 to 32.
142
143        * src/prefs.h: Increase the number of META_KEYBINDING_COMMAND_N
144        macros from 12 to 32.
145       
146        * src/keybindings.c: Increase the number of run_command handlers
147        from 12 to 32.
148
1492003-01-11  Havoc Pennington  <hp@pobox.com>
150
151        * src/window.c (meta_window_handle_mouse_grab_op_event): implement
152        compression of motion events (drop all but the most recently
153        received), guessing at fixes for #103009
154
1552003-01-11  Havoc Pennington  <hp@pobox.com>
156
157        * configure.in: add ability to --disable-shape
158
1592003-01-11  Akira TAGOH  <tagoh@gnome.gr.jp>
160
161        * configure.in: fix the behavior of --enable-*.
162
1632003-01-10  Havoc Pennington  <hp@redhat.com>
164
165        * src/Makefile.am (desktopfiles_in_files): revert that change, I
166        got the wrong .desktop file. doh.
167
1682003-01-10  Havoc Pennington  <hp@redhat.com>
169
170        * src/Makefile.am (desktopfiles_DATA): don't install .desktop file
171        for properties dialog if we aren't building/installing the
172        properties dialog.
173
1742003-01-10  Havoc Pennington  <hp@pobox.com>
175
176        * NEWS: update
177
178        * configure.in: bump to 2.4.13, require 2.2.0 for multihead
179
1802003-01-09  James M. Cape  <jcape@ignore-your.tv>
181
182        * src/themes/Esco/metacity-theme-1.xml: Use a line for the titlebar
183        text bg.
184
1852003-01-09  Havoc Pennington  <hp@redhat.com>
186
187        * src/window.c (recalc_window_features): argh, we were making all
188        dialogs skip taskbar; when did that get added.  Fix to match
189        libwnck, only skip taskbar when the dialog is transient for some
190        other app window.
191
1922003-01-09  Havoc Pennington  <hp@redhat.com>
193
194        * src/metacity.schemas.in: change Windows+click back to Alt+click,
195        Windows+click just surprised everybody and didn't work half the
196        time. Maya users can configure it, and GTK DND can change its
197        default.
198
1992003-01-08  Havoc Pennington  <hp@pobox.com>
200       
201        * src/metacity.schemas.in: assign Alt+F12 to shade window,
202        per #102658
203
2042003-01-07  Havoc Pennington  <hp@pobox.com>
205
206        * src/screen.c (update_num_workspaces): fix off-by-one, patch from
207        readams@hmc.edu, #102806
208       
2092003-01-06  Arvind Samptur <arvind.samptur@wipro.com>
210
211        * src/window.c: (constrain_position) don't apply
212        offscreen height difference. This would get the
213        window under the panel on a resize or a move.
214        Fixes #102418
215
2162003-01-05  Havoc Pennington  <hp@pobox.com>
217
218        * src/screen.c (meta_screen_calc_workspace_layout): invert
219        vertical_workspaces cases (we want to go down each column if
220        it's vertical, and across each row if horizontal). Patch
221        from readams@hmc.edu
222
2232003-01-05  Pablo Saratxaga  <pablo@mandrakesoft.com>
224
225        * configure.in: Added Macedonian (mk) to ALL_LINGUAS
226
2272003-01-05  Havoc Pennington  <hp@pobox.com>
228
229        * src/frames.c (meta_frames_apply_shapes): put in the
230        HAVE_GTK_MULTIHEAD conditionals so we build with GTK 2.0
231
2322003-01-05  Havoc Pennington  <hp@pobox.com>
233
234        * src/window.c (meta_window_show): focus new windows even in
235        mouse focus mode, #89981, patch from readams@hmc.edu
236
2372003-01-05  Havoc Pennington  <hp@pobox.com>
238
239        * src/workspace.c (meta_workspace_get_neighbor): redo using new
240        calc_workspace_layout to fix #98302
241       
242        * src/util.c (topic_name): shorten default prefix
243
244        * src/screen.c (meta_screen_calc_workspace_layout): enhance this
245        to handle all the funky layouts and calculate more information
246        than before
247
2482003-01-05  Pauli Virtanen <pauli.virtanen@hut.fi>
249
250        * configure.in (ALL_LINGUAS): Added "fi" (Finnish).
251
2522003-01-05  Havoc Pennington  <hp@pobox.com>
253
254        * src/frames.c (meta_frames_apply_shapes): handle
255        the client having a shape mask, fixes #101806
256       
257        * src/core.c (meta_core_get_client_xwindow): new function
258
259        * src/frame.c, src/frame.h: keep a flag for whether we need to
260        update the frame shape
261       
262        * src/window.c (meta_window_new): select for ShapeNotify
263
264        * src/display.h, src/display.c: actually query the shape
265        extension, instead of just using it all over the place.
266
267        * src/prefs.c (update_application_based): don't let people turn on
268        application_based, as it just causes funky bugs. We can reenable
269        the pref when/if it ever does something useful.
270
2712003-01-03  Havoc Pennington  <hp@redhat.com>
272
273        * src/display.c: include the Xrandr header file
274
275        * src/window.c (meta_window_fill_horizontal)
276        (meta_window_fill_vertical): maximize to work area, not entire
277        screen. doh.
278
2792002-12-19  Ross Burton  <ross@burtonini.com>
280
281        * doc/metacity-theme.dtd: Fix a typo and loosen the requirements
282        for the resize element.
283
2842002-12-19  Havoc Pennington  <hp@pobox.com>
285
286        * Reverted visual bell patch, #99886
287
2882002-12-19  Yanko Kaneti <yaneti@declera.com>
289
290        * configure.in: (ALL_LINGUAS) Added Bulgarian (bg).
291
2922002-12-18  Havoc Pennington  <hp@redhat.com>
293
294        * src/window.c (meta_window_new): select ColormapChangeMask
295        on toplevel windows, maybe a partial fix for #101478
296
297Tue Dec 17 17:50:19 2002  HideToshi Tajima  <hidetoshi.tajima@sun.com>
298
299        * src/themes/AgingGorilla/metacity-theme-1.xml: added support for
300        border only windows. #100984.
301
3022002-12-17  Havoc Pennington  <hp@pobox.com>
303
304        * src/display.c (meta_display_begin_grab_op): don't use "(null)"
305        for null pointers, use "none", so I can distinguish
306        glibc-generated (null) which is a bug.
307        (key_event_description): ditto
308        (meta_display_begin_grab_op): ditto
309
310        * src/window.c (update_sm_hints): ditto
311
312        * src/keybindings.c (reload_modmap): ditto
313        (meta_display_process_key_event): ditto
314       
3152002-12-17  Havoc Pennington  <hp@pobox.com>
316
317        * src/metacity.schemas.in: s/focussed/focused/
318
3192002-12-17  Havoc Pennington  <hp@pobox.com>
320
321        * src/xprops.c (validate_or_free_results): add a comma to message #101401
322
3232002-12-16 Bill Haneman <bill.haneman@sun.com>
324   
325        * configure.in:
326        Check for XKB extension.
327
328        * src/Makefile.am:
329        Added bell.c and bell.h to metacity sources.
330
331        * src/common.h:
332        (MetaFrameFlags):
333        Added META_FRAME_IS_FLASHING flag.
334
335        * src/frame.h:
336        (MetaFrame): Added is_flashing field.
337       
338        * src/frame.c:
339        (meta_window_ensure_frame):
340        Initialize the is_flashing flag to FALSE.
341        (meta_frame_get_flags):
342        Handle the FRAME_IS_FLASHING flag.
343        (meta_window_destroy_frame):
344        Call meta_bell_notify_frame_destroy.
345       
346        * src/prefs.h:
347        (MetaPreference):
348        Added META_PREF_VISUAL_BELL, META_PREF_AUDIBLE_BELL,
349        META_PREF_VISUAL_BELL_TYPE.
350        (MetaVisualBellType): New enum.
351        (meta_prefs_get_visual_bell, meta_prefs_bell_is_audible):
352        (meta_prefs_get_visual_bell_type):
353        New accessor declarations.
354       
355        * src/prefs.c:
356        (#includes): Include "display.h", since we now call
357        meta_displays_list() in our update func.
358        (#defines):
359        Define KEY_VISUAL_BELL, KEY_AUDIBLE_BELL,
360        and KEY_VISUAL_BELL_TYPE.
361        (provide_visual_bell, bell_is_audible, visual_bell_type):
362        New static state variables.     
363        (update_visual_bell): New method to update visual-bell
364        boolean settings from keys "visual_bell" and "audible_bell".
365        (update_visual_bell_type):
366        New method to update visual-bell type setting.
367        (visual_bell_type_from_string) :
368        New method to convert from gconf string to visual-bell
369        type enum.  Only currently recognized values are "fullscreen"
370        and "frame_flash".
371        (change_notify):
372        Handle changes to visual and audible bell properties.
373        (meta_prefs_get_visual_bell, meta_prefs_bell_is_audible):
374        (meta_prefs_get_visual_bell_type):
375        New accessor definitions.
376        (meta_prefs_init): Added a second call to notify_add,
377        listens to "/desktop/gnome/interface" as well as "apps/metacity".
378        Also call the update funcs for the new visual-bell gconf keys.
379        (meta_preference_to_string):
380        Handle the visual/audible bell cases.
381
382        * src/bell.h:
383        (meta_bell_notify);
384        New method, calls a visual notifucation
385        method based on the visual-bell-type, or none if the type
386        is unrecognized or invalid.
387        (meta_bell_set_audible):
388        New public method for setting the audible bell setting,
389        used in updater for new gconf key "audible_bell".
390        (meta_bell_init):
391        Initialize the bell notification for a display.
392        (meta_bell_shutdown):
393        Shutdown the bell notification for a display.
394        (meta_bell_notify_frame_destroy):
395        Remove pending idle handlers on notification.
396
397        * src/bell.c:
398        Include "bell.h", and conditionally include <Xll/Xkblib.h>.
399        (meta_bell_set_audible):
400        If XKB is present, enable/disable the audible system
401        bell based on the gconf key /desktop/gnome/interface/audible_bell.
402        (meta_bell_init):
403        Query and initialize XKB if present, register for notification
404        on the bell, and set audible bell according to gconf settings.
405        (meta_bell_flash_screen):
406        Maps and unmaps a fullscreen X window (painted white, then
407        black), which causes a fullscreen 'flash' transient.   
408        (meta_bell_flash_window_frame):
409        Flashes the titlebar of a specified window.
410        (meta_bell_flash_frame):
411        Calls meta_bell_flash_window_frame on the window which
412        was the source of the current bell event, or the currently
413        focussed window if the event source cannot be determined.
414        (meta_bell_unflash_frame):
415        Restore the frame's appearance to normal.
416        (meta_bell_flash_fullscreen):
417        Call meta_bell_flash_fullscreen for all screens.
418        (meta_bell_shutdown):
419        New method.
420        (meta_bell_notify_frame_destroy):
421        Remove pending idle handlers on notification,
422        testing for frame->is_flashing first.
423       
424        * src/display.h:
425        (MetaDisplay): Added xkb_base_event_type field.
426       
427        * src/display.c:
428        Check for XKB and include "X11/XKBlib.h" if present.
429        (meta_display_open): Call meta_bell_init.
430        (event_callback): Call meta_bell_notify
431        when event comes from XKB and is XkbBellNotify
432        (prefs_changed_callback):
433        Handle META_PREF_AUDIBLE_BELL notification.
434
435        * src/screen.h:
436        (MetaScreen): Add flash_window field.
437       
438        * src/screen.c:
439        (meta_screen_new):
440        Initialize flash_window field.
441
442        * src/theme.c:
443        (theme_get_style):
444        New heuristic for focus-style, to invert sense of focus
445        flag when META_FRAME_IS_FLASHING flag is set.
446       
447        * src/metacity.schemas.in:
448        Added scheme information for
449        /apps/metacity/general/visual_bell,
450        /apps/metacity/general/audible_bell, and
451        /apps/metacity/general/visual_bell_type.
452       
4532002-12-16  Havoc Pennington  <hp@pobox.com>
454
455        * src/window-props.c (init_wm_name): argh, screwed that up. get
456        WM_NAME as VALUE_TEXT_PROPERTY #101383
457
4582002-12-16  Havoc Pennington  <hp@pobox.com>
459
460        * src/window-props.c: use META_PROP_VALUE_STRING_AS_UTF8 so
461        we convert old Latin-1 WM_NAME to UTF-8
462
463        * src/xprops.h (enum): add META_PROP_VALUE_STRING_AS_UTF8 to get a
464        latin1 string then convert.
465
4662002-12-15  Havoc Pennington  <hp@pobox.com>
467
468        * src/window.c (meta_window_new): get window name before anything
469        else.
470
471        * src/xprops.c (validate_or_free_results): instead of suggesting
472        how to get window title etc. with xprop, just print out the
473        window title. much better.
474
4752002-12-15  Havoc Pennington  <hp@pobox.com>
476
477        * src/xprops.c (validate_or_free_results): make the warning about
478        strange property contents blame the application and explain how to
479        use xprop to diagnose which app is causing the problem.
480
4812002-12-15  Havoc Pennington  <hp@pobox.com>
482
483        * src/prefs.c (meta_prefs_change_workspace_name): don't pass NULL
484        string to gconf_client_set_string #101237
485
4862002-12-13  Havoc Pennington  <hp@redhat.com>
487
488        * src/tools/Makefile.am (Desktop_in_files): only install .desktop
489        file for metacity-properties if we actually install
490        metacity-properties
491
492        * src/display.c (event_callback): not focusing on button 2 click
493        was crack, revert that change.
494
4952002-12-09  Havoc Pennington  <hp@pobox.com>
496
497        * AUTHORS: add myself here, bug #100789
498
499        * src/display.c (meta_display_set_grab_op_cursor): drop
500        PointerMotionHintMask
501
502        * src/window.c (meta_window_handle_mouse_grab_op_event): don't use
503        XQueryPointer, as we aren't using PointerMotionHint now
504
505        * src/display.c (event_callback): rearrange a bit of code
506        for slight speedup and clarity
507
508        * src/window.c (update_resize)
509        (meta_window_handle_mouse_grab_op_event): implement
510        usage of the _METACITY_UPDATE_COUNTER
511        (meta_window_handle_mouse_grab_op_event): fix code that
512        used event->xbutton with a motion event
513
514        * src/display.c (meta_display_open): add new atoms, and
515        initialize Xsync if we have it
516        (grab_op_is_resizing): new function
517        (meta_display_begin_grab_op): create an alarm monitoring
518        window's _METACITY_UPDATE_COUNTER
519        (meta_spew_event): conditionalize this on WITH_VERBOSE_MODE
520        and print alarm events.
521
522        * src/window.c (meta_window_new): fetch _METACITY_UPDATE_COUNTER
523
524        * configure.in (HAVE_XSYNC): check for Xsync extension
525
526Mon Dec  9 22:09:56 2002  Soeren Sandmann  <sandmann@daimi.au.dk>
527
528        * src/display.c, src/window.c: Handle crossing events during
529        resizing. (#93384).
530
5312002-12-09  Havoc Pennington  <hp@redhat.com>
532
533        * configure.in: 2.4.8
534
5352002-12-08  Havoc Pennington  <hp@pobox.com>
536
537        * README: updates
538
539        * src/window.c (MAX_RESIZES_PER_SECOND): change to 20 instead of
540        30, just as an experiment.
541        (MOVE_THRESHOLD): change 15 to 20
542        (RESIZE_THRESHOLD): change 15 to 20
543
544        * src/util.c (ensure_logfile): kill this function when verbose
545        mode is disabled.
546
5472002-12-08  Havoc Pennington  <hp@pobox.com>
548
549        * src/window.c (meta_window_fill_vertical)
550        (meta_window_fill_horizontal): new functions to resize to
551        fill screen
552
553        * src/keybindings.c: add vert, horiz maximize
554
555        * src/prefs.c: had vert, horiz maximize
556
557        * src/metacity.schemas.in: shorten some overlong short
558        descriptions that make the keybindings capplet look ugly.
559        Add maximize_vertically, maximize_horizontally keys.
560       
5612002-12-08  Havoc Pennington  <hp@pobox.com>
562
563        * src/prefs.c (meta_prefs_get_application_based): make this always
564        return FALSE for now, to avoid bug reports.
565
566        * src/util.c (ensure_logfile): put "opened log file" message on
567        stderr so it will normally land in ~/.xsession-errors
568
569        * configure.in: remove extra AC_ARG_PROGRAM
570
571        * src/display.c (event_callback): handle the toggle-verbose message
572
573        * src/tools/metacity-message.c: add a toggle-verbose message, been
574        meaning to do this for a while.
575
576        * src/util.c (meta_set_verbose): if verbose mode is enabled and we
577        don't support it, then exit.
578
579        * src/prefs.c: allow building without gconf (currently means some
580        prefs are no-ops)
581
582        * src/util.c, src/util.h: support defining macros to
583        kill all verbose output entirely. (Removes the code and strings
584        associated with it)
585
586        * configure.in: don't get METACITY_PROPS_LIBS if not building the
587        config dialog.
588        (HAVE_GCONF): allow building sans gconf, if you are size-sensitive
589        and not using gnome.
590        (WITH_VERBOSE_MODE): add ability to disable all the verbose debug
591        spew strings, to shrink the binary.
592        (--disable-sm): allow SM support to be forced on or off
593        (--disable-startup-notification): allow forcing this on or off
594
5952002-12-08  Havoc Pennington  <hp@pobox.com>
596
597        * src/prefs.c (update_workspace_name): also treat empty string as
598        "unset" in this function.
599
600Thu Dec  5 18:41:02 2002  HideToshi Tajima  <hidetoshi.tajima@sun.com>
601
602        * src/window.h (META_WINDOW_IN_NORMAL_TAB_CHAIN,
603        META_WINDOW_IN_DOCK_TAB_CHAIN) : never use a window with input =
604        FALSE take_focus = FALSE in the normal and dock tab chains. #90409
605
606Thu Dec  5 13:56:52 2002  HideToshi Tajima  <hidetoshi.tajima@sun.com>
607
608        * src/display.c (event_callback): move a window to the current
609        space on the MapRequest when it's not on the space yet. #100390
610
6112002-12-01  Havoc Pennington  <hp@pobox.com>
612
613        * src/frames.c (get_control): rearrange this function a bit, so
614        that we return CONTROL_TITLE for anything above the bottom of the
615        titlebar, in the fallback case where no other control was found.
616        Also, don't return RESIZE_N for title rect above the top resize
617        size, unless the window is resizable.
618        (meta_frames_button_press_event): only start a move when clicking
619        control TITLE, not control NONE. This way you don't start moving
620        a nonresizable window if you click its edges.
621
6222002-12-01  Havoc Pennington  <hp@pobox.com>
623
624        * src/tools/Makefile.am: conditionalize building the config dialog
625
626        * configure.in (BUILD_CONFIG_DIALOG): add --enable-config-dialog
627        option to turn on the "window focus" dialog. This is part of
628        deprecating this dialog.
629
6302002-11-30  Havoc Pennington  <hp@pobox.com>
631
632        * src/screen.c (STARTUP_TIMEOUT): lengthen to 15 seconds
633
634        * src/util.c (utf8_fputs): hmm, return a value
635
636        * src/screen.c (meta_screen_apply_startup_properties): new
637        function to apply initial workspace based on startup sequence.
638
639        * src/window.c (meta_window_new): load _NET_STARTUP_ID
640        (meta_window_get_startup_id): new function
641
642        * src/window-props.c (meta_display_init_window_prop_hooks): add
643        hooks for _NET_STARTUP_ID
644
645        * src/display.c (event_callback): send property events to
646        groups.
647
648        * src/xprops.c (meta_prop_get_values): make a type of INVALID
649        mean to ignore that property (don't fetch its value).
650
651        * src/group.c (meta_group_property_notify): new function
652
653        * src/screen.c (set_supported_hint): support _NET_STARTUP_ID
654
655        * src/display.c (meta_display_open): add _NET_STARTUP_ID to atoms
656        we initialize
657
658        * src/group-private.h: private header shared between
659        group-props.c, group.c
660
661        * src/group-props.h, src/group-props.c: new files to contain
662        functions for retrieving group properties
663
664        * src/window.c (meta_window_same_application): change this a bit
665        to work with new definition of group
666
667        * src/group.c (meta_window_get_group): always create a group for
668        every window, using the window's own ID as group leader if
669        required.
670
671        * src/window.c (update_wm_hints): handle changes to group leader
672
673        * src/group.c (meta_window_group_leader_changed): new function
674
675        * src/display.h (struct _MetaDisplay): _NET_WM_WINDOW_TYPE_SPLASH,
676        not SPLASHSCREEN. Reported by Gregory Merchan and Matthias Clasen.
677
678        * src/screen.c (startup_sequence_timeout): when timing out a
679        startup sequence, send a remove message, don't just time it out
680        locally.
681
6822002-11-26 Calum Benson  <calum.benson@sun.com>
683
684        * src/themes/Crux :
685       
686        Removed alpha layers from the pixmaps that don't need them.
687        Fixes #98389, results in 10-15% speedup on most machines.
688
6892002-11-26  Glynn Foster  <glynn.foster@sun.com>
690
691        * configure.in: 2.4.5
692
6932002-11-23  Dan Mills  <thunder@ximian.com>
694
695        * Makefile.am: remove theme-format.txt, it's now in doc/.
696
6972002-11-22  Havoc Pennington  <hp@pobox.com>
698
699        * src/window.c (meta_window_change_workspace): patch from
700        Hidetoshi Tajima to move a window's transients when moving
701        the window between workspaces. #98900
702
7032002-11-21  Havoc Pennington  <hp@pobox.com>
704
705        * src/display.c (meta_display_open): init ret_to to
706        RevertToPointerRoot out of sheer paranoia; don't want no
707        RevertToNone in my code!
708
7092002-11-21  Havoc Pennington  <hp@pobox.com>
710
711        * src/window.c (update_initial_workspace): delete
712        (meta_window_new): add getting initial workspace to the batch
713        property get call
714
715        * src/window-props.c (meta_display_init_window_prop_hooks): add
716        net_wm_desktop and win_workspace support
717
7182002-11-20  Havoc Pennington  <hp@pobox.com>
719
720        * src/window-props.c (set_icon_title): remove unused variable
721
722        * src/screen.c (meta_screen_new): read an existing
723        _NET_CURRENT_DESKTOP and restore it if set. Makes a restart even
724        less visible.
725
726        * src/workspace.c (set_active_space_hint): don't set the hint
727        during the process of unmanaging a screen
728
7292002-11-20  Havoc Pennington  <hp@pobox.com>
730
731        * configure.in: add doc/Makefile
732
733        * doc/metacity-theme.dtd: add DTD for themes from Ross Burton
734
735        * doc/Makefile.am: doc subdir
736
737        * doc/theme-format.txt: move to doc subdir
738
7392002-11-19  Havoc Pennington  <hp@pobox.com>
740
741        Should really fix #98303
742       
743        * src/prefs.c (meta_prefs_change_workspace_name): add
744        bad hack to treat empty string the same as null
745
746        * src/menu.c (get_workspace_name_with_accel): allocate one more
747        than the length of "name" so we have room for a nul byte (and
748        don't malloc(0) on empty strings). Also some formatting cleanups.
749
7502002-11-19  Havoc Pennington  <hp@pobox.com>
751
752        * src/window.c (meta_window_client_message): do a
753        recalc_window_features after setting new wm_state in order
754        to update skip_pager in addition to wm_state_skip_pager
755        (set_net_wm_state): base _NET_WM_STATE on skip_pager not
756        wm_state_skip_pager, ditto for skip_taskbar
757
7582002-11-19  Havoc Pennington  <hp@pobox.com>
759
760        Fix #98303 and assorted cleanup
761       
762        * src/prefs.c (meta_preference_to_string): handle
763        META_PREF_WORKSPACE_NAMES
764
765        * src/menu.c (get_workspace_name_with_accel): assert that the
766        workspace has a name
767
768        * src/screen.c (meta_screen_ensure_workspace_popup): assert that
769        we got a workspace name
770        (meta_screen_ensure_workspace_popup): assert that we got a
771        workspace name
772
773        * src/prefs.c (update_workspace_name): fix screwiness (strcmp with
774        a freed string, assorted bad logic)
775        (init_workspace_names): assert that we filled in a default
776        workspace name
777        (meta_prefs_get_workspace_name): assert non-NULL workspace name
778
7792002-11-16  Bill Haneman <bill.haneman@sun.com>
780
781        * src/themes/Atlanta/metacity-theme-1.xml:
782        Changed outer bevel and focus line color to
783        work better with inverse themes (no effect on
784        Default or other existing gtk+ themes).
785       
7862002-11-13  Havoc Pennington  <hp@pobox.com>
787
788        * src/ui.c (get_cmap): fix a multihead safety thing (use proper
789        system colormap for the drawable's screen)
790
791Thu Nov 14 17:30:10 2002  Jonathan Blandford  <jrb@gnome.org>
792
793        * src/Makefile.am (libmetacityinclude_HEADERS): include common.h.
794
7952002-11-12  Havoc Pennington  <hp@pobox.com>
796
797        * src/theme.c (draw_op_as_pixbuf): don't read from op->data.image
798        when the op is an icon
799
8002002-11-12  Havoc Pennington  <hp@redhat.com>
801
802        * src/stack.c (meta_stack_get_default_focus_window): never use a
803        window with input = FALSE take_focus = FALSE as the default focus
804        window #95454 fix from Hidetoshi Tajima
805
8062002-11-10  James M. Cape  <jcape@ignore-your.tv>
807
808        * src/themes/Esco/metacity-theme-1.xml: Major changes
809        to look of theme. I'd also recommend "minimize,maximize:close"
810        for the button_layout, it looks really slick :-).
811
8122002-11-08  Mark McLoughlin  <mark@skynet.ie>
813
814        * src/workspace.c:
815        (meta_motion_direction_to_string),
816        (meta_screen_corner_to_string): impl for nice debugging.
817        (meta_workspace_get_neighbor): fix broken logic and
818        cleanup debugging.
819
820Thu Nov  7 17:07:21 2002  Jonathan Blandford  <jrb@redhat.com>
821
822        * src/libmetacity-private.pc.in: add a pc file for
823        libmetacity-private
824
825        * src/Makefile.am: Install a few files as a shared library so that
826        others can draw metacity themes.
827
8282002-11-06  Havoc Pennington  <hp@pobox.com>
829
830        * src/keybindings.c (grab_keys): push an error trap around the
831        whole window-key-grab loop
832        (ungrab_all_keys): avoid requiring return value from the error
833        trap, unless in debugging mode
834        (regrab_window_bindings, regrab_screen_bindings): push traps
835        around the loops, for efficiency
836
837        * src/display.c (event_callback): fix from Padraig O'Briain to
838        compress extra MappingNotify events to avoid extra work.
839
8402002-11-05  Calum Benson  <calum.benson@sun.com>
841
842        * src/themes/Crux/active-restore-button.png:
843        * src/themes/Crux/inactive-restore-button.png:
844        * src/themes/Crux/metacity-theme-1.xml: add a restore button
845        for maximized windows, and un-hard-code titlebar text colors.
846        Fixes #97759.
847
8482002-11-05  Havoc Pennington  <hp@redhat.com>
849
850        * src/workspace.c (meta_workspace_get_neighbor): apply patch from
851        Nikos Mouat to fix this function
852
8532002-11-04  Havoc Pennington  <hp@pobox.com>
854
855        * src/theme.c (scale_and_alpha_pixbuf): fix bug I introduced in
856        case where scaling was done in both directions.
857
8582002-11-04  Havoc Pennington  <hp@pobox.com>
859
860        Patch from Brian Cameron to implement the vertical/horizontal
861        striped image accelerated scaling from the gtk pixbuf engine.
862       
863        * src/theme.c (scale_and_alpha_pixbuf): if an image is
864        vertical/horizontal stripes, use special extra-fast scaling
865        routines.
866
867        * src/theme-parser.c (parse_draw_op_element): when loading an
868        image, mark it as vertically/horizontally striped when appropriate
869
8702002-11-04 Erwann Chenede - <erwann.chenede@sun.com>
871       
872        * src/xprops.c (meta_prop_get_values): changed __FUNCTION__
873        to G_GNUC_FUNCTION as __FUNCTION__ is not portable.
874
8752002-11-03  Havoc Pennington  <hp@pobox.com>
876
877        * src/display.c (meta_display_grab): remove XSync calls from here
878        (meta_display_ungrab): remove XSync from here, but put in
879        an XFlush to be sure we get the ungrab sent.
880
881        * src/util.c (meta_topic): track sync count here
882
883        * src/errors.c: move sync count out of here
884
885        Throughout: error spew on all XSync() calls
886       
887        * src/run-metacity.sh: don't set METACITY_DEBUG
888
8892002-11-03  Havoc Pennington  <hp@pobox.com>
890
891        * src/window-props.c (meta_display_init_window_prop_hooks): add
892        _NET_WM_NAME, WM_NAME, _NET_WM_ICON_NAME, WM_ICON_NAME support
893
894        * src/window.c (meta_window_new): use window-props.h for
895        _NET_WM_NAME, WM_NAME, _NET_WM_ICON_NAME, WM_ICON_NAME
896
8972002-11-03  Havoc Pennington  <hp@pobox.com>
898
899        * src/window.c (meta_window_new): use window-props.h stuff for a
900        couple of properties
901        (implement_showing): fix printf string
902
903        * src/xprops.c (meta_prop_free_values): new function
904
905        * src/window-props.h, src/window-props.c: start moving code that
906        handles loading window properties into this file.
907
9082002-11-03  Havoc Pennington  <hp@pobox.com>
909
910        * src/stack.c (create_constraints): filter out windows that aren't
911        in the stack for whatever reason, avoids a crash
912
9132002-11-03  Havoc Pennington  <hp@pobox.com>
914
915        * src/window.c (meta_window_calc_showing): split into "see if we
916        should be showing" and "actually show/hide" functions
917        (idle_calc_showing): rework to first unmap all newly-hidden
918        windows from bottom to top then map all newly-showing windows from
919        top to bottom resulting in fewer exposes, #95220
920
9212002-11-03  Havoc Pennington  <hp@pobox.com>
922
923        * src/theme.c (meta_frame_layout_calc_geometry): fix from Garrett
924        LeSage for which button backgrounds we draw when
925
9262002-11-03  Havoc Pennington  <hp@pobox.com>
927
928        * src/workspace.c (meta_workspace_get_name): new function,
929        and remove workspace->name field, instead just get the
930        name from prefs each time
931
932        * src/screen.c (meta_screen_update_workspace_names): update the
933        gconf key to persist workspace names here, instead of changing
934        the names we use
935
936        * src/util.c (topic_name): add META_DEBUG_PREFS
937
938        * src/prefs.c: change NUM_COMMANDS to 32 to allow more custom
939        commands, implement workspace names
940
941        * src/metacity.schemas.in: add workspace_names/name_NN gconf keys.
942
9432002-11-01  Christian Neumair  <chris@gnome-de.org>
944
945        * configure.in: We want at least autoconf 2.5.
946
9472002-10-29  Havoc Pennington  <hp@pobox.com>
948
949        * configure.in: 2.4.3, why not
950
9512002-10-28  Havoc Pennington  <hp@redhat.com>
952
953        * src/window.c (update_size_hints): use meta_prop_get_size_hints
954
955        * src/xprops.c: add support for getting XSizeHints
956
9572002-10-28  Havoc Pennington  <hp@pobox.com>
958
959        * src/window.c, src/display.c: store the window menu on the
960        display and blow it away when a window closes, so we don't
961        get funny stuck menus. Patch from Martin Garton #87514
962
9632002-10-27  Anders Carlsson  <andersca@gnu.org>
964
965        * configure.in: Make XRandr detection work better.
966
9672002-10-27  Havoc Pennington  <hp@pobox.com>
968
969        * src/window.c (meta_window_free): move
970        meta_window_shutdown_group() much earlier in the destroy process.
971        May fix #96928 tracked down by Kjartan Maraas and Martin Garton.
972
973        * src/group.c (meta_window_get_group): never add window to a group
974        after we've started unmanaging the window
975
9762002-10-26  Havoc Pennington  <hp@pobox.com>
977
978        * src/iconcache.c: include config.h
979
980        * src/group.c: include config.h
981
982        * src/frame.c: include config.h
983
984        * src/core.c: include config.h so it doesn't crash all over the
985        place due to #ifdef HAVE_STARTUP_NOTIFICATION
986
987        * src/util.c (meta_print_backtrace): export from this file
988
989        * src/main.c (log_handler): print backtrace here
990
9912002-10-26  Havoc Pennington  <hp@pobox.com>
992
993        * src/wm-tester/main.c (evil_timeout): make windows randomly
994        transient for each other http://bugzilla.gnome.org/show_bug.cgi?id=96928
995
9962002-10-26  Havoc Pennington  <hp@pobox.com>
997
998        * src/xprops.c (meta_prop_get_text_property): new function
999        (meta_prop_get_wm_hints): new function
1000        (meta_prop_get_class_hint): new function
1001
10022002-10-26  Havoc Pennington  <hp@pobox.com>
1003
1004        * src/window.c (meta_window_new): use multi-value-get on a couple
1005        of properties for testing
1006
1007        * src/xprops.c (meta_prop_get_values): implement multi-value-get
1008
1009        * src/window.c (update_mwm_hints): XFree motif hints as we changed
1010        it to use Xmalloc
1011
1012        * src/xprops.c: massively rework this to set up a
1013        get-multiple-properties-at-once API.
1014
1015        * src/async-getprop.c (ag_Xmalloc): new function
1016
10172002-10-25  Havoc Pennington  <hp@pobox.com>
1018
1019        Add "busy cursor on app startup" support, conditionally - works
1020        only if libstartup-notification is found, and in practice requires
1021        a GTK patch that's not in yet.
1022       
1023        * src/screen.c: monitor startup events and set busy cursor if
1024        appropriate
1025
1026        * src/display.c (meta_display_open): create SnDisplay
1027
1028        * configure.in: check for startup notification,
1029        and add the cute "configure summary" at the end
1030
10312002-10-24  Havoc Pennington  <hp@redhat.com>
1032
1033        * src/theme.c (meta_frame_layout_calc_geometry): if only one
1034        right-corner button, use right_right_background not
1035        right_left_background
1036
10372002-10-24  Havoc Pennington  <hp@pobox.com>
1038
1039        * src/window.c (meta_window_get_icon_geometry): make public
1040
1041        * src/screen.c (meta_screen_ensure_tab_popup): put the alt+tab
1042        highlight-window indicator on the icon, not the window itself,
1043        if the window is minimized.
1044
10452002-10-24  Havoc Pennington  <hp@pobox.com>
1046
1047        * src/display.c (meta_display_get_tab_list): put minimized windows
1048        at the end of Alt+Tab, #89416
1049
10502002-10-23  Havoc Pennington  <hp@redhat.com>
1051
1052        * src/theme.c (meta_frame_layout_calc_geometry): initialize the
1053        left button background rectangles.
1054
10552002-10-21  Havoc Pennington  <hp@redhat.com>
1056
1057        Optimizations for managing new windows (do not all take effect if
1058        METACITY_DEBUG=1). Bug #96404
1059       
1060        * src/keybindings.c (meta_change_keygrab): use error trap nesting
1061        and conditionalize on meta_is_verbose() to avoid a ton of XSync
1062
1063        * src/display.c (meta_change_button_grab): ditto
1064       
1065        Throughout: move to new error trap setup to save on XSync calls,
1066        new setup is:
1067       
1068        * src/errors.c (meta_error_trap_push_with_return): new function,
1069        an error trap that needs to care about return value and thus
1070        sync even if an outer trap still exists
1071        (meta_error_trap_pop_with_return): new function
1072        (meta_error_trap_pop): add "last_request_was_roundtrip"
1073        argument allowing us to avoid XSync() if we just did
1074        a GetProperty or whatever.
1075
1076        * src/util.c (meta_warning): flush the warning file descriptor
1077       
1078        * src/Makefile.am (INCLUDES): define G_LOG_DOMAIN
1079       
10802002-10-20  Havoc Pennington  <hp@pobox.com>
1081
1082        * src/ui.c (meta_image_window_new): put multihead stuff in
1083        HAVE_GTK_MULTIHEAD, reported by John Palmieri
1084
10852002-10-20  Havoc Pennington  <hp@pobox.com>
1086
1087        * src/keybindings.c (handle_raise_or_lower): check above->mapped
1088        before deciding if it overlaps the window being raiselowered,
1089        fix from Stephane Chauveau
1090
10912002-10-19  Jeremy Katz  <katzj@redhat.com>
1092
1093        * configure.in: make Xrandr check less noisy
1094
10952002-10-18  Havoc Pennington  <hp@redhat.com>
1096
1097        * src/effects.c (meta_effects_draw_box_animation): call
1098        meta_image_window_new in multihead-safe way
1099
1100        * src/ui.c (meta_image_window_new): multihead safety
1101
11022002-10-18  Havoc Pennington  <hp@redhat.com>
1103
1104        * src/window.c (meta_window_refresh_resize_popup): only create the
1105        resize popup if width_inc or height_inc are > 1
1106
1107        * src/resizepopup.c: Clear out all the weird tickmark cruft,
1108        saves us about 2.5K of binary size, whee
1109        (meta_ui_resize_popup_new): take display/screen arguments and make
1110        multihead-safe #94349
1111       
11122002-10-18  Havoc Pennington  <hp@redhat.com>
1113
1114        * src/keybindings.c (do_choose_window): don't start the cycle
1115        process if the binding for switching windows has no modifier bits,
1116        just focus the window immediately.
1117
1118        * src/prefs.c, src/keybindings.c: add a keybinding to move between
1119        windows that goes in the opposite direction.  This is mostly
1120        useful if you want to bind unmodified keys to the switch windows
1121        functions, e.g. if you have "Forward" and "Back" keys on your
1122        keyboard. Patch from Shilad Sen <shilad sourcelight com>
1123
11242002-10-18  Havoc Pennington  <hp@redhat.com>
1125
1126        * src/prefs.c, src/frames.c: add "what happens when you double
1127        click the titlebar" setting, patch from Sean Middleditch bug
1128        #95625.  This is basically an "add Windows emulation mode" patch.
1129
11302002-10-18  Havoc Pennington  <hp@redhat.com>
1131
1132        * src/metacity.schemas.in: move window-click to Super+click not
1133        Alt+click by default. Super should be the Windows key on keyboards
1134        that have one and are so configured.  Prepare for the FAQ on this.
1135
11362002-10-18  Havoc Pennington  <hp@redhat.com>
1137
1138        * src/window.c (constrain_size): fix min aspect handling,
1139        patch from Martin Garton #94943
1140
11412002-10-18  Andras Timar  <timar@gnome.hu>
1142
1143        * configure.in: Added hu to ALL_LINGUAS.
1144
11452002-10-18  Havoc Pennington  <hp@pobox.com>
1146
1147        * src/stack.c (constrain_stacking): replace the old
1148        apply_constraints with wacky new approach involving graphing all
1149        the constraints then walking the graph.  Fixes #94876 and probably
1150        other stacking bugs as well, thanks to Arvind for tracking down
1151        the issue.
1152
1153        (compute_layer): add FIXME and reference to bug #96140
1154
11552002-10-17  Havoc Pennington  <hp@redhat.com>
1156
1157        * src/stack.c (apply_constraints): don't place
1158        transient-for-whole-group windows above _each other_, only
1159        above other windows in the group that aren't themselves
1160        transient-for-whole-group. Should help with part of #94876     
1161
11622002-10-17  Havoc Pennington  <hp@redhat.com>
1163
1164        * src/stack.c (apply_constraints): fix memory leak of
1165        group_windows, and don't use the variable name "tmp" twice. Shadow
1166        variables bad.
1167
11682002-10-17  Havoc Pennington  <hp@redhat.com>
1169
1170        * src/tools/metacity-window-demo.c (dialog_cb): add code to create
1171        big stacks of dialogs transient for each other, for testing.
1172
11732002-10-16  Havoc Pennington  <hp@redhat.com>
1174
1175        * src/workspace.c: workspaces are all per-screen now, fix
1176        accordingly
1177
1178        * src/core.c: fix multihead workspace stuff
1179
1180        * src/keybindings.c: multihead-rama
1181
1182        * src/screen.c (meta_screen_show_desktop): new functions to
1183        replace display equivalents
1184
1185        * src/display.c (meta_display_get_workspace_by_screen_index): get
1186        rid of this
1187        (meta_display_get_workspace_by_index): get rid of this
1188        (event_callback): handle _NET_SHOWING_DESKTOP message per-screen
1189
1190        * src/screen.c (meta_screen_get_workspace_by_index): new function
1191
1192        * src/screen.h (struct _MetaScreen): move workspace list, and
1193        showing_desktop flag, to be per-screen
1194
1195        * src/window.c (window_query_root_pointer): return whether pointer
1196        is on window's screen
1197        (meta_window_handle_mouse_grab_op_event): don't use coordinates
1198        from other screens when updating a window operation on the current
1199        screen. I can't believe no one has reported this...
1200
12012002-10-16  Havoc Pennington  <hp@pobox.com>
1202
1203        * src/window.c (meta_window_client_message): update window layer
1204        when above/below state is changed. Fixed by Ross Burton.
1205
12062002-10-14  Federico Mena Quintero  <federico@ximian.com>
1207
1208        * src/display.c (event_callback): Ignore EnterNotify events when
1209        the detail field is set to NotifyInferior.  Fixes #95747.
1210
12112002-10-12  Havoc Pennington  <hp@pobox.com>
1212
1213        * src/metacity.schemas.in: button layout key
1214
1215        * src/prefs.c: Add button layout gconf key
1216        (change_notify): use some "else if" instead of "if" where we
1217        should have been
1218
12192002-10-11  Havoc Pennington  <hp@redhat.com>
1220
1221        * src/display.c (event_callback): don't raise window on button 2
1222        click, only on button 1 and button 3.
1223
1224        * src/frames.c (meta_frames_button_press_event): lower on button 2
1225        press on frame
1226
1227        * src/core.c (meta_core_user_lower): new function
1228
12292002-10-11  Havoc Pennington  <hp@pobox.com>
1230
1231        * src/stack.c (window_is_fullscreen_size): make the checks here
1232        allow windows larger than the screen in addition to
1233        exactly-screen-size
1234
1235        * src/window.c (meta_window_configure_request): delete the "try to
1236        auto-enter-fullscreen-state" hack here, because it was broken, and
1237        the changes to the stacking code to move screen-size focused
1238        windows to the fullscreen layer should work better.
1239        (meta_window_new): remove auto-fullscreen hack from here too
1240
12412002-10-09  Havoc Pennington  <hp@pobox.com>
1242
1243        * src/stack.c (apply_constraints): also keep utility/menu/toolbar
1244        windows above their whole group.
1245
1246        (get_standalone_layer): don't use META_LAYER_FOCUSED_WINDOW, but
1247        only use META_LAYER_FULLSCREEN while the fullscreen window has
1248        focus.  Also, put screen-sized windows in the fullscreen layer,
1249        even if we didn't dare to actually put them in the fullscreen
1250        state.
1251
12522002-10-07  Havoc Pennington  <hp@redhat.com>
1253
1254        Add a modifier key preference for the Alt+click stuff.
1255        Can be set to "disabled" as well.
1256       
1257        * src/run-metacity.sh: load .Xmodmap in the Xnest if it exists
1258
1259        * src/display.c (meta_display_ungrab_window_buttons): ungrab
1260        AnyModifier in case the modifier changed since we grabbed
1261        (meta_display_open): rearrange code to use meta_display_close() to
1262        mop up when we can't find any screens, avoiding the need to
1263        keep the bail-out code in sync with meta_display_close.
1264
1265        * src/keybindings.c (devirtualize_modifiers): move this function
1266        to a public place in display.c
1267
1268        * src/metacity.schemas.in: add setting for the modifier key
1269        to use for Alt+left/middle/right click.
1270
1271        * src/prefs.c (update_binding): add a missing newline to a warning
1272        (meta_prefs_get_mouse_button_mods): new function       
1273
1274        * src/ui.c (meta_ui_parse_modifier): new function
1275
12762002-10-07  Havoc Pennington  <hp@pobox.com>
1277
1278        * src/async-getprop.c: don't include unportable Xproto.h, fix from
1279        Glynn Foster.
1280
12812002-10-06  Havoc Pennington  <hp@pobox.com>
1282
1283        * src/async-getprop.c: change to add only one _XAsyncHandler per
1284        display, speeding things up a bit.
1285
12862002-10-06  Havoc Pennington  <hp@pobox.com>
1287
1288        * src/async-getprop.c: Add wacky hack suggested by Keith Packard
1289        to get X properties asynchronously. Not actually used by metacity
1290        yet, but thinking about it.     
1291
12922002-10-04  Havoc Pennington  <hp@redhat.com>
1293
1294        * configure.in: actually link to RANDR_LIBS
1295
12962002-10-04  Havoc Pennington  <hp@redhat.com>
1297
1298        * src/display.c (event_callback): do XRRUpdateConfiguration()
1299        if we have RandR extension, else poke in Xlib's screen struct to
1300        update the screen size.
1301
1302        * configure.in: fix a bogus overwrite of cppflags,
1303        add a check for RandR extension
1304       
13052002-10-04  Arvind Samptur <arvind.samptur@wipro.com>
1306
1307        * src/window.c (meta_window_change_workspace): call
1308        meta_window_unstick before adding window to workspace.
1309        (menu_callback): call meta_workspace_activate before
1310        meta_window_change_workspace.  This would avoid us running an
1311        extra loop for determining the window workspace list.
1312
1313        Patches from Jeyasudha and Arvind. Fixes #92575
1314
13152002-10-03  Havoc Pennington  <hp@pobox.com>
1316
1317        * src/themes/Esco/metacity-theme-1.xml: only specify the
1318        middle backgrounds, let left/right fall back to middle
1319
1320        * src/theme.c (get_button): fall back to middle_background draw
1321        routines when missing the left/right button backgrounds.
1322        (button_rect): fix to handle drawing middle button backgrounds
1323        (meta_frame_style_draw): draw middle background once per middle
1324        button
1325
13262002-10-03  Havoc Pennington  <hp@pobox.com>
1327
1328        Button-reordering patch. Has all the code except actually
1329        installing a gconf schema and reading the gconf key in prefs.c.
1330        metacity-theme-viewer displays the button layouts for testing
1331        themes.
1332       
1333        * src/preview-widget.c (meta_preview_size_request): make up a
1334        width/height if no child widget
1335
1336        * src/prefs.c (meta_prefs_get_button_layout): new function
1337
1338        * src/frames.c: get the button layout from prefs and
1339        use it when drawing
1340
1341        * src/theme.c (meta_frame_layout_calc_geometry): enhance to be
1342        able to lay out buttons in different arrangements
1343        (button_rect): draw the new button background rectangles
1344        (meta_theme_draw_frame): require a button layout argument
1345        (meta_theme_calc_geometry): pass in the button layout
1346
1347        * src/preview-widget.h: mod to handle button layouts
1348
1349        * src/theme-viewer.c: mod to handle button layouts
1350       
13512002-10-03  Havoc Pennington  <hp@redhat.com>
1352
1353        * configure.in: 2.4.2
1354
13552002-10-03  Havoc Pennington  <hp@redhat.com>
1356
1357        * src/window.c (check_moveresize_frequency): handle the case where
1358        the clock is set backward
1359
13602002-10-01  Havoc Pennington  <hp@pobox.com>
1361
1362        * src/place.c (find_next_cascade): try extra cascades alongside
1363        the first, if the first fails; patch from readams@hmc.edu
1364
13652002-10-01  Havoc Pennington  <hp@pobox.com>
1366
1367        * src/stack.c (get_standalone_layer): put ABOVE windows in same
1368        layer as docks.
1369
13702002-10-01  Havoc Pennington  <hp@pobox.com>
1371
1372        * src/screen.c (meta_screen_resize_func): make it static
1373
1374        * src/stack.c (get_standalone_layer): put above/below windows
1375        in an appropriate layer.
1376
1377        * src/screen.c (set_supported_hint): say we support above/below
1378
1379        * src/display.h (struct _MetaDisplay): add _NET_WM_STATE_ABOVE,
1380        _NET_WM_STATE_BELOW atoms
1381
1382        * src/window.c (meta_window_client_message): handle above/below
1383        state messages
1384        (set_net_wm_state): handler above/below state
1385        (update_net_wm_state): handle above/below states
1386
13872002-10-01  Mark McLoughlin  <mark@skynet.ie>
1388
1389        * src/screen.c: (meta_screen_new): default to
1390        topleft starting corner.
1391        (meta_screen_update_workspace_layout): handle
1392        new property format : orient,x,y,starting corner.
1393        Fixes #89373.
1394
1395        * src/screen.h: add MetaScreenCorner enum.
1396
13972002-10-01  Havoc Pennington  <hp@pobox.com>
1398
1399        * src/window.c (constrain_position): always align fullscreen
1400        windows to top, as we do with maximized windows.
1401
14022002-10-01  Stanislav Brabec  <sbrabec@suse.cz>
1403
1404        * configure.in: Added cs to ALL_LINGUAS.
1405
14062002-09-30  Havoc Pennington  <hp@pobox.com>
1407
1408        * src/screen.c (reload_xinerama_infos): fix compilation on
1409        Solaris, patch from Satyajit Kanungo
1410
14112002-09-29  Havoc Pennington  <hp@pobox.com>
1412
1413        * src/eggaccelerators.c: update from libegg to get fix from Ralph
1414        Loader for <Super> <Hyper> <Meta> parsing, #93005
1415
14162002-09-29  Havoc Pennington  <hp@pobox.com>
1417
1418        * src/effects.h (META_MINIMIZE_ANIMATION_LENGTH): shorten minimize
1419        animation a bit
1420
14212002-09-28  Havoc Pennington  <hp@pobox.com>
1422
1423        Patch from Keith Packard to handle root window resizes.
1424       
1425        * src/screen.c (reload_xinerama_infos): factor out Xinerama code
1426        (meta_screen_resize): implement this, to be called from display.c
1427        on screen resize
1428
1429        * src/display.c (event_callback): handle ConfigureNotify on root
1430        windows
1431
14322002-09-28  Havoc Pennington  <hp@pobox.com>
1433
1434        * src/stack.c (get_standalone_layer): re-enable the FOCUSED_WINDOW
1435        layer, should now work correctly.
1436
14372002-09-28  Havoc Pennington  <hp@pobox.com>
1438
1439        * src/window.c, src/stack.c: Rewrite stack code to work a lot
1440        differently. Should be better now, and not lose relative positions
1441        of windows when moving among layers. Also should now be possible
1442        to get session management to restore the stacking order.  Probably
1443        breaks some stuff, and makes all the stack.c changes I made
1444        yesterday sort of irrelevant.
1445
14462002-09-27  Havoc Pennington  <hp@pobox.com>
1447
1448        * src/stack.c (get_standalone_layer): Temporarily disable use of
1449        the FOCUSED_WINDOW layer, because given the fact that moving
1450        multiple windows into the same layer changes the Z-order of those
1451        windows, it was breaking click-to-focus.
1452
14532002-09-27  Havoc Pennington  <hp@pobox.com>
1454
1455        * src/screen.c (meta_screen_focus_top_window): raise the focused
1456        window, since it may not be the window on top, given the below
1457        change.
1458
1459        * src/stack.c (meta_stack_get_default_focus_window): make this
1460        more complex to prefer to focus the transient parent, followed by
1461        other windows in group, followed by topmost non-dock, followed by
1462        dock. Previously was just topmost non-dock followed by dock
1463        ignoring groups and transiency.
1464
14652002-09-27  Havoc Pennington  <hp@pobox.com>
1466
1467        * src/place.c (constrain_placement): constrain placement to try to
1468        keep windows from going offscreen to the right/bottom
1469
1470        * src/stack.c (compute_layer): rearrange the logic here to say
1471        that a window must always be in at least as high a layer as any of
1472        its transient parents or group members, rather than special-casing
1473        fullscreen. Also, group_member_is_fullscreen was leaking the list
1474        of group members every time, a fairly major memory leak.
1475       
14762002-09-27  Havoc Pennington  <hp@redhat.com>
1477
1478        * src/themes/Makefile.am (THEMES): use AgingGorilla not Gorilla
1479        (renamed on the CVS server)
1480
14812002-09-27  Havoc Pennington  <hp@redhat.com>
1482
1483        Try to handle Solaris Xinerama, all coded blind, someone
1484        on Solaris will need to debug the typos.
1485       
1486        * src/display.c: updates for Solaris Xinerama
1487
1488        * src/screen.c: updates for Solaris Xinerama
1489
1490        * configure.in: make Xinerama check more complicated to catch
1491        Solaris Xinerama
1492
14932002-09-27  Havoc Pennington  <hp@redhat.com>
1494
1495        * src/window.c (update_transient_for): keep a flag
1496        transient_parent_is_root_window for whether the
1497        root-window-as-parent convention was used.
1498
14992002-09-25  Arvind Samptur <arvind.samptur@wipro.com>
1500
1501        * src/stack.c (sort_window_list): Keep dialogs without
1502        transient parent above entire app. Fixes #88926
1503 
15042002-09-26  Havoc Pennington  <hp@pobox.com>
1505
1506        * src/menu.c (meta_window_menu_new): use MetaAccelLabel to display
1507        accelerators for the menu items
1508
1509        * src/metaaccellabel.c: cut-and-paste GtkAccelLabel and port to
1510        use virtual modifiers
1511
1512        * src/Makefile.am (metacity_SOURCES): add metaaccellabel.[hc]
1513
1514        * src/prefs.c (meta_prefs_get_window_binding): new function
1515
1516        * src/core.c (meta_core_get_menu_accelerator): new function
1517       
15182002-09-25  Havoc Pennington  <hp@redhat.com>
1519
1520        * src/metacity.schemas.in: Change short desc of switch_windows and
1521        cycle_windows to be different
1522
15232002-09-24  Havoc Pennington  <hp@pobox.com>
1524
1525        * src/place.c (fit_rect_in_xinerama): update best_overlap as we go
1526        through the loop - doh. Fix from readams@hmc.edu for #90799.
1527        (find_first_fit): try the origin of each xinerama screen
1528        after the first. Also from readams@hmc.edu
1529
15302002-09-24  Havoc Pennington  <hp@redhat.com>
1531
1532        * src/window.c (meta_window_save_rect): new function,
1533        only saves rect after checking current state, #93795
1534        (meta_window_make_fullscreen): use new function
1535        (meta_window_maximize): use new function
1536
15372002-09-24  Havoc Pennington  <hp@redhat.com>
1538
1539        * src/window.c (meta_window_update_layer): new function
1540
1541        * src/stack.c (compute_layer): put focused window in a layer above
1542        all other windows, in click-to-focus mode. #93022
1543
1544        * src/window.c (meta_window_notify_focus): update window layer on
1545        focus change.
1546
15472002-09-24  Havoc Pennington  <hp@redhat.com>
1548
1549        * src/main.c (main): support --version, #92796 patch from
1550        Christian Neumair
1551
1552        * autogen.sh: change gettext test to be happy with
1553        glib-gettextize, #81425
1554
1555        * src/menu.c: change mnemonics to match bug #78999
1556
1557        * src/theme.c (meta_theme_validate): consolidate some
1558        nearly-identical themes for ease of translation, #70962
1559       
15602002-09-24  Arvind Samptur  <arvind.samptur@wipro.com>
1561
1562        * src/menu.c: Replace strings Shade with Roll Up and
1563        Unshade with Unroll.
1564
15652002-09-23  Havoc Pennington  <hp@pobox.com>
1566
1567        * src/main.c (main): re-enable the log handler, maybe it will
1568        break something, I don't remember why I turned it off.
1569
1570        * src/display.c: s/_NET_SHOW_DESKTOP/_NET_SHOWING_DESKTOP/ which
1571        is what's in the spec
1572
15732002-09-22  Havoc Pennington  <hp@pobox.com>
1574
1575        * src/window.c (recalc_window_features): small reordering of
1576        code
1577
1578        * src/display.c (meta_spew_event): more spew for MapNotify,
1579        UnmapNotify
1580
1581        * src/window.c (recalc_window_features): spew more stuff
1582
1583        * src/display.c (meta_spew_event): spew override_redirect field of
1584        ConfigureNotify
1585
15862002-09-20  Arvind Samptur <arvind.samputr@wipro.com>
1587        * src/metacity.schemas.in: added keybindings for
1588        moving windows between workspaces.
1589
1590        Patch from Jeyasudha. Fixes #91944.
1591
15922002-09-19  Arvind Samptur <arvind.samptur@wipro.com>
1593        * src/tools/metacity-properties.desktop.in :
1594        change in the tooltip suggested in ui-review.
1595       
15962002-09-18  Havoc Pennington  <hp@redhat.com>
1597
1598        * src/window.c (update_net_wm_state): handle fullscreen state
1599        here.
1600
16012002-09-15  Havoc Pennington  <hp@pobox.com>
1602
1603        * src/session.c (save_state): escape the window title before
1604        saving in the session file, reported by Jos Vos
1605
16062002-09-12  Havoc Pennington  <hp@redhat.com>
1607
1608        * src/workspace.c (meta_workspace_screen_index)
1609        (meta_workspace_index): fix compiler warnings
1610
1611        * src/tools/metacity-window-demo.c (menu_items): add a test for
1612        dialogs with no transient parent
1613
1614        * src/place.c (find_first_fit): Try placing window at origin of
1615        first Xinerama, even if there are no windows to place next to;
1616        makes placement work when no other windows are open on the screen.
1617       
16182002-09-09  Havoc Pennington  <hp@pobox.com>
1619
1620        * configure.in: 2.4.1
1621
16222002-09-09  Christian Neumair  <chris@gnome-de.org>
1623
1624        * src/keybindings.c: Make virtual desktops apply
1625        instantly and still show the pager popup by
1626        Benjamin Kahn <xkahn@zoned.net>, fixes #86590.
1627
16282002-09-06  Frederic Crozat  <fred@crozat.net>
1629
1630        * src/themes/Crux/metacity-theme-1.xml: Fix titlebar
1631        glitch on small dialogs.
1632
16332002-09-06  Arvind Samptur <arvind.samptur@wipro.com>
1634        * theme-format.txt : corrected some of the attributes
1635        which were not in sync with theme-parser.c
1636        Patch  from Jim Bowen. #92057.
1637
16382002-09-05  Havoc Pennington  <hp@pobox.com>
1639
1640        * configure.in: put ro back in ALL_LINGUAS
1641
16422002-09-05  Havoc Pennington  <hp@redhat.com>
1643
1644        * configure.in (ALL_LINGUAS): remove 'ro' from ALL_LINGUAS, it
1645        contained invalid XML and broke the build. No <> in the
1646        translations of gconf keys!
1647
16482002-09-04  Marius Andreiana <mandreiana@yahoo.com>
1649
1650        * configure.in: added 'ro' to ALL_LINGUAS
1651
16522002-09-03  Havoc Pennington  <hp@pobox.com>
1653
1654        * src/display.c (meta_display_get_tab_current): new function
1655
1656        * src/keybindings.c (do_choose_window): apply modified patch from
1657        JeyaSudha to still display tab popup if only one window is on the
1658        desktop.
1659
16602002-06-25 JeyaSudha <jeyasudha.duraipandy@wipro.com>
1661 
1662        * src/session.c, src/window.c: Session saves the unmaximized
1663        postion, size of a maximized window. #86059
1664 
16652002-09-03  Havoc Pennington  <hp@pobox.com>
1666
1667        * src/frames.c (meta_frames_update_prelit_control): don't filter
1668        out prelight for unmaximize button. #83860
1669        (meta_frames_paint_to_drawable): handle unmaximize here as well
1670
16712002-08-27  Havoc Pennington  <hp@pobox.com>
1672
1673        * src/theme.c (meta_frame_layout_calc_geometry): always apply
1674        rounding for shaded windows, fixes Bluecurve theme when shaded
1675
16762002-08-25  Havoc Pennington  <hp@pobox.com>
1677
1678        * src/window.c (meta_window_free): when freeing a fullscreen
1679        window, update layers of the window's group.
1680
16812002-08-25  Havoc Pennington  <hp@pobox.com>
1682
1683        * src/display.c (meta_display_open): _NET_SUPPORTING_WM_CHECK is
1684        supposed to have type WINDOW not CARDINAL. reported by
1685        Ben Jansens
1686
16872002-08-24  Havoc Pennington  <hp@redhat.com>
1688
1689        * src/window.c (process_property_notify): recalculate mapped-ness
1690        of frame after toggling decorations on/off, so that windows don't
1691        disappear when decorations are toggled on.
1692
1693        * src/tools/metacity-window-demo.c (toggle_decorated_cb): add a
1694        test for toggling decoration state on the fly
1695
16962002-08-24  Havoc Pennington  <hp@redhat.com>
1697
1698        * src/window.c (update_sm_hints): hack around bug in kmail etc.
1699        where SM_CLIENT_ID was set on the window, not the client leader.
1700
1701        * src/theme.c (meta_frame_layout_calc_geometry): don't round
1702        corners unless we have enough frame to chop off.
1703
17042002-08-24  Havoc Pennington  <hp@redhat.com>
1705
1706        * src/util.c: translate some strings that should have been, and
1707        convert to locale encoding before printing stuff.
1708
1709        * src/stack.c (group_member_is_fullscreen): if window itself is
1710        fullscreen, return TRUE immediately.
1711
1712        * src/window.c (meta_window_configure_request): add hack to
1713        fullscreenize large undecorated windows.
1714
17152002-08-21  Deepa Natarajan  <deepa.natarajan@wipro.com>
1716
1717        * src/keybindings.c, src/metacity.schemas.in, src/prefs.[ch]:
1718        add  maximize and unmaximize keybinding setting. Partly fixes
1719        bug# 78999.
1720
17212002-08-20  Steve Fox <drfickle@k-lug.org>
1722
1723        * metacity.spec.in: Add so that the spec file gets auto-updated
1724        whenever configure.in gets bumped. Include some missing
1725        directories.
1726
1727        * Makefile.am
1728        * configure.in: Necessary changes for spec file magic
1729       
17302002-08-20  Havoc Pennington  <hp@redhat.com>
1731
1732        * src/frames.c (get_control): if in the title rect check for y
1733        <= TOP_RESIZE_HEIGHT
1734
1735        * src/display.c (meta_spew_event): put x/y coordinates in spew for
1736        enter/leave notify
1737
1738        * src/frames.c (meta_frames_motion_notify_event): move cursor
1739        changing from here to update_prelit_control so it happens on enter
1740        notify as well
1741        (get_control): change test "y < TOP_RESIZE_HEIGHT" to
1742        "y <= TOP_RESIZE_HEIGHT"
1743
1744        * src/Makefile.am (EXTRA_DIST): include .in files in EXTRA_DIST
1745
17462002-08-17  Simos Xenitellis  <simos@hellug.gr>
1747
1748        * configure.in (ALL_LINGUAS): Added Greek (el).
1749
17502002-08-17  Evandro Fernandes Giovanini <evandrofg@ig.com.br>
1751
1752        * configure.in (ALL_LINGUAS): Added Brazilian Portuguese (pt_BR).
1753
17542002-08-15  Havoc Pennington  <hp@redhat.com>
1755
1756        * src/metacity.schemas.in: default to "Sans Bold 10" for the
1757        titlebar font.
1758
17592002-08-15  Havoc Pennington  <hp@pobox.com>
1760
1761        * src/window.c (recalc_window_features): leave has_fullscreen_func
1762        set to TRUE if the window is screen sized and undecorated, even if
1763        the window isn't resizable. idea from Christian - Manny Calavera -
1764        Neumair
1765
1766        * src/keybindings.c (handle_toggle_fullscreen)
1767        (handle_toggle_maximize): these disabled fullscreen/maximize if
1768        the window wasn't resizable, should have used has_fullscreen_func
1769        has_maximize_func instead.
1770
17712002-08-15  Havoc Pennington  <hp@pobox.com>
1772       
1773        * src/keybindings.c: implement raise/lower
1774
1775        * src/metacity.schemas.in: add raise/lower
1776
1777        * src/prefs.c: add "raise" and "lower" prefs to keybindings
1778
1779        * src/display.c (meta_display_set_grab_op_cursor): assert that
1780        the screen arg is non-NULL in appropriate cases
1781
17822002-08-14  Jayaraj Rajappan <jayaraj.rajappan@wipro.com>
1783
1784        * src/display.c (meta_display_set_grab_op_cursor):
1785        In XGrabPointer, set the confine_to argument to the root window
1786        of the screen the window is on.
1787
1788        * src/display.h: add screen argument.
1789
1790        * src/window.c (meta_window_update_resize_grab_op):
1791        pass screen argument as NULL.
1792
17932002-08-14  James M. Cape  <jcape@ignore-your.tv>
1794
1795        * src/themes/Esco/metacity-theme-1.xml: use button positioning
1796        theme stuff.
1797
17982002-08-14  Mark McLoughlin  <mark@skynet.ie>
1799
1800        * src/screen.c: (set_number_of_spaces_hint), move from
1801        workspace.c.
1802        (update_num_workspaces): set the hint here. Fixes #90123.
1803
1804        * src/workspace.c:
1805        (meta_workspace_new), (meta_workspace_free): don't set
1806        the hint here.
1807        (update_num_workspaces): move to screen.c
1808
18092002-08-12  Havoc Pennington  <hp@redhat.com>
1810
1811        * src/stack.c (compute_layer): window is in fullscreen layer if
1812        any member of its group is fullscreen
1813
1814        * src/window.c (meta_window_unmake_fullscreen): update layer for
1815        whole window group
1816        (meta_window_make_fullscreen): ditto
1817
1818        * src/util.c (meta_unsigned_long_hash): move hash/equal funcs for
1819        Window in here.
1820
1821        * src/group.c: track window groups so we can do stuff with them.
1822
18232002-08-11  Havoc Pennington  <hp@pobox.com>
1824
1825        * src/menu.c: don't include nonexistent stock-icons.h file
1826
18272002-08-10  Havoc Pennington  <hp@pobox.com>
1828
1829        * src/metacity.schemas.in: default keybindings for move, resize,
1830        maximize, etc. from Deepa #78999
1831
18322002-08-10  Havoc Pennington  <hp@pobox.com>
1833
1834        * src/window.c (meta_window_maximize): unshade window if shaded,
1835        from JeyaSudha
1836        (meta_window_make_fullscreen): ditto
1837
18382002-08-10  Havoc Pennington  <hp@pobox.com>
1839
1840        * src/menu.c: reorder the menu items so that Close is at the
1841        bottom
1842
1843        * src/theme-viewer.c (main): set debugging mode if METACITY_DEBUG
1844        enabled
1845
18462002-08-10  Havoc Pennington  <hp@pobox.com>
1847
1848        * src/xprops.c (meta_prop_get_motif_hints): allow Motif hints to
1849        be smaller than expected; GLUT for example seems to set a smaller
1850        struct. #89841
1851
1852        * src/window.c (update_mwm_hints): use g_free on motif hints as we
1853        don't use the XGetWindowProperty return directly anymore
1854
18552002-08-10  Havoc Pennington  <hp@pobox.com>
1856
1857        * src/window.c (meta_window_free): be sure window is
1858        mapped if we unmanage it and it's not withdrawn;
1859        bug #90369
1860
1861        * src/screen.c (meta_screen_new): change string
1862        s/override/replace/ bug #89077
1863
1864        * src/theme.c (scale_and_alpha_pixbuf): dump the
1865        sometimes-use-NEAREST-instead-of-BILINEAR optimization,
1866        bug #87489
1867
18682002-08-10  Havoc Pennington  <hp@pobox.com>
1869
1870        * src/window.c (menu_callback): raise window when moving to
1871        another workspace bug #88896
1872
1873        * src/keybindings.c (switch_to_workspace): raise window when
1874        moving between spaces
1875       
18762002-08-10  Jorn Baayen  <jorn@nl.linux.org>
1877
1878        Register window menu icons with the Gtk stock system, instead
1879        of using the ones from the Metacity theme (which looked very bad with
1880        some themes).
1881
1882        * src/Makefile.am:
1883        * src/main.c:
1884        * src/menu.c:
1885        * src/stock_delete.png: added these files
1886        * src/stock_minimize.png:
1887        * src/stock_maximize.png:
1888        * src/ui.c
1889       
18902002-08-10  Havoc Pennington  <hp@pobox.com>
1891
1892        * src/keybindings.c (meta_display_process_key_event): filter out
1893        key events that happen on popup menus etc.
1894
1895        * src/ui.c (meta_ui_window_is_widget): new function to check
1896        whether a window belongs to a GtkWidget such as the popup menu
1897
1898        * src/prefs.c (change_notify): put in a no-op line for AIX
1899        compiler, #84252       
1900
19012002-08-10  Havoc Pennington  <hp@pobox.com>
1902
1903        * src/window.c (update_resize): track time to avoid sending a
1904        deluge of move/resize requests, suggestion from
1905        xavier.bestel@free.fr bug #86830. Not really sure if this will
1906        make a difference or not. We'll see I guess.
1907        (update_move): do same on move though it seems less important
1908        here.
1909
1910        * src/display.h (struct _MetaDisplay): store the
1911        last time we sent a move/resize event.
1912
19132002-08-10  Havoc Pennington  <hp@pobox.com>
1914
1915        * src/window.c (meta_window_notify_focus): add a FIXME comment
1916        with a link to bug #90382
1917
19182002-08-09  Havoc Pennington  <hp@pobox.com>
1919
1920        * src/keybindings.c (handle_toggle_maximize): disable maximize,
1921        fullscreen, shade via keybindings on windows that don't support
1922        it.
1923
19242002-08-08  Craig Black  <blackc@speakeasy.net>
1925
1926        Patch to provide extra cues when using the window menu
1927        move and resize items, #85724.
1928
1929        * src/common.h: add new cursors
1930
1931        * src/display.c: (grab_op_is_mouse)
1932        (meta_display_create_x_cursor), (xcursor_for_op),
1933        (meta_display_set_grab_op_cursor),
1934        (meta_display_begin_grab_op):
1935        The keyboard move and resize grab ops now also use the mouse.
1936        Allow the grab cursor to be changed during the grab op.
1937        Hold onto the initial grab position in case of reset.
1938
1939        * src/display.h: save the initial grab position
1940
1941        * src/keybindings.c: (process_keyboard_move_grab),
1942        (process_keyboard_resize_grab), (handle_begin_move),
1943        (handle_begin_resize):
1944        The keyboard move and resize grab ops now also use the mouse.
1945
1946        * src/window.c: (meta_window_client_message), (menu_callback),
1947        (update_move), (update_resize),
1948        (meta_window_handle_mouse_grab_op_event), (warp_pointer),
1949        (meta_window_warp_pointer), (meta_window_begin_grab_op),
1950        (meta_window_update_resize_grab_op):
1951        When moving or resizing a window use the last grab position
1952        in computing change increment.
1953        Provide support for warping the mouse pointer.
1954
1955        * src/window.h: new warp pointer and grab op helper functions
1956
19572002-08-08  Craig Black  <blackc@speakeasy.net>
1958
1959        * src/display.h: update comment
1960        * src/window.c: (meta_window_focus): also set expected
1961        focus window when setting input focus.
1962
19632002-08-07  Craig Black  <blackc@speakeasy.net>
1964
1965        * src/display.c: (meta_display_unshow_desktop): focus
1966        top window after showing desktop, fixes #88080.
1967
19682002-08-07  Craig Black  <blackc@speakeasy.net>
1969
1970        * src/core.c: (meta_core_show_window_menu): focus window
1971        on right click for menu, #87299.
1972
19732002-08-07  Craig Black  <blackc@speakeasy.net>
1974
1975        * src/display.c: (meta_display_open): clear expected focus window
1976        on open
1977
1978        * src/display.h: add expected_focus_window field
1979
1980        * src/window.c: (meta_window_make_fullscreen),
1981        (meta_window_unmake_fullscreen): change meta_window_update_layer()
1982        to meta_stack_update_layer() so build works again.
1983        (meta_window_free), (meta_window_make_fullscreen),
1984        (meta_window_focus), (meta_window_notify_focus): keep track of
1985        expected focus window after sending WM_TAKE_FOCUS event,
1986        previously if a UnmapNotify event arrived before the FocusIn event
1987        we would lose focus, fixes #84564.
1988
19892002-08-07  Havoc Pennington  <hp@redhat.com>
1990
1991        * src/window.c (meta_window_unmake_fullscreen): update layer
1992        (meta_window_make_fullscreen): update layer
1993
1994        * src/stack.c (compute_layer): put window on fullscreen layer if
1995        fullscreen
1996
19972002-08-06  Craig Black  <blackc@speakeasy.net>
1998
1999        * src/window.c: (meta_window_client_message): implement
2000        _NET_WM_MOVERESIZE enhancements, see #90077.
2001
20022002-08-06  Havoc Pennington  <hp@redhat.com>
2003
2004        * configure.in: 2.4.0 (this version number has no special
2005        significance, just didn't want to go to 4-digit micro version ;-)
2006
20072002-07-28  Havoc Pennington  <hp@pobox.com>
2008
2009        * src/window.c (meta_window_shade): disable animation when shading
2010        windows, just doesn't really convey the idea anyway.
2011
2012        * src/effects.c: Move to using a shaped window instead of
2013        IncludeInferiors to do the animations, looks a lot better
2014        because we don't have to grab the server.
2015
2016        * src/window.c (meta_window_change_workspace): remove bogus
2017        assertion that was causing a crash
2018        (meta_window_new): auto-fullscreen huge undecorated windows.
2019
2020        * src/keybindings.c (switch_to_workspace): use
2021        meta_window_change_workspace() to avoid same bug in cut-and-paste
2022        code from there
2023       
20242002-08-06  He Qiangqiang  <carton@linux.net.cn>
2025
2026        * configure.in: Added "zh_CN" to ALL_LINGUAS.
2027
20282002-08-05  Ross Burton <ross@burtonini.com>
2029
2030        * src/window.c: (meta_window_client_message): Set
2031        ->wm_state_skip_pager (ditto for _taskbar) instead of ->skip_pager
2032        so that these hints actually work. Fixes #89850.
2033       
20342002-08-04  Havoc Pennington  <hp@redhat.com>
2035
2036        * src/frames.c (meta_frames_paint_to_drawable): init button
2037        states for the button backgrounds
2038
2039        * src/themes/Atlanta/metacity-theme-1.xml: adapt to work correctly
2040        with button repositioning
2041
20422002-08-04  Havoc Pennington  <hp@redhat.com>
2043
2044        * src/frames.c (meta_frames_button_press_event): raise/focus
2045        on click, even if the click was on the client area
2046        (this makes Alt+button1 raise windows again, yay)
2047
2048        * src/stack.c (compute_layer): put panels in the DOCK layer always
2049        (keep them on top of other windows). Still sloppy-focus raised
2050        with respect to other docks.
2051
2052        * configure.in: remove -Wshadow for now as GTK headers make all
2053        kinds of noise with it.
2054
20552002-08-02  Mark McLoughlin  <mark@skynet.ie>
2056
2057        * src/screen.c: (meta_screen_new): set active_workspace
2058        to NULL. Also actually activate the first workspace instead
2059        of just setting active_workspace. Fixes #87367.
2060        (meta_screen_ensure_workspace_popup): don't re-use our
2061        iterator for setting the entries list, stop iterating
2062        when we've gone beyond the last workspace (there may
2063        be empty spaces in the last row).
2064
2065        * src/workspace.c: (meta_workspace_activate): if no workspace
2066        was previously activated, return.
2067
20682002-08-04  Havoc Pennington  <hp@redhat.com>
2069
2070        * src/theme.c (free_menu_ops): use MetaMenuIconType not button
2071        type for the size of the menu ops array
2072        (meta_theme_define_int_constant): return TRUE on success (how the
2073        heck did this ever work?)
2074        (meta_theme_define_float_constant): return TRUE on success
2075        (meta_frame_style_validate): allow the "positional" buttons to
2076        be omitted for now.
2077
2078        * src/testgradient.c (render_multi): don't define N_COLORS twice
2079
2080        * src/theme-viewer.c (run_theme_benchmark): don't define
2081        ITERATIONS twice
2082
2083        * src/theme.c (button_rect): handle new button types
2084        (meta_button_type_to_string): update
2085        (meta_button_type_from_string): update
2086
2087        * src/theme.h (enum): add button types for the 6 possible button
2088        positions. No way to reposition buttons still but this will allow
2089        themes to go ahead and support doing so.
2090
20912002-08-03  Craig Black  <blackc@speakeasy.net>
2092
2093        * src/keybindings.c: (meta_display_process_key_event),
2094        (process_tab_grab), (do_choose_window): change alt+tab to a
2095        windowless grab, fixes #83499
2096
20972002-08-03  Craig Black  <blackc@speakeasy.net>
2098
2099        * src/display.c: (event_callback): Have ButtonPress and
2100        UnmapNotify events account for a null grab window, fixes #87896
2101
21022002-08-03  Gaute Lindkvist <lindkvis@linpro.no>
2103
2104        Corrected some issues with the Bright theme. Mainly
2105        making sure the text does not clip, as well as increasing
2106        the size of the menu icon.
2107       
21082002-08-01  Mark McLoughlin  <mark@skynet.ie>
2109
2110        Implements support for _NET_WM_ALLOWED_ACTIONS.
2111        Fixes #84282.
2112
2113        * src/display.[ch]: (meta_display_open): add
2114        _NET_WM_ALLOWED_ACTIONS atoms.
2115
2116        * src/screen.c: (set_supported_hint): set them
2117        as being supported.
2118
2119        * src/window.c:
2120        (set_allowed_actions_hint): impl setting
2121        _NET_WM_ALLOWED_ACTIONS.
2122        (recalc_window_features): use it here, but only
2123        if things have changed.
2124
21252002-08-01  Christophe Fergeau  <teuf@users.sourceforge.net>
2126
2127        * src/metacity-dialog.c: focus the "Close" button by default on
2128        the dialog which appears at exit when some apps can't be session
2129        managed
2130
21312002-08-01  Mark McLoughlin  <mark@skynet.ie>
2132
2133        * src/session.c:
2134        (save_yourself_possibly_done): send a SaveYourselfDone
2135        if we're skipping this global save.
2136        (save_yourself_callback): don't not save session state
2137        if the save style is Global. Fixes #89390.
2138
2139        * theme-format.txt: update.
2140
21412002-07-30  Pablo Saratxaga  <pablo@mandrakesoft.com>
2142
2143        * configure.in: Added Vietnamese (vi) to ALL_LINGUAS
2144
21452002-07-24  Havoc Pennington  <hp@pobox.com>
2146
2147        * src/themes/Makefile.am (THEMES): add Metabox theme from Garrett
2148
2149        * README: updates
2150
21512002-07-21  Havoc Pennington  <hp@pobox.com>
2152
2153        * src/window.c (meta_window_new): don't automaximize fullscreen
2154        windows.
2155
21562002-07-14  Havoc Pennington  <hp@pobox.com>
2157
2158        * src/window.c (recalc_window_features): don't allow shading of
2159        border-only windows.
2160
21612002-07-24  Havoc Pennington  <hp@redhat.com>
2162
2163        * src/theme-parser.c (meta_theme_load): look for themes in
2164        ~/.themes/NAME/metacity-1/ and datadir/themes/NAME/metacity-1
2165        instead of the old locations.
2166
2167        * src/themes/Makefile.am: install themes to
2168        datadir/themes/NAME/metacity-1/ to match how GTK works, breaking
2169        third-party themes yet again! woot!
2170
21712002-07-20  Havoc Pennington  <hp@pobox.com>
2172
2173        * src/display.c (meta_display_open): grab display across managing
2174        each screen; XGetInputFocus() on startup.
2175
21762002-07-19  Havoc Pennington  <hp@pobox.com>
2177
2178        * src/window.c (meta_window_configure_request): disable configure
2179        requests during a user move/resize operation, mostly a workaround
2180        for stoopid apps.
2181
21822002-07-24  jacob berkman  <jacob@ximian.com>
2183
2184        * configure.in: fix x11 header checks when x11 is not in the
2185        default include path
2186
21872002-07-23  Ross Burton  <ross@burtonini.com>
2188
2189        * src/menu.c (meta_window_menu_new): Use the real workspace names
2190        instead of making up numbers.
2191
21922002-07-23  Havoc Pennington  <hp@redhat.com>
2193
2194        * src/themes/Makefile.am (THEMES): put Gorilla back in the build
2195
2196        * src/themes/Gorilla/metacity-theme-1.xml,
2197        src/themes/Crux/metacity-theme-1.xml: fixes from
2198        Sebastien Delestaing so that these themes work properly with
2199        different font sizes.
2200
2201        * src/frames.c (get_control): patch from Balamurali Viswanathan
2202        for #81984 (resize titlebar from the top not the bottom)
2203
22042002-07-23  Havoc Pennington  <hp@redhat.com>
2205
2206        * src/keybindings.c (meta_display_process_key_event): handle
2207        NULL screen from screen_for_xwindow
2208
2209        * src/display.c (meta_display_screen_for_xwindow): put an error
2210        trap around the XGetWindowAttributes(), should fix the popular
2211        "closing a window results in a crash" bug.
2212
2213        * src/util.c (print_backtrace): support optional backtrace
2214        feature using gnu libc backtrace() call
2215
22162002-07-15  jacob berkman  <jacob@ximian.com>
2217
2218        * src/update-from-egg.sh: steal from profterm to fix build
2219
22202002-07-13  Havoc Pennington  <hp@pobox.com>
2221
2222        * src/workspace.c (meta_workspace_new): don't put a newline after
2223        the default workspace name
2224
22252002-07-13  Havoc Pennington  <hp@pobox.com>
2226
2227        * src/keybindings.c: adapt to virtual modifiers
2228        (meta_display_process_mapping_event): we need to reload the
2229        binding tables now when the modmap changes.
2230
2231        * src/prefs.c (update_binding): parse virtual modifiers, not
2232        plain modmask
2233
2234        * src/common.h (MetaVirtualModifer): new enum
2235
2236        * src/ui.c (meta_ui_parse_accelerator): use
2237        egg_accelerator_parse_virtual()
2238
2239        * src/Makefile.am: add eggaccelerators.[hc] for the virtual
2240        accelerator parsing function
2241
22422002-07-13  Christophe Fergeau <teuf@users.sourceforge.net>
2243
2244        * configure.in: added fr to ALL_LINGUAS
2245
22462002-07-12  Havoc Pennington  <hp@pobox.com>
2247
2248        * src/session.c (warn_about_lame_clients_and_finish_interact):
2249        don't display the dialog if all the apps were session managed.
2250
22512002-07-12  Havoc Pennington  <hp@pobox.com>
2252
2253        * src/session.c: don't send SmInteractDone until the warning
2254        dialog about crappy clients has been closed.
2255
22562002-07-12  Havoc Pennington  <hp@redhat.com>
2257
2258        * src/window.c (meta_window_new): try to maximize windows that
2259        are too big for the work area
2260
2261        * src/place.c (find_next_cascade): don't let the cascade algorithm
2262        place windows off the screen, and fix it to always exhaustively
2263        search the window list for cascade parents.
2264
22652002-07-11  Havoc Pennington  <hp@pobox.com>
2266
2267        * src/metacity-dialog.c (main): option to display error when a
2268        command fails to run.
2269
2270        * src/keybindings.c (handle_run_command): run commands
2271        in response to keybindings.
2272
2273        * src/prefs.c: add command keybinding stuff
2274
2275        * src/metacity.schemas.in: add keybindings for running commands,
2276        and keys to store the commands themselves.
2277
22782002-07-10  Havoc Pennington  <hp@redhat.com>
2279
2280        * src/display.c: properly attribute selection code to Matthias
2281        Clasen
2282
22832002-07-10  Havoc Pennington  <hp@pobox.com>
2284
2285        * README: couple of updates
2286
2287        * src/main.c (usage): add --replace to usage, reported by Matthias
2288        Clasen
2289
22902002-07-09  Havoc Pennington  <hp@pobox.com>
2291
2292        * src/metacity.schemas.in: fix short description for
2293        begin_resize, patch from Jayaraj, #87654
2294
2295        * src/keybindings.c (handle_begin_resize): apply patch from
2296        Jayaraj to actually handle the begin resize keybinding.
2297
22982002-07-09  Havoc Pennington  <hp@pobox.com>
2299
2300        * src/window.c (constrain_position): don't center vertically for
2301        maximized windows that don't fill the screen, just leave them at
2302        the top.
2303
23042002-07-06  Havoc Pennington  <hp@pobox.com>
2305
2306        * src/tabpopup.c (selectable_workspace_new): increase the size of
2307        the mini workspaces
2308
23092002-07-06  Havoc Pennington  <hp@pobox.com>
2310
2311        Apply blackc@speakeasy.net patch, bug #83940, to do
2312        mini-workspaces similar to the pager, when switching
2313        spaces.
2314
2315        * src/window.c (update_net_wm_state): actually fill in
2316        wm_state_skip_taskbar, wm_state_skip_pager flags
2317
2318        * src/tabpopup.c: support drawing a mini-workspace similar to the
2319        one the pager draws.
2320
2321        * src/stack.c (meta_stack_list_windows): new function to list
2322        the windows in stacking order
2323
2324        * src/screen.c (meta_screen_ensure_workspace_popup): don't pass in
2325        the ugly default app icon for workspaces
2326
2327        * src/display.c (event_callback): fix from blackc@speakeasy.net
2328        to avoid dereferencing a NULL grab window.
2329
23302002-07-06  Havoc Pennington  <hp@pobox.com>
2331
2332        * src/display.c (meta_display_open): put _NET_DESKTOP_NAMES in the
2333        array of atom names, so desktop names might work and we don't read
2334        uninitialized memory.
2335
2336        * src/main.c (main): add VERSION/timestamp verbose message.
2337
2338        * src/keybindings.c: implement cycle_windows cycle_panels
2339
2340        * src/metacity.schemas.in: add the cycle_windows cycle_panels
2341        keybindings
2342
2343        * src/prefs.h (META_KEYBINDING_FOCUS_PREVIOUS): replace
2344        FOCUS_PREVIOUS key binding with CYCLE_WINDOWS and CYCLE_PANELS
2345        (not good names really, but I don't have ideas).
2346
2347        * src/common.h: add a grab op for alt+esc window cycling
2348
23492002-07-05  Havoc Pennington  <hp@pobox.com>
2350
2351        * src/themes/Makefile.am (THEMES): Take Gorilla out until it gets
2352        repaired.
2353
23542002-07-05  Havoc Pennington  <hp@pobox.com>
2355
2356        * src/window.c (update_wm_hints): Change default value of input
2357        hint (if not specified) to true instead of false. This is what
2358        some clients assume, such as Visual SlickEdit.
2359
23602002-07-02  Havoc Pennington  <hp@pobox.com>
2361
2362        * src/window.c (meta_window_show_menu): use new macros to get
2363        whether we allow move/resize correct
2364
2365        * src/frame.c (meta_frame_get_flags): use new macros to get
2366        whether we can move/resize correct, considering
2367        maximized/fullscreen for the move case.
2368
2369        * src/window.h (META_WINDOW_ALLOWS_RESIZE,
2370        META_WINDOW_ALLOWS_MOVE): new macros
2371
2372        * src/keybindings.c (process_keyboard_resize_grab): finish the
2373        right/left resize, patch from Jayaraj #78179.
2374
2375        Has the same old move/resize bug, if it hits a constraint it
2376        starts to break because we move without resizing.
2377       
23782002-07-02  Mark McLoughlin  <mark@skynet.ie>
2379
2380        * src/keybindings.c:
2381        (grab_keyboard), (ungrab_keyboard): rename from
2382        {un}grab_all_keys_and_keyboard and only do an XKeyboardGrab,
2383        the XKeyGrab isn't neccessary.
2384        (meta_screen_grab_all_keys), (meta_screen_ungrab_all_keys),
2385        (meta_window_grab_all_keys), (meta_window_ungrab_all_keys):
2386        update for above change.
2387        (handle_workspace_switch): don't use a MetaWindow when
2388        workspace switching, use the root window instead.
2389
23902002-07-01  Mark McLoughlin  <mark@skynet.ie>
2391
2392        Fix broken workspace switching from my previous commit.
2393
2394        * src/display.c: (meta_display_begin_grab_op): don't
2395        leak a pointer grab if we fail to grab the keyboard.
2396
2397        * src/keybindings.c: (meta_screen_grab_keys): check
2398        screen->all_keys_grabbed.
2399        (meta_screen_grab_all_keys): regrab our standard
2400        bindings if we fail.
2401        (handle_workspace_switch): revert to our previous
2402        behaviour of using the last focused window to do
2403        the grab upon. Only use the RootWindow if there
2404        isn't anything else to use.
2405
2406        * src/screen.c: (meta_screen_new): initialise
2407        all_keys_grabbed.
2408
24092002-06-26  Mark McLoughlin  <mark@skynet.ie>
2410
2411        Fixes not being able to tab out of a
2412        workspace which contains no windows.
2413
2414        * src/core.c: (meta_core_begin_grab_op): upd
2415        for meta_display_begin_grab_op change.
2416        (meta_core_get_grab_frame): allow for
2417        grab_window == NULL.
2418
2419        * src/display.[ch]:
2420        (meta_display_screen_for_xwindow): implement.
2421        (meta_display_begin_grab_op): grab on the root window
2422        if window == NULL.
2423        (meta_display_end_grab_op): use grab_screen instead of
2424        grab_window.
2425
2426        * src/keybindings.c:
2427        (grab_all_keys_and_keyboard): split out from
2428        meta_window_grab_all_keys.
2429        (ungrab_all_keys_and_keyboard): split out from
2430        meta_window_ungrab_all_keys.
2431        (meta_screen_grab_all_keys), (meta_screen_ungrab_all_keys):
2432        implement grabbing and ungrabbing on the root window.
2433        (meta_display_process_key_event): if window == NULL,
2434        check the event is from the same screen and process. Only
2435        happens with workspace switching.
2436        (process_workspace_switch_grab): kill window param and
2437        don't use grab_window.
2438        (handle_tab_forward), (handle_begin_move): upd for
2439        meta_display_begin_grab_op change.
2440        (handle_workspace_switch): remove brokeness. Always do
2441        the grab op on the root window.
2442
2443        * src/keybindings.h: add meta_screen_{un}grab_all_keys.
2444
2445        * src/window.c: (meta_window_client_message), (menu_callback):
2446        update for meta_display_begin_grab_op change.
2447
24482002-06-25  Mark McLoughlin  <mark@skynet.ie>
2449
2450        * src/fixedtip.c: (meta_fixed_tip_show):
2451        * src/frames.c: (meta_frames_new):
2452        * src/tabpopup.c: (meta_ui_tab_popup_new):
2453        s/gdk_get_default_display/gdk_display_get_default/
2454        s/gdk_get_default_screen/gdk_screen_get_default/
2455
24562002-06-25  Mark McLoughlin  <mark@skynet.ie>
2457
2458        * src/themes/Crux/active-border-top-left-border.png:
2459        * src/themes/Crux/active-border-top-right-border.png:
2460        * src/themes/Crux/active-top-left-corner.png:
2461        * src/themes/Crux/active-top-mid-left-border.png:
2462        * src/themes/Crux/active-top-mid-right-border.png:
2463        * src/themes/Crux/active-top-right-corner.png:
2464        * src/themes/Crux/inactive-border-top-left-border.png:
2465        * src/themes/Crux/inactive-border-top-right-border.png:
2466        * src/themes/Crux/inactive-top-left-corner.png:
2467        * src/themes/Crux/inactive-top-mid-border.png:
2468        * src/themes/Crux/inactive-top-right-corner.png:
2469        * src/themes/Crux/metacity-theme-1.xml: added support
2470        for border only windows.
2471
24722002-06-24  James M. Cape  <jcape@ignore-your.tv>
2473
2474        * src/themes/Esco/metacity-theme-1.xml: Added some stuff to
2475        the window buttons, so they use the ACTIVE bg/fg.
2476
24772002-06-25  Mark McLoughlin  <mark@skynet.ie>
2478
2479        * src/display.[ch]: (meta_display_open):
2480          src/screen.c: (set_supported_hint), (set_work_area_hint):
2481        Its _NET_WORKAREA, not _NET_WM_WORKAREA silly :-)
2482
24832002-06-25  Mark McLoughlin  <mark@skynet.ie>
2484
2485        * src/screen.[ch]:
2486        (update_num_workspaces), recalc workarea hint when
2487        new workspaces created. Fixes bug that workarea
2488        not calculated until first non-dock window is
2489        mapped.
2490        (set_work_area_hint), (set_work_area_idle_func),
2491        (meta_screen_queue_workarea_recalc): move all this
2492        stuff from workspace.c.
2493
2494        * src/workspace.c: (meta_workspace_invalidate_work_area):
2495        use meta_screen_queue_workarea_recalc.
2496
24972002-06-23  Gediminas Paulauskas <menesis@delfi.lt>
2498
2499        * src/themes/Bright/metacity-theme-1.xml: Update with border-only
2500        window stuff from Atlanta.
2501
25022002-06-22  James M. Cape  <jcape@ignore-your.tv>
2503
2504        * src/themes/Esco/metacity-theme-1.xml: Update for "border"
2505        frame stuff, minor button/spacing improvements.
2506
25072002-06-22  Havoc Pennington  <hp@pobox.com>
2508
2509        Partially fix Jacob's SM bugs.
2510       
2511        * src/window.c (meta_window_apply_session_info): restore the extra
2512        stuff we're saving, except stack position I didn't figure out yet.
2513
2514        * src/session.c: save stack position, minimized, maximized,
2515        in the session file.
2516
25172002-06-22  Havoc Pennington  <hp@pobox.com>
2518
2519        * src/workspace.c (set_number_of_spaces_hint): do nothing if
2520        screen is being unmanaged, we don't want to blow away state,
2521        we want to remember it for the next window manager.
2522
25232002-06-22  Havoc Pennington  <hp@pobox.com>
2524
2525        * src/workspace.c (meta_screen_ensure_workspace_popup): rename
2526        from meta_workspace_ensure_tab_popup, and use workspace->name
2527        instead of a hardcoded name
2528
25292002-06-22  Havoc Pennington  <hp@pobox.com>
2530
2531        * src/xprops.c (meta_prop_get_utf8_list): new utility function
2532
2533        * src/display.c (meta_display_open): _NET_DESKTOP_NAMES atom
2534        (event_callback): update workspace names when the property changes
2535
2536        * src/screen.c (set_supported_hint): "support" _NET_DESKTOP_NAMES
2537        (nothing to do really)
2538
25392002-06-21  Havoc Pennington  <hp@pobox.com>
2540
2541        Theme breakage! Themes have to implement "border" frames
2542        now, see Atlanta for an example. Fixes #84285
2543       
2544        * src/tools/metacity-window-demo.c (do_appwindow): add a
2545        border-only window
2546
2547        * src/window.c (update_mwm_hints): read border only from the MWM
2548        hints
2549
2550        * src/window.h (struct _MetaWindow): add border_only flag
2551
2552        * src/core.c (meta_core_get_frame_type): report border type if
2553        required
2554
2555        * src/common.h (enum): add META_FRAME_TYPE_BORDER
2556
25572002-06-20  Mark McLoughlin  <mark@skynet.ie>
2558
2559        * src/window.c: (meta_window_visible_on_workspace): sticky
2560        windows aren't visibile on all screens. Check the workspace
2561        is on the same screen as the window.
2562       
2563        * src/workspace.c: (meta_workspace_list_windows): use
2564        meta_window_visible_on_workspace here.
2565
25662002-06-19  Havoc Pennington  <hp@pobox.com>
2567
2568        * src/display.c (meta_resize_gravity_from_grab_op): handle UNKNOWN
2569        keyboard resizing state
2570
2571        * src/keybindings.c (process_keyboard_resize_grab): implement
2572        keyboard resize key handling somewhat (only vertical resize works,
2573        left/right arrow not implemented, and visual feedback of the
2574        edge we're resizing isn't implemented)
2575
2576        * src/window.c (menu_callback): start keyboard resize grab when
2577        it's chosen from the menu
2578
25792002-06-17  Havoc Pennington  <hp@pobox.com>
2580
2581        * src/stack.c (meta_stack_get_default_focus_window): don't use a
2582        minimized window as the next focus window, patch from
2583        blackc@speakeasy.net
2584
25852002-06-17  Havoc Pennington  <hp@pobox.com>
2586
2587        * src/place.c (find_next_cascade): increase the cascade threshold
2588        a bit.
2589        (find_first_fit): implement a somewhat lame first fit algorithm
2590
25912002-06-17  Havoc Pennington  <hp@pobox.com>
2592
2593        * src/window.c (meta_window_change_workspace): fix from Gaute
2594        Lindkvist #82977 for unsticking windows
2595
25962002-06-17  Frederic Crozat  <fcrozat@mandrakesoft.com>
2597
2598        * src/metacity.schemas.in: associate close_window keybinding to
2599        Alt-F4
2600
26012002-06-16  Havoc Pennington  <hp@pobox.com>
2602
2603        * src/main.c (main): fix spelling error, #85452
2604
26052002-06-15  Havoc Pennington  <hp@pobox.com>
2606
2607        * src/keybindings.c (meta_display_process_key_event): don't pass a
2608        null string to printf
2609
2610        * src/display.c (key_event_description): don't pass a null string
2611        to printf
2612
2613        * src/keybindings.c (meta_set_keybindings_disabled): allow
2614        enable/disable keybindings regardless of debug mode.
2615
26162002-06-15  Havoc Pennington  <hp@pobox.com>
2617
2618        * src/draw-workspace.h, src/draw-workspace.c: workspace-drawing
2619        code factored out of libwnck, needs wiring up to tabpopup.c
2620        (which is kind of annoying since you have to get the list of
2621        workspaces and MetaWindow across the barrier between the GDK-aware
2622        and non-GDK-aware sides of metacity)
2623
26242002-06-14  Havoc Pennington  <hp@pobox.com>
2625
2626        * src/window.c (meta_window_show): always focus new windows,
2627        trying to be smart about it was a flop.
2628
26292002-06-14  Jayaraj Rajappan <jayaraj.rajappan@wipro.com>
2630
2631        * src/delete.c (io_from_ping_dialog): Check for NULL string
2632        before calling strlen(). Fixes the core dump issue reported in #84873.
2633
26342002-06-13  Anders Carlsson  <andersca@gnu.org>
2635
2636        * src/theme.c (meta_frame_layout_calc_geometry): Set client height
2637        as 0 when the window actually is shaded, not the other way around.
2638
26392002-06-12  Havoc Pennington  <hp@redhat.com>
2640
2641        * src/theme.c (meta_frame_layout_calc_geometry): when a window is
2642        shaded, don't include client height in the height calculation.
2643
2644        * src/workspace.c (meta_workspace_get_neighbor): apply fix from
2645        Mads Villadsen for the Up arrow key, #84582
2646
26472002-06-12  Havoc Pennington  <hp@redhat.com>
2648
2649        * src/theme.c (meta_frame_style_draw): Draw the buttons right
2650        before the "overlay" piece.
2651
26522002-06-12 Jayaraj Rajappan <jayaraj.rajappan@wipro.com>
2653
2654        * src/tools/metacity-properties.glade: accessibility work for
2655        metacity-properties capplet. Set appropriate atk relations.
2656        Fixes bug #84749
2657
26582002-06-11  Havoc Pennington  <hp@redhat.com>
2659
2660        * src/window.c (meta_window_show): allow dialogs to steal focus
2661        from panels/desktop
2662
26632002-06-10 Jayaraj Rajappan <jayaraj.rajappan@wipro.com>
2664
2665        * src/fixedtip.c: include <config.h> - fix for #83960
2666
26672002-06-10 Erwann Chenede - <erwann.chenede@sun.com>
2668
2669        * src/keybindings.c : (handle_close_window, handle_minimize_window)
2670        verify the active window has the appropriate close/minimize function
2671        before closing or minimizing the window.
2672                       
26732002-06-09  Havoc Pennington  <hp@pobox.com>
2674
2675        * configure.in: 2.3.987
2676
26772002-06-09  Havoc Pennington  <hp@pobox.com>
2678
2679        * src/delete.c (delete_ping_timeout_func): add G_IO_NVAL to watch
2680        condition, patch from Gustavo Giraldez, avoids another 100% CPU
2681        thingy
2682
26832002-06-09  Havoc Pennington  <hp@pobox.com>
2684
2685        * src/place.c (meta_window_place): don't run constrain_placement
2686        on windows we allow to go anywhere (docks, etc.). Fixes
2687        positioning of panel windows in certain cases.
2688
26892002-06-09  Havoc Pennington  <hp@pobox.com>
2690
2691        * src/frames.c (meta_frames_button_press_event): don't raise/focus
2692        the window if minimize/close are clicked, patch from Gaute
2693        Lindkvist #75460
2694
26952002-06-08  Havoc Pennington  <hp@pobox.com>
2696
2697        Cleanups to workspace popup patch. Space before all parens
2698        in a couple places.
2699       
2700        * src/prefs.c (meta_prefs_get_keybinding_action): fix brace
2701        indentation, and use while instead of for loop. Take a "mask"
2702        argument to avoid ambiguity issues.
2703
2704        * src/keybindings.c (handle_workspace_switch): rename from
2705        handle_workspace_forward since there's no directionality here   
2706        (handle_workspace_switch): add a FIXME about how screwed it is
2707        that we need a window in order to do our grab. Should be able to
2708        grab on a dummy window like no_focus_window or the root window.
2709        (process_workspace_switch_grab): rename from tab_grab for clarity,
2710        no tab involved here.
2711
2712        * src/common.h (enum): have only one grab op for all workspace
2713        switching directions, instead of one for each.
2714       
27152002-06-08  Havoc Pennington  <hp@pobox.com>
2716
2717        Apply big patch from blackc@speakeasy.net adding a popup window
2718        to the Ctrl+Alt+arrows shortcuts. #83940
2719
27202002-06-08  Havoc Pennington  <hp@pobox.com>
2721
2722        * src/screen.c (meta_screen_new): select key press/release on the
2723        display->no_focus_window, another attempted fix for not getting
2724        keybindings when no window is focused. Still doesn't seem to work
2725        though. I don't get what's going wrong.
2726        (meta_create_offscreen_window): new function, used instead of
2727        XCreateSimpleWindow so we get override redirect offscreen windows.
2728
27292002-06-08  Havoc Pennington  <hp@pobox.com>
2730
2731        * src/display.c (meta_display_open): set net_supporting_wm_check
2732        in addition to win_supporting_wm_check, patch from
2733        JeyaSudha for #83365
2734
2735        * src/screen.c (set_wm_check_hint): remove setting
2736        win_supporting_wm_check on leader window here, done already in
2737        display.c
2738
27392002-06-08  Havoc Pennington  <hp@pobox.com>
2740
2741        * src/keybindings.c (meta_window_ungrab_keys): set keys_grabbed to
2742        FALSE, patch from Jayaraj for #81857
2743
27442002-06-08  Havoc Pennington  <hp@pobox.com>
2745
2746        * src/xprops.c (meta_prop_get_utf8_string): don't die on bad atom
2747        name
2748
2749        * src/display.c (meta_display_close): don't unmanage windows here,
2750        do it in screen_free and then closing the display unmanages
2751        windows as a side effect of unmanaging the screen
2752        (meta_display_unmanage_screen): new function
2753        (process_selection_clear, process_selection_request): handle
2754        selection stuff
2755        (meta_spew_event): don't crash on client message containing
2756        invalid atom
2757        (meta_spew_event): don't crash on property notify with invalid
2758        atom
2759
2760        * src/main.c (main): add --replace option to replace existing
2761        window manager.
2762
2763        * src/screen.c: implement holding manager selection.
2764
2765        * src/display.c (meta_display_open): add new selection-related
2766        atoms.
2767
27682002-06-08  Havoc Pennington  <hp@pobox.com>
2769
2770        * src/screen.c (meta_screen_new): select keypress/keyrelease
2771        events on root window, this may fix the bug where keybindings
2772        didn't work if you didn't have a focused window.
2773
27742002-06-08  Havoc Pennington  <hp@pobox.com>
2775
2776        * src/main.c (main): call meta_session_shutdown when exiting
2777        cleanly
2778
2779        * src/session.c (meta_session_shutdown): function to change use to
2780        RestartIfRunning
2781        (meta_session_init): change normal restart hint to
2782        RestartImmediately
2783
27842002-06-08  Havoc Pennington  <hp@pobox.com>
2785
2786        Yeah I know maximization is broken, I'm too tired to fix it.
2787        Probably because of the change to update_struts() that was
2788        supposed to fix the 100% CPU bug.
2789       
2790        * src/place.c (meta_window_place): don't run docks and things
2791        through the placement algorithm. Thought it might fix
2792        metacity-window-demo but it didn't.
2793       
2794        * src/window.c (constrain_size): only get work area when needed
2795        (meta_window_new): init the do_not_cover field
2796
27972002-06-08  Havoc Pennington  <hp@pobox.com>
2798
2799        * src/screen.c (meta_screen_get_xinerama_for_window):
2800        short-circuit the "only one xinerama" case, and use outer rect of
2801        window instead of window->rect, so we get root window coords.
2802       
2803        * src/theme.c (meta_frame_layout_get_borders): if fullscreen all
2804        frame edges are zero-width.
2805
2806        * src/frame.c (meta_frame_get_flags): init fullscreen flag.
2807
2808        * src/common.h (enum): add META_FRAME_FULLSCREEN frame flag
2809
2810        * src/place.c: fix up calls to meta_window_get_work_area
2811
2812        * src/window.c (meta_window_get_work_area): add an arg for whether
2813        the work area is for the screen or the xinerama subscreen.
2814        (constrain_position): fix up calls to meta_window_get_work_area
2815        (constrain_size): ditto
2816
2817        * src/screen.c (meta_screen_new): add METACITY_DEBUG_XINERAMA
2818        environment variable which simulates xinerama on a single head.
2819
28202002-06-08  Havoc Pennington  <hp@pobox.com>
2821
2822        * src/window.c (update_struts): only invalidate things if the
2823        struts actually change, since the panel likes to set them over and
2824        over. May fix the infinite loop that caused 100% CPU usage.
2825
28262002-06-07  Havoc Pennington  <hp@redhat.com>
2827
2828        * src/screen.c (meta_screen_new): use XineramaIsActive() not
2829        XineramaQueryExtension()
2830
28312002-06-07  Havoc Pennington  <hp@redhat.com>
2832
2833        * src/screen.c (meta_screen_get_current_xinerama): don't return
2834        null on non-multihead
2835
28362002-06-06  Havoc Pennington  <hp@pobox.com>
2837
2838        * src/screen.c (meta_screen_get_current_xinerama): implement
2839
2840        * src/place.c (meta_window_place): cascade windows on the active
2841        Xinerama screen
2842
2843        * src/window.c (meta_window_move_resize_internal): strip out the
2844        #if 0 cruft about guessing fullscreen mode
2845        (constrain_position, constrain_size): fullscreen/maximize to the
2846        Xinerama head, not the whole screen
2847        (meta_window_get_work_area): autocreate struts at the Xinerama
2848        physical screen edges for the screen the window is on.
2849
2850        * src/screen.c (meta_screen_get_xinerama_for_window): someone
2851        snuck in a for loop, fix it. ;-)
2852
28532002-06-06  James M. Cape <jcape@ignore-your.tv>
2854
2855        * src/themes/Esco/metacity-theme-1.xml: Increase the border size
2856        of the buttons so they aren't quite so huge on my box. Also get
2857        a *little* closer to finally fixing the horizontal line behind
2858        the icon. It now works decently with common font sizes (in pixels).
2859
28602002-06-05  Havoc Pennington  <hp@pobox.com>
2861
2862        * src/theme.c (meta_color_spec_new_from_string): parse
2863        "shade/foo/factor" as a color
2864        (colorize_pixbuf): remove the unused hsv_to_rgb and vice-versa
2865        stuff, add the gtk_style_shade stuff.
2866        (meta_color_spec_render): render the shaded color spec
2867
2868        * src/theme.h (struct _MetaColorSpec): add "shade" mode to
2869        MetaColorSpec.
2870
28712002-06-04  Seth Nickell  <snickell@stanford.edu>
2872
2873        * src/metacity.desktop.in:
2874
2875        Add X-GnomeWMSettingsLibrary to desktop file to support new
2876        Window capplet.
2877
28782002-06-04  Havoc Pennington  <hp@redhat.com>
2879
2880        * src/window.c (update_wm_hints): fix for how we read the input
2881        hint, from Hidetoshi Tajima
2882
2883        (meta_window_show): from Hidetoshi, don't autofocus windows with
2884        input = FALSE wm_take_focus = FALSE when they first appear. We do
2885        allow these windows to be focused (so keynav works), but they
2886        don't get focused automatically. Now how do we keep them out of
2887        the task list?
2888
28892002-06-04  Gustavo Giráldez  <gustavo.giraldez@gmx.net>
2890
2891        * src/theme.c (draw_op_as_pixbuf): Use icon's instead of image's
2892        fill_type when type is META_DRAW_ICON.
2893
28942002-06-03  Havoc Pennington  <hp@pobox.com>
2895
2896        * src/window.c (meta_window_new): don't automatically fullscreen
2897        things opened fullscreen, because there's no GUI to un-fullscreen
2898        them.
2899
29002002-06-03  Havoc Pennington  <hp@pobox.com>
2901
2902        * src/theme-parser.c (parse_aspect_ratio): fix error message about
2903        bad aspect ratio name.
2904
29052002-06-03  Havoc Pennington  <hp@pobox.com>
2906
2907        * src/themes/Esco/metacity-theme-1.xml: test button aspect ratio
2908        instead of hardcoded button size, James feel free to revert if you
2909        don't like it this way.
2910
2911        * src/theme-parser.c: parse the aspect_ratio element for button
2912        aspect ratios.
2913
2914        * src/theme.h (struct _MetaFrameLayout): allow button sizes to be
2915        given as an aspect ratio derived from the titlebar height,
2916        instead of as a fixed size.
2917
2918        * src/theme.c (meta_frame_layout_validate): validate new button
2919        sizing parameters
2920
2921        * src/theme.c (meta_frame_layout_calc_geometry): use new button
2922        layout params
2923       
2924Mon Jun  3 15:12:11 2002  HideToshi Tajima  <hidetoshi.tajima@sun.com>
2925
2926        * configure.in (METACITY_LIBS): put -lXext into SHAPE_LIBS
2927
29282002-06-03  Kjartan Maraas  <kmaraas@gnome.org>
2929
2930        * src/tools/metacity-properties.desktop.in: Someone forgot to mark
2931        the two strings in here for translation :)
2932       
29332002-06-02  Havoc Pennington  <hp@pobox.com>
2934
2935        * configure.in: 2.3.610
2936
29372002-06-01  Havoc Pennington  <hp@pobox.com>
2938
2939        * src/frames.c (meta_frames_finalize): move the remove_listener
2940        to finalize instead of destroy, thanks to Jayaraj for tracking
2941        down the bug.
2942
29432002-06-01  Havoc Pennington  <hp@pobox.com>
2944
2945        * src/session.c: add some missing \n
2946        (meta_session_init): remove the #if 0 interact callback from our
2947        initial SmcOpenConnection call, this arg to SmcOpenConnection
2948        doesn't exist.
2949
29502002-06-01  Havoc Pennington  <hp@pobox.com>
2951
2952        * src/session.c: put in more debug spew about the session
2953
29542002-05-30  Havoc Pennington  <hp@pobox.com>
2955
2956        * src/Makefile.am (INCLUDES): use $(prefix)/@DATADIRNAME@/locale
2957        for localedir to work with Solaris native gettext, patch from
2958        Hidetoshi Tajima
2959
2960        * src/tools/Makefile.am: ditto
2961
29622002-05-31  Havoc Pennington  <hp@redhat.com>
2963
2964        * src/theme.c: add MetaImageFillType and implement TILE in
2965        addition to the existing SCALE
2966
2967        * src/theme.h (struct _MetaDrawOp): remove no-longer-used "alpha"
2968        field
2969
29702002-05-31  Havoc Pennington  <hp@redhat.com>
2971
2972        * src/theme.c (multiply_alpha): now just uses
2973        meta_gradient_add_alpha
2974        (draw_op_as_pixbuf): implement alpha gradients for tint, gradient,
2975        and image draw ops, so I can implement garrett's stuff.
2976
2977        * src/gradient.c (meta_gradient_add_alpha): new function to
2978        multiply the alpha channel of a pixbuf by an alpha gradient
2979
29802002-05-30  Havoc Pennington  <hp@redhat.com>
2981
2982        * src/main.c (main): verbose-log on startup whether we were
2983        compiled with various extensions
2984
2985        * src/display.c (meta_display_queue_retheme_all_windows): reapply
2986        shape mask when changing themes, sucks to do it here though, makes
2987        theme changing slower. Needs fixing.
2988
2989        * src/theme-parser.c (parse_toplevel_element): parse rounded
2990        corner options to frame_geometry
2991
2992        * src/frames.c (meta_frames_apply_shapes): apply rounded corners
2993        if requested by the theme
2994
2995        * configure.in (HAVE_SHAPE): check for shape extension
2996
29972002-05-30  Stephen Browne <stephen.browne@sun.com>
2998
2999        * src/tools/metacity-properties.c:
3000        Some day I'll make all my changes in one commit :)
3001        Needed to rip out code for adding icon to the dialog since it was
3002        removed from teh galde file in my previous change.
3003
30042002-05-30  Stephen Browne <stephen.browne@sun.com>
3005
3006        * src/tools/metacity-properties.glade:
3007        Some UI changes demanded by Pat and Calum.
3008        Make Close default response
3009        Change mnemonic for Click so as not to clash with Close
3010
30112002-05-30  Stephen Browne <stephen.browne@sun.com>
3012
3013        * src/tools/metacity-properties.glade: changed window title
3014        to match other control center dialogs
3015
30162002-05-29  Havoc Pennington  <hp@pobox.com>
3017
3018        * src/session.c (meta_session_init): improve error about failing
3019        to open session manager.
3020        (shutdown_cancelled_callback): send SmcSaveYourselfDone when we
3021        get cancelled
3022        (interact_callback): implement an interact callback that complains
3023        about lame clients that can't be saved. Still somewhat buggy
3024        in that it sends InteractDone before the user has closed the
3025        dialog.
3026
30272002-05-29  Havoc Pennington  <hp@redhat.com>
3028
3029        * src/tools/metacity-mag.c: add a magnifier I'm using when making
3030        themes. Not installed.
3031       
3032        * src/tools/metacity-properties.c: reindentation, show window, add
3033        copyright info.
3034
3035        * src/tools/metacity-properties.glade: make main window !visible
3036        on startup, to avoid funkiness.
3037
30382002-05-29  Jacob Berkman  <jacob@ximian.com>
3039
3040        * src/tools/Makefile.am (EXTRA_DIST): dist .desktop.in files
3041
30422002-05-29 Stephen Browne <stephen.browne@sun.com>
3043
3044        New simple metacity-properties dialog to configure focus mode
3045        and auto raise.
3046
3047        * configure.in: added build support for metacity-properties
3048        * src/tools/Makefile: more build stuff
3049        * src/tools/metacity-properties.c: added these files
3050        * src/tools/metacity-properties.glade:
3051        * src/tools/metacity-properties.desktop.in:
3052        * src/tools/metacity-properties.png:
3053
30542002-05-29  Havoc Pennington  <hp@pobox.com>
3055
3056        * src/window.c (meta_window_move_resize_internal): add code to
3057        also guess that client wants to come out of fullscreen, then
3058        #if 0 the whole deal, I'm not sure it's such a good idea.
3059
30602002-05-29  Havoc Pennington  <hp@pobox.com>
3061
3062        * src/window.c (meta_window_move_resize_internal): guess if a
3063        window meant to be fullscreen, and if so put it in that state.
3064
30652002-05-28  Havoc Pennington  <hp@pobox.com>
3066
3067        * src/window.c (redraw_icon): handle missing frame, prevents segv
3068        with undecorated windows. #83298
3069
30702002-05-28  Havoc Pennington  <hp@pobox.com>
3071
3072        Patch from Erwann Chenede for raise_or_lower keybinding
3073       
3074        * src/display.c, src/common.h: POINT_IN_RECT moved to a common
3075        location, removed from here
3076        (meta_rectangle_intersect): move here and make it public
3077
3078        * src/prefs.c: add raise_or_lower keybinding
3079       
3080        * src/stack.c (meta_stack_get_below, meta_stack_get_above): add an
3081        arg to only get windows within the same layer
3082
3083        * src/keybindings.c (handle_raise_or_lower): add handling for a
3084        "raise window if obscured, else lower" keybinding
3085
30862002-05-28  Havoc Pennington  <hp@pobox.com>
3087
3088        * src/window.c (meta_window_configure_request): handle CWStackMode
3089        in configure requests
3090        (meta_window_new): if a window is opened at 0,0 and screen size,
3091        put it in the fullscreen state.
3092        (meta_window_new): remove old code that set the window position to
3093        0,0 if PPosition/USPosition unset, that will be handled by whether
3094        we place the window or not.
3095
30962002-05-28  Abel Cheung  <maddog@linux.org.hk>
3097
3098        * configure.in: Added "zh_TW" to ALL_LINGUAS.
3099
31002002-05-27  Havoc Pennington  <hp@pobox.com>
3101
3102        * src/window.c (meta_window_new): search for the window's screen
3103        by root window instead of Screen*, maybe it will help with
3104        bug #82664
3105
31062002-05-27  Kjartan Maraas  <kmaraas@gnome.org>
3107
3108        * autogen.sh: Hook up intltoolize here.
3109        * configure.in: Initialize intltool.
3110        * src/metacity.schemas.in: Add this.
3111        * src/metacity.desktop.in: Add this too
3112        * src/Makefile.am: Hook up intltool support for .schemas and .desktop.
3113        * Makefile.am: Dist the intltool files.
3114                       
31152002-05-27  Anders Carlsson  <andersca@gnu.org>
3116
3117        * src/themes/Gorilla/metacity-theme-1.xml: Apparently someone
3118        thinks my name is Anders Carlsom. Well, it's not.
3119        (Thanks to Carl-Johan Kjellander for noticing.)
3120
31212002-05-26  James M. Cape  <jcape@ignore-your.tv>
3122
3123        * src/themes/Esco/metacity-theme-1.xml: Remove borders from
3124        Esco theme as well (didn't know you could), apparently fixed
3125        the problem where the spacing between the icon & the title
3126        got larger as the fontsize went up.
3127
31282002-05-26  Havoc Pennington  <hp@pobox.com>
3129
3130        * src/themes/Atlanta/metacity-theme-1.xml: totally drop the
3131        borders off of maximized windows.
3132
31332002-05-26  Havoc Pennington  <hp@pobox.com>
3134
3135        Patch from Gaute Lindkvist so you can't move the panel or desktop
3136        to only one workspace.
3137       
3138        * src/keybindings.c (handle_move_to_workspace): don't allow moving
3139        window to another space if the window is always_sticky
3140
3141        * src/window.c (recalc_window_features): set the always_sticky
3142        field for desktop/dock windows.
3143        (meta_window_show_menu): disable unsticking always sticky windows
3144        via the menus
3145
3146        * src/menu.c (meta_window_menu_new): disable workspace items
3147        if requested
3148
31492002-05-26  Matthias Warkus  <mawarkus@gnome.org>
3150
3151        * po/de.po: Added.
3152        * configure.in: de added to ALL_LINGUAS
3153
31542002-05-25 Erwann Chenede - <erwann.chenede@sun.com>
3155
3156        * src/keybindings.c (rebuild_screen_binding_table,
3157                             rebuild_window_binding_table,
3158                             meta_change_keygrab): allow key grabbing for
3159        unmodified keys (e.g F1, etc) fix #82630
3160       
31612002-05-25  Anders Carlsson  <andersca@gnu.org>
3162
3163        * src/place.c: (get_vertical_edges), (get_horizontal_edges):
3164        Take Xinerama screen edges into consideration.
3165       
3166        * src/screen.c: (meta_rectangle_intersect),
3167        (meta_screen_get_xinerama_for_window):
3168        * src/screen.h:
3169        Add a new function that returns the xinerama monitor that
3170        a window is on.
3171       
31722002-05-24  Havoc Pennington  <hp@pobox.com>
3173
3174        * src/window.c (menu_callback): follow windows to their new
3175        workspace
3176
3177        * src/keybindings.c (handle_move_to_workspace): follow windows to
3178        their new workspace
3179
31802002-05-24  Havoc Pennington  <hp@pobox.com>
3181
3182        * src/metacity.schemas: add minimize window binding
3183
3184        * src/keybindings.c (handle_minimize_window): add minimize keybinding
3185
31862002-05-24  Havoc Pennington  <hp@pobox.com>
3187
3188        * src/window.c (meta_window_show): change how focusing windows
3189        on initial map works, so that we only steal focus from our
3190        transient parent or from a panel/desktop, never from other
3191        normal windows.
3192
31932002-05-24  Havoc Pennington  <hp@pobox.com>
3194
3195        * src/window.c (meta_window_configure_request): modify to ignore
3196        PPosition and USPosition once the window has been placed
3197
31982002-05-24  Anders Carlsson  <andersca@gnu.org>
3199
3200        * src/window.c: Redraw the window frame when the icon changes.
3201        Fixes #78543, reported by Kang Jeong-Hee.
3202       
32032002-05-23  Havoc Pennington  <hp@pobox.com>
3204
3205        * src/display.c (event_callback): also filter out LeaveNotify
3206        with NotifyInferior
3207
32082002-05-23  Jayaraj Rajappan <jayaraj.rajappan@wipro.com>
3209
3210        * src/display.c (event_callback): fix for bugzilla bug #72314,
3211        filter out LeaveNotify caused by grabs when in mouse focus mode.
3212
32132002-05-23  Havoc Pennington  <hp@pobox.com>
3214
3215        * src/metacity.schemas: clean up the font preference
3216
3217        * src/prefs.c: font pref
3218
3219        * src/frames.c: pay attention to the font pref
3220       
32212002-05-23  Havoc Pennington  <hp@pobox.com>
3222
3223        Crack from Erwann
3224       
3225        * src/metacity.schemas: add autoraise crackrock
3226
3227        * src/display.c (event_callback): autoraise window if autoraise is
3228        enabled
3229
3230        * src/prefs.c: autoraise crack
3231       
32322002-05-21  Havoc Pennington  <hp@redhat.com>
3233
3234        * src/window.c (constrain_position): fix positioning in fullscreen
3235        mode, patch from Gustavo Giráldez
3236
32372002-05-20  Alessio Frusciante  <algol@firenze.linux.it>
3238
3239        * configure.in: Added Italian to ALL_LINGUAS.
3240
32412002-05-20  Pablo Saratxaga  <pablo@mandrakesoft.com>
3242
3243        * configure.in: Added Catalan (ca) and Azeri (az) to ALL_LINGUAS
3244
32452002-05-17  Havoc Pennington  <hp@redhat.com>
3246
3247        * configure.in: 2.3.377
3248
32492002-05-16  Havoc Pennington  <hp@pobox.com>
3250
3251        * src/workspace.c (meta_workspace_get_neighbor): fix it, maybe
3252
32532002-05-16  Havoc Pennington  <hp@redhat.com>
3254
3255        * src/window.c (constrain_position): lock desktop to position 0,0
3256
32572002-05-16  Havoc Pennington  <hp@redhat.com>
3258
3259        * src/window.c (meta_window_show): don't focus dock, desktop,
3260        etc. windows on initial map, only windows that should have focus.
3261
32622002-05-15  Havoc Pennington  <hp@pobox.com>
3263
3264        * src/workspace.c (meta_workspace_get_neighbor): use the layout
3265        information to figure out up/down neighbors
3266
3267        * src/display.c (event_callback): catch propertynotify on
3268        _NET_DESKTOP_LAYOUT
3269
3270        * src/screen.c (meta_screen_update_workspace_layout): keep track
3271        of the layout of workspaces as set by the pager
3272
32732002-05-15  James M. Cape  <jcape@ignore-your.tv>
3274
3275        * src/themes/Esco/metacity-theme-1.xml: Minor tweak to minimize
3276        button.
3277
32782002-05-14  Havoc Pennington  <hp@pobox.com>
3279
3280        * src/themes/Makefile.am (THEMES): add Esco theme from James Cape
3281
32822002-05-12  Havoc Pennington  <hp@pobox.com>
3283
3284        * src/place.c (meta_window_place): move pposition/usposition
3285        honoring code into here, instead of putting it in window.c.
3286        Makes focusing new windows work, and cleans things up a bit.
3287        #81585
3288
32892002-05-12  Havoc Pennington  <hp@pobox.com>
3290
3291        * src/main.c (main): turn on --g-fatal-warnings if
3292        METACITY_G_FATAL_WARNINGS env variable is set.
3293
32942002-05-11  Anders Carlsson  <andersca@gnu.org>
3295
3296        * src/display.c: (find_tab_forward), (find_tab_backward),
3297        (meta_display_get_tab_next):
3298        * src/display.h:
3299        * src/keybindings.c: (handle_tab_forward), (handle_focus_previous):
3300        Add screen argument to meta_display_get_tab_next, since we only
3301        want windows on the same screen to appear in the tab chain.
3302
3303        * src/screen.c: (meta_screen_new):
3304        Or the event mask with existing events since gtk+ may listen to
3305        certain events and we don't want to disable those events.
3306       
3307        (meta_screen_ensure_tab_popup):
3308        * src/tabpopup.c: (meta_ui_tab_popup_new):
3309        * src/tabpopup.h:
3310        Add a screen number argument to meta_ui_tab_popup_new so we
3311        can position the popup on the correct screen.
3312
33132002-05-11  Havoc Pennington  <hp@pobox.com>
3314
3315        * src/main.c: include locale.h, fix from Hidetoshi Tajima
3316
3317        * src/window.c (meta_window_new): disable show desktop mode when a
3318        new window is managed.
3319
33202002-05-11  Havoc Pennington  <hp@pobox.com>
3321
3322        * src/fixedtip.c (meta_fixed_tip_show): keep the tooltip
3323        on the screen horizontally, #76825
3324
3325        * src/window.c (meta_window_handle_mouse_grab_op_event): end grab
3326        op _after_ doing the final update of the move or resize.
3327        Hopefully I didn't have a reason for the order I was using before.
3328
33292002-05-10  Havoc Pennington  <hp@pobox.com>
3330
3331        * src/tools/metacity-window-demo.c: add override redirect test
3332        window
3333
3334        * src/stack.c (raise_window_relative_to_managed_windows): new
3335        function, used to avoid moving windows above override redirect
3336        popup windows.
3337       
3338        * src/display.c (event_callback): don't lower panels on
3339        LeaveNotify if they have focus, #70895
3340
33412002-05-10  Havoc Pennington  <hp@pobox.com>
3342
3343        * src/window.c (constrain_position): when maximizing/fullscreening
3344        something with a grid, like a terminal, center it in the
3345        maximization area in case it can't fill the whole area.
3346        #70554
3347
3348        * src/main.c (main): use g_strerror() to get proper UTF-8.
3349
33502002-05-10  Havoc Pennington  <hp@pobox.com>
3351
3352        * src/keybindings.c (reload_modmap): put LockMask into the
3353        ignored_modifier_mask so that caps lock doesn't mess up
3354        keybindings.
3355
33562002-05-10  Havoc Pennington  <hp@pobox.com>
3357
3358        * src/window.c (meta_window_focus): if window is not mapped after
3359        the calc_showing, don't focus it, it's probably on another
3360        workspace or something.
3361
33622002-05-09  Havoc Pennington  <hp@redhat.com>
3363
3364        * src/frames.c (show_tip_now): DefaultScreen() returns the screen
3365        number not Screen*
3366
3367        * src/frame.c (meta_frame_sync_to_window): immediately repaint
3368        frame whenever we resize it, if we're inside a grab operation.
3369
3370        * src/frames.c (meta_frames_repaint_frame): new function
3371
3372        * src/window.c (meta_window_new): initialize window's colormap
3373        (meta_window_notify_focus): install the colormap for a window when
3374        it gets focus, uninstall on unfocus.
3375
3376        * src/window.h (struct _MetaWindow): store window's colormap
3377
3378        * src/display.c (event_callback): note changes to window colormap
3379
3380        * src/frame.c (EVENT_MASK): add ColormapChangeMask
3381
33822002-05-09  Havoc Pennington  <hp@redhat.com>
3383
3384        * src/display.c (event_callback): make Alt+button2 do a resize
3385
33862002-05-08  Anders Carlsson  <andersca@gnu.org>
3387
3388        * src/fixedtip.c (meta_fixed_tip_show):
3389        #ifdef out call to gtk_window_set_screen, reported by
3390        Erwann Chenede.
3391       
33922002-05-08  Anders Carlsson  <andersca@gnu.org>
3393
3394        * configure.in:
3395        * src/display.c: (meta_display_open):
3396        * src/fixedtip.c: (meta_fixed_tip_show):
3397        * src/fixedtip.h:
3398        * src/frames.c: (meta_frames_new), (show_tip_now):
3399        * src/frames.h:
3400        * src/menu.c: (meta_window_menu_new):
3401        * src/ui.c: (meta_ui_new):
3402        Add multi-screen support. Also add patch by Erwann Chenede
3403        to make tooltips appear on the correct screen.
3404       
34052002-05-07  Anders Carlsson  <andersca@gnu.org>
3406
3407        * src/workspace.c (set_work_area_hint): Doh, only update
3408        the tmp pointer when the screen matches. Fixes a segfault
3409        when running with multiple screens.
3410
3411        * src/display.c: (meta_display_open), (event_callback),
3412        (meta_display_update_show_desktop_hint):
3413        * src/display.h:
3414        * src/screen.c: (set_supported_hint):
3415        Fix atom name; it's _NET_SHOW_DESKTOP, not
3416        _NET_WM_SHOW_DESKTOP.
3417       
3418        * src/frames.c: (meta_frames_unmanage_window):
3419        Restore the mouse cursor to default when unmanaging a window.
3420       
34212002-05-06  Anders Carlsson  <andersca@gnu.org>
3422
3423        * src/display.c: (set_utf8_string_hint):
3424        Fix an off-by-one error.
3425
3426        (meta_display_open),
3427        (event_callback), (meta_display_update_show_desktop_hint),
3428        (meta_display_show_desktop), (meta_display_unshow_desktop):
3429        * src/display.h:
3430        * src/screen.c: (set_supported_hint):
3431        Add support for _NET_WM_SHOW_DESKTOP, both as a message and
3432        as a root window property.
3433       
34342002-05-05  Havoc Pennington  <hp@pobox.com>
3435
3436        * src/window.c (meta_window_unminimize): on unminimize, queue
3437        calc_showing on all transients
3438        (meta_window_activate): on activate, unminimize all a window's
3439        ancestors, not just the window itself.
3440
3441        * src/workspace.c (set_work_area_hint): don't increment "tmp" by
3442        16 unsigned long, increment by 4
3443
3444        * src/window.c (meta_window_free): if a window isn't minimized,
3445        restore its WM_STATE to NormalState instead of IconicState,
3446        since IconicState on initial window map means that the window
3447        should be minimized.
3448
3449        * src/workspace.c (meta_workspace_invalidate_work_area): queue an
3450        idle to recompute the work area hint.
3451        (set_work_area_hint): we need 4*num_workspaces ints, not just
3452        num_workspaces.
3453
3454        * src/screen.c (meta_screen_new): add work_area_idle field,
3455        handle it on screen shutdown
3456
3457        * src/common.h (META_PRIORITY_PREFS_NOTIFY,
3458        META_PRIORITY_WORK_AREA_HINT): define some idle priorities
3459
3460        * src/window.c (meta_window_calc_showing): hide windows if
3461        their parent window is minimized
3462        (meta_window_minimize): also queue_calc_showing on all
3463        transients of the window being minimized
3464
3465        * src/place.c (constrain_placement): function to apply
3466        placement-time-only constraints, such as "not off the left of the
3467        screen"
3468        (meta_window_place): put dialogs down a bit over their parent,
3469        not right at the top.
3470        (meta_window_place): when centering a dialog, center it
3471        on the current xinerama screen, rather than the entire
3472        screen.
3473
3474        * src/screen.c (meta_screen_get_current_xinerama): new function,
3475        but not implemented
3476       
34772002-05-04  Havoc Pennington  <hp@pobox.com>
3478
3479        * src/frames.c (meta_frames_paint_to_drawable): chop out the
3480        portion of the region that's outside the screen.
3481
3482        * src/core.c (meta_core_get_screen_size): new function
3483        (meta_core_get_frame_extents): new function
3484
34852002-05-04  Havoc Pennington  <hp@pobox.com>
3486
3487        * src/frames.c (meta_frames_init): disable automatic GTK double
3488        buffering, since it resulted in gigantic backing pixmaps the size
3489        of the whole screen.
3490        (meta_frames_paint_to_drawable): change to take a region argument;
3491        punch the client area out of the expose region, then iterate over
3492        rectangles in the region and draw each, manually doing
3493        begin_paint_rect. Results in 4 long thin backing pixmaps
3494        per frame repaint, instead of one large backing pixmap.
3495        Suggested by Owen.
3496
34972002-05-05  Bastien Nocera  <hadess@hadess.net>
3498
3499        * src/workspace.c: (meta_workspace_get_neighbor):
3500        Wrap-around workspaces (ie. when on the last workspace,
3501        "switch_to_workspace_right" goes back to the
3502        first one)
3503
35042002-05-05  Anders Carlsson  <andersca@gnu.org>
3505
3506        * src/metacity.schemas: Fix a spelling error and change
3507        switch_to_workspace_up and switch_to_workspace_down to use
3508        Ctrl+Alt since Nautilus uses Alt now.
3509
35102002-05-04  Havoc Pennington  <hp@pobox.com>
3511
3512        * src/window.c (update_net_wm_type): correctly print things if the
3513        type_atom is unset
3514        (meta_window_new): with workarounds disabled, always allow
3515        self-placement for windows with PPosition or USPosition set.
3516
35172002-05-03  Havoc Pennington  <hp@redhat.com>
3518
3519        * src/Makefile.am: fix for automake 1.5, patch from Tomasz Kloczko
3520
35212002-05-03  Laszlo Peter  <laca@sun.com>
3522
3523        * configure.in: add the X libs to METACITY_MESSAGE_LIBS and
3524        METACITY_WINDOW_DEMO_LIBS
3525
35262002-05-02  Havoc Pennington  <hp@redhat.com>
3527
3528        * README: updates
3529
3530        * configure.in: 2.3.233
3531
35322002-05-02  Bastien Nocera  <hadess@hadess.net>
3533
3534        * src/metacity.schemas: change the default for switch_to_workspace_*
3535        to be <Control><Alt>arrow as just <Alt>arrow collides with some apps
3536        (especially web browsers)
3537
35382002-05-01  Havoc Pennington  <hp@redhat.com>
3539
3540        * src/screen.c (meta_screen_new): Xlib doesn't like NULL for out
3541        arguments; fix for #80472 from lbedford
3542
35432002-04-30  Havoc Pennington  <hp@pobox.com>
3544
3545        * src/keybindings.c: finish mopping up mode_switch_mask field
3546
3547        * src/display.h (struct _MetaDisplay): remove mode_switch_mask
3548        field
3549
35502002-04-30  Havoc Pennington  <hp@pobox.com>
3551
3552        * src/window.c (recalc_window_features): don't try to decorate
3553        toolbars.
3554
3555        * src/tools/metacity-window-demo.c: add menu and toolbar tests
3556
3557        * src/place.c (meta_window_place): only dialogs should be centered
3558        over parent, not anything with transient for set.
3559
3560        * src/window.c (meta_window_configure_request): become more
3561        fascist about window positioning if workarounds are disabled, and
3562        less fascist if they are enabled.
3563
3564        * src/metacity.schemas: add a "disable_workarounds" option.  Kind
3565        of crack-smoking. But we just can't get all applications
3566        fixed. And I need no-workarounds mode to monitor which apps are
3567        broken and what needs fixing in specs.
3568       
3569        * src/window.c (meta_window_configure_request): always allow
3570        windows to resize themselves
3571
3572        * src/keybindings.c (reload_modmap): don't filter out Mode_switch,
3573        apparently some people bind window manager shortcuts to that.
3574
35752002-04-30  Havoc Pennington  <hp@redhat.com>
3576
3577        * src/window.c (constrain_position): oops, fix
3578        maximization. Pointed out by Gustavo Giráldez
3579
3580Tue Apr 30 06:24:09 2002  Jonathan Blandford  <jrb@gnome.org>
3581
3582        * src/menu.c: give Maximize/Unmaximize and Shade/Unshade the same
3583        mnemonic for consistency's sake.
3584
35852002-04-29  Havoc Pennington  <hp@redhat.com>
3586
3587        * src/window.c (TITLEBAR_LENGTH_ONSCREEN): require 36 pixels
3588        onscreen so you typically get a sliver of titlebar, suggested by
3589        tigert.  Should still fix this to consider actual theme geometry.
3590        (constrain_position): change to allow movement off the left
3591
35922002-04-29  Havoc Pennington  <hp@redhat.com>
3593
3594        * src/display.c (event_callback): always raise windows on focus
3595        click, regardless of focus mode.
3596
35972002-04-29  Havoc Pennington  <hp@redhat.com>
3598
3599        * configure.in: 2.3.144
3600
36012002-04-29  Havoc Pennington  <hp@pobox.com>
3602
3603        * src/ui.c (meta_ui_init): don't leak the PangoContext
3604
36052002-04-28  Anders Carlsson  <andersca@gnu.org>
3606
3607        * src/display.c: (meta_display_open):
3608        * src/display.h:
3609        * src/screen.c: (set_supported_hint):
3610        * src/workspace.c: (set_number_of_spaces_hint),
3611        (set_workarea_hint):
3612        Add support for setting the _NET_WM_WORKAREA hint. No code
3613        does it yet though.
3614       
36152002-04-28  Havoc Pennington  <hp@pobox.com>
3616
3617        * README: remove caveats about keybindings
3618
3619        * src/metacity.schemas: add schemas for all the keybindings.
3620       
3621        * src/window.c (meta_window_activate): if in "show desktop" mode
3622        when a window is activated, leave show desktop mode. So e.g.
3623        when you click on a task in the task list, show desktop mode
3624        will be turned off.
3625
3626        * src/workspace.c (meta_workspace_get_neighbor): new function
3627        that doesn't quite work yet (needs support for getting
3628        workspace layout from the pager)
3629
3630        * src/prefs.c: keybindings stuff
3631
3632        * src/keybindings.c: make keybindings configurable
3633
3634        * src/ui.c (meta_ui_parse_accelerator): new function
3635
36362002-04-25  Havoc Pennington  <hp@redhat.com>
3637
3638        * metacity.spec: fix to install gconf schemas
3639
36402002-04-25  jacob berkman  <jacob@ximian.com>
3641
3642        * src/session.c (load_state): g_file_get_contents() takes a gsize
3643        not int (fixes bus error on 64-bit platforms)
3644
36452002-04-22  Havoc Pennington  <hp@redhat.com>
3646
3647        * src/main.c (main): call setlocale ourselves because due to a
3648        GLib bug that sticks us in ASCII if you call g_print or anything
3649        prior to setlocale, and print a warning if we don't set the locale
3650        successfully. #79280
3651
3652        * src/workspace.c (meta_workspace_get_work_area): be more verbose
3653        about how the work area was computed, to help find bugs here.
3654
3655        * src/main.c (main): put locale and codeset in the log file
3656
36572002-04-21  Havoc Pennington  <hp@pobox.com>
3658
3659        * src/window.c (meta_window_send_icccm_message): add error trap,
3660        fixes a possible BadWindow if a window closed itself in response
3661        to the delete window message prior to us sending the ping message.
3662
36632002-04-21  Havoc Pennington  <hp@pobox.com>
3664
3665        * src/window.c (meta_window_move_resize_now): never revert to
3666        user_rect.width, user_rect.height. Maybe fixes assorted resize
3667        screwups e.g. with gnome-terminal.
3668
36692002-04-21  Anders Carlsson  <andersca@gnu.org>
3670
3671        * src/iconcache.c (scaled_from_pixdata): Add padding if
3672        icon width and height differ.
3673
36742002-04-17  Havoc Pennington  <hp@pobox.com>
3675
3676        * src/screen.c (meta_screen_new): query Xinerama screen
3677        information if HAVE_XINERAMA
3678
3679        * configure.in (found_xinerama): check for Xinerama
3680
36812002-04-17  Changwoo Ryu  <cwryu@debian.org>
3682
3683        * configure.in (ALL_LINGUAS): Added ko (Korean).
3684
36852002-04-16  Akira TAGOH  <tagoh@gnome.gr.jp>
3686
3687        * configure.in (ALL_LINGUAS): add ja.po entry.
3688
36892002-04-15  Havoc Pennington  <hp@pobox.com>
3690
3691        * src/window.c (update_title): fix issue with GNU libc
3692        mangling %.10s format
3693
3694        * metacity.spec: Fix up spec file
3695
3696        * README: update README
3697
3698        * configure.in (ALL_LINGUAS): require GTK 2.0.0
3699
37002002-04-15  Havoc Pennington  <hp@redhat.com>
3701
3702        * src/display.c (meta_display_ping_window): reply immediately for
3703        windows that don't support _NET_WM_PING
3704
3705        * src/window.c (update_protocols): check whether windows
3706        support _NET_WM_PING
3707
37082002-04-13  Havoc Pennington  <hp@pobox.com>
3709
3710        * src/ui.c (get_cmap): same fix as libwnck, avoid using cmap
3711        with the wrong depth
3712
37132002-04-13  Havoc Pennington  <hp@pobox.com>
3714
3715        * src/delete.c: new file containing all the
3716        wacky mess I just added to a simple "click the close button",
3717        contains all the dealing-with-dead-application cruft.
3718        Use metacity-window-demo to test by clicking the
3719        toolbar button that locks it up.
3720
37212002-04-12  Havoc Pennington  <hp@redhat.com>
3722
3723        * src/tools/metacity-window-demo.c (do_appwindow): make one of the
3724        toolbar buttons lock up the demo
3725
3726        * src/window.c (meta_window_delete): move error trap to be around
3727        a narrower part of the function, and add part of the ping stuff,
3728        nothing user-visible yet
3729
3730        * src/metacity-dialog.c (main): metacity-dialog executable to
3731        live in libexecdir and pop up dialogs for us.
3732
37332002-04-09  Havoc Pennington  <hp@pobox.com>
3734
3735        * src/theme.c (multiply_alpha): fix alpha multiplication routine
3736        to perhaps work correctly, reported by tigert. Also, be sure
3737        we always copy the image if necessary before modifying the
3738        alpha channel.
3739
37402002-04-05  Havoc Pennington  <hp@pobox.com>
3741
3742        * src/stack.c: remove the unused tab stuff
3743
3744        * src/display.c: implement tab list among panels
3745
3746        * src/keybindings.c: fill in move-between-panels keybindings
3747
37482002-03-31  Johan Dahlin  <jdahlin@telia.com>
3749
3750        * src/menu.c (meta_window_menu_new): Make sure all menu items are
3751        translated.
3752
37532002-03-27  Havoc Pennington  <hp@pobox.com>
3754
3755        * src/window.c (meta_window_free): remove
3756        unmanaged windows from save set, and unselect
3757        input so we don't get events from them. Fixes annoying
3758        bug where withdrawn windows would decide to map themselves
3759        due to save set stuff.
3760
37612002-03-22  Zbigniew Chyla  <cyba@gnome.pl>
3762
3763        * configure.in (ALL_LINGUAS): Added pl (Polish).
3764
37652002-03-21  Havoc Pennington  <hp@pobox.com>
3766
3767        * src/themes/Bright/metacity-theme-1.xml: Added "Bright" theme
3768        from Gaute Lindkvist, with some small clipping tweaks to keep
3769        text/icons from overlapping their frames.
3770
37712002-03-19  Havoc Pennington  <hp@redhat.com>
3772
3773        * src/resizepopup.c (place_vertical_size_window)
3774        (place_horizontal_size_window): disable the little shaped windows
3775        with the window size, they caused a crash anytime you tried to
3776        resize with Xft. And they were kind of on crack anyway.
3777
37782002-03-17  Havoc Pennington  <hp@pobox.com>
3779
3780        * src/resizepopup.c (ensure_tick_windows): turn off the tick
3781        marks, that got annoying after about 5 minutes. One big shape
3782        window instead of lots of little windows might fix it.
3783
37842002-03-17  Havoc Pennington  <hp@pobox.com>
3785
3786        * src/resizepopup.c: Add some total crackrock resize-grid
3787        indication for windows that have width_inc/height_inc
3788        so I can debug gnome-terminal sizing.
3789
37902002-03-17  Havoc Pennington  <hp@pobox.com>
3791
3792        * src/session.c (set_clone_restart_commands): use proper property
3793        name for SmDiscardCommand (instead of setting the clone command to
3794        "rm"). Also fix typo that iterated over clonev not discardv to
3795        fill in prop list, and NULL-terminate discardv. #74584 from Kang
3796        Jeong-Hee.
3797
37982002-03-13  Havoc Pennington  <hp@pobox.com>
3799
3800        * src/main.c (main): put back --sm-client-id argument, needed
3801        for including us in a default session
3802
38032002-03-13  Havoc Pennington  <hp@pobox.com>
3804
3805        * src/session.c (meta_session_init): don't save a file here, only
3806        in response to SaveYourself. Change the code to properly use a
3807        unique state file for each SaveYourself. Totally, totally
3808        untested.
3809
38102002-03-12  Havoc Pennington  <hp@pobox.com>
3811
3812        * src/theme-viewer.c: improve the theme viewer so people
3813        can see the broken aspects of their themes.
3814
38152002-03-11  Havoc Pennington  <hp@pobox.com>
3816
3817        * src/keybindings.c: use new functions
3818
3819        * src/display.c (meta_display_get_tab_next):
3820        (meta_display_get_tab_list): new tab order functions using
3821        MRU list instead of map order
3822
3823        * src/window.c (meta_window_notify_focus): maintain focus MRU list
3824
3825        * src/display.h (struct _MetaDisplay): Keep an MRU list of
3826        windows.
3827
38282002-03-10  Havoc Pennington  <hp@pobox.com>
3829
3830        * src/display.c (event_callback): support _NET_NUMBER_OF_DESKTOPS
3831        message so you can change number of desktops with the pager
3832
3833        * src/prefs.c (meta_prefs_set_num_workspaces): new function
3834
3835        * src/display.c (meta_spew_event): print stacking aspects of
3836        configure requests
3837
38382002-03-10  Havoc Pennington  <hp@pobox.com>
3839
3840        * src/screen.c (set_supported_hint): we didn't claim to support
3841        _NET_ACTIVE_WINDOW so gtk_window_present() didn't work. Mumble.
3842        Only worked with tasklist because libwnck didn't check for
3843        WM support.
3844
3845        * src/window.c (meta_window_free): clean off window state
3846        when windows are withdrawn, to avoid sticking dialogs
3847        to their initial desktop.
3848        (meta_window_queue_calc_showing): return if window is withdrawn
3849
38502002-03-08  Laszlo Peter  <laca@ireland.sun.com>
3851
3852        * configure.in: fix the X linker flags
3853
38542002-03-06  Havoc Pennington  <hp@pobox.com>
3855
3856        * src/core.c (meta_core_get_grab_frame): add some assertions
3857
3858        * src/menu.c (meta_window_menu_new): make another warning
3859        into a verbose
3860
3861        * src/display.c (meta_change_button_grab): use verbose rather than
3862        warning to log failures to grab button, since these are typically
3863        BadWindow from a destroyed window.
3864
38652002-03-06  Havoc Pennington  <hp@redhat.com>
3866
3867        * src/frames.c (meta_frames_manage_window): use hash_table_replace
3868        instead of g_hash_table_insert
3869
3870        * src/main.c (main): only enable verbose/debug if you set
3871        METACITY_VERBOSE/METACITY_DEBUG
3872
3873        * src/util.c (ensure_logfile): only use a log file if
3874        METACITY_USE_LOGFILE is set
3875
3876        * src/display.c (meta_display_for_x_display): add warning if
3877        MetaDisplay isn't found
3878
3879        * src/window.c (meta_window_free): add an assertion that we
3880        successfully cleared the grab window
3881
38822002-03-05  Havoc Pennington  <hp@pobox.com>
3883
3884        Work on opaque animations more, still suck too much
3885        to turn on. Not sure how to make them good.
3886       
3887        * src/effects.c (meta_effects_draw_box_animation):
3888        add a slide-up mode for shading
3889
3890        * src/ui.c (meta_image_window_set): change image window to work by
3891        setting back pixmap on the GtkWindow, instead of using GtkImage.
3892
38932002-03-04  Havoc Pennington  <hp@pobox.com>
3894
3895        * src/main.c (main): try ignoring SIGXFSZ, though I'm not
3896        sure what that does exactly. I'm hoping it gives me EFBIG.
3897
3898        * src/util.c (ensure_logfile): log to a file in /tmp instead
3899        of to ~/metacity.log.
3900
39012002-03-04  Havoc Pennington  <hp@redhat.com>
3902
3903        * configure.in: fix configure.in since GTK no longer gives us
3904        -L/usr/X11R6/lib
3905
39062002-03-03  Havoc Pennington  <hp@pobox.com>
3907
3908        * src/window.c: improve debug spew about initial workspace
3909
39102002-03-02  Havoc Pennington  <hp@pobox.com>
3911
3912        * src/window.c (recalc_window_features): disable resize etc. if
3913        we're fullscreen
3914        (constrain_size): fix size constraints when fullscreen
3915
3916        * src/display.c (meta_display_open): fix missing comma that
3917        ended up concatenating two of the properties breaking
3918        FULLSCREEN state and PING protocol
3919
39202002-03-02  Havoc Pennington  <hp@pobox.com>
3921
3922        * src/display.c: Add hacking to fix the problem that we made our
3923        XGrabPointer() during Alt+Tab actually succeed, so on popping down
3924        Alt+Tab we got an EnterNotify from the ungrab, which resulted in
3925        focusing the window under the mouse. i.e. Alt+Tab didn't work with
3926        sloppy focus.
3927
39282002-02-26  Havoc Pennington  <hp@pobox.com>
3929
3930        Screw around with Anders's ping patch so he'll get plenty of CVS
3931        conflicts. ;-)
3932       
3933        * src/display.c (meta_display_ping_window): spew warnings
3934        if we try to call this with CurrentTime
3935        (meta_display_ping_timeout): remove ping from the pending pings
3936        after it times out.
3937
3938        * src/util.h: added PING debug category
3939
3940        * src/display.c (remove_pending_pings_for_window): don't remove
3941        "tmp" just before "tmp->next", don't break out of loop after
3942        finding the first match
3943        (meta_display_open): no trailing comma in array init
3944        (event_callback): move the processing of ping replies into a
3945        separate function
3946
3947        * src/screen.c (set_supported_hint): add _NET_WM_PING to supported
3948        list
3949
3950        * src/display.h: change gpointer to void*
3951
39522002-02-26  Anders Carlsson  <andersca@gnu.org>
3953
3954        * src/display.c: (ping_data_free),
3955        (remove_pending_pings_for_window), (meta_display_open),
3956        (event_callback), (meta_display_unregister_x_window),
3957        (meta_display_ping_timeout), (meta_display_ping_window),
3958        (meta_display_window_has_pending_pings):
3959        Implement meta_display_ping_window, and filter out scroll wheel
3960        events.
3961       
3962        * src/display.h:
3963        Add MetaWindowPingFunc, meta_display_ping_window and
3964        meta_display_window_has_pending_pings.
3965       
39662002-02-24  Havoc Pennington  <hp@pobox.com>
3967
3968        * src/display.c (xcursor_for_op): switch on the op passed in, not
3969        the active op. Gives us the right cursor during resizing, etc.
3970
3971        * src/errors.c: rearrange all the error stuff to adapt to the GDK
3972        change a while back, so now we print our X errors again
3973       
3974        * src/display.c (meta_display_begin_grab_op): remove KeyPressMask
3975        and KeyReleaseMask from the XGrabPointer(), this caused BadValue
3976        and kept the grab from ever succeeding. Fixes the problem with the
3977        GTK resize grip - this is why you shouldn't break your X error
3978        spew. ;-)
3979
3980        * src/display.c: debug spew tweaks
3981
3982        * src/window.c (meta_window_client_message): do some
3983        s/verbose/topic/ stuff
3984
39852002-02-23  Havoc Pennington  <hp@pobox.com>
3986
3987        * src/ui.c (meta_ui_init): fix the
3988        be-sure-we-create-coverage-cache hack
3989
39902002-02-19  Havoc Pennington  <hp@pobox.com>
3991
3992        * src/ui.c (meta_ui_init): put in hack to keep Pango from mangling
3993        our server grab and locking up on startup. (hack doesn't work
3994        but I want to fix it on my real computer not this laptop)
3995
3996        * src/window.c: Implement _NET_WM_STATE_FULLSCREEN
3997
3998        * src/display.c (meta_display_open): add atoms for
3999        _NET_WM_STATE_FULLSCREEN
4000       
40012002-02-16  Kjartan Maraas  <kmaraas@gnome.org>
4002
4003        * src/main.c: Use bind_textdomain_codeset etc.
4004       
40052002-02-14  Havoc Pennington  <hp@pobox.com>
4006
4007        * src/theme-viewer.c: use the preview widget here
4008
4009        * src/preview-widget.h, src/preview-widget.c: make the theme
4010        preview into a nice widget
4011
4012        * src/frames.c (meta_frames_ensure_layout): replace frame layout
4013        if the frame style changes, this only ends up mattering if you
4014        e.g. changed the font size for windows in a different state such
4015        as maximized, which is crack, but the code may as well be correct
4016
4017        * src/theme.c (meta_theme_get_frame_style): new function so we can
4018        detect an invalid cache of the PangoLayout in a frame
4019
40202002-02-14  Anders Carlsson  <andersca@gnu.org>
4021
4022        * src/themes/Crux/metacity-theme-1.xml: Fix some bugs with
4023        prelighting.
4024
40252002-02-13  Anders Carlsson  <andersca@gnu.org>
4026
4027        * src/theme.c (meta_pango_font_desc_get_text_height): Use
4028        pango_context_get_metrics instead of loading the font.
4029
40302002-02-12  Anders Carlsson  <andersca@gnu.org>
4031
4032        * src/frames.c (meta_frames_manage_window): Set prelit_control
4033        to META_FRAME_CONTROL_NONE.
4034        (meta_frames_update_prelit_control): New function for setting
4035        the prelit control.
4036        (meta_frames_paint_to_drawable): Set prelight state.
4037        (meta_frames_enter_notify_event): Update prelit control.
4038        (meta_frames_leave_notify_event): Likewise.
4039        (meta_frames_motion_notify_event): Likewise.
4040
4041        * src/frames.h (struct _MetaUIFrame): add prelit_control.
4042
4043        * src/window.c (update_mwm_hints): and MWM_FUNC_ALL
4044        with hints->functions instead of hints->flags.
4045
40462002-02-11  Anders Carlsson  <andersca@gnu.org>
4047
4048        * src/theme.c (meta_frame_layout_new): Set title_scale to 1.0
4049
40502002-02-11  Bastien Nocera  <hadess@hadess.net>
4051
4052        * src/theme-viewer.c: (main): change default theme to be Atlanta
4053        like in the .schema file
4054
40552002-02-10  Havoc Pennington  <hp@pobox.com>
4056
4057        * src/tools/Makefile.am (EXTRA_DIST): add $(icon_DATA)
4058
4059        * configure.in: 2.3.55
4060
4061        * HACKING: update
4062
4063        * README: update
4064
40652002-02-09  Havoc Pennington  <hp@pobox.com>
4066
4067        * src/theme.c (meta_theme_set_current): add a newline to an error
4068        message
4069
4070        * src/themes/Gorilla: add Gorilla theme by Jakub Steiner ported to
4071        metacity by Kenneth Christiansen
4072
40732002-02-09  Havoc Pennington  <hp@pobox.com>
4074       
4075        * src/theme.c (meta_draw_op_draw_with_env): implement wacky "tile"
4076        draw op to lose some of the PNG files in Gorilla theme
4077
4078        * src/theme-parser.c: parse the tile primitive
4079       
40802002-02-09  Havoc Pennington  <hp@pobox.com>
4081
4082        * src/window.c (update_icon): port to icon cache
4083
4084        * src/iconcache.c, src/iconcache.c: begin process of cleaning up
4085        window.c by moving the icon-reading code in here, based on the
4086        code in libwnck, which was in turn based on the earlier metacity
4087        code
4088
40892002-02-09  Havoc Pennington  <hp@pobox.com>
4090
4091        * src/stack.c (meta_stack_sync_to_server): hmm, and don't set
4092        last_window at all if we don't ++newp. Fixes even more obscure
4093        stacking bug.
4094
40952002-02-09  Havoc Pennington  <hp@pobox.com>
4096
4097        * src/stack.c (meta_stack_sync_to_server): assign last_window
4098        prior to ++newp, so we don't try to stack windows with respect to
4099        themselves. Fixes some obscure stacking bugs.
4100
41012002-02-09  Havoc Pennington  <hp@pobox.com>
4102
4103        * src/theme-parser.c: try to make more error message strings the
4104        same, easier for translators
4105
4106        * src/theme.c (meta_draw_op_free): free color spec for line op
4107        (meta_theme_free): free the integer_constants hash
4108
4109        * src/theme-parser.c (parse_boolean): move above first use
4110
4111        * src/theme-viewer.c: fixes for theme.h changes
4112
4113        * src/frames.c (queue_recalc_func): don't recreate layout
4114        immediately, just save title text. should speed things up.
4115        (meta_frames_set_title): just remove the layout here also,
4116        and save title text.
4117
4118        * src/theme-parser.c (parse_toplevel_element): parse title_scale
4119        attribute on frame_geometry
4120
4121        * src/theme.c: support setting the text size
4122
4123        * src/frames.c: support setting the text size
4124
4125        * theme-format.txt: updates
4126
41272002-02-09  Havoc Pennington  <hp@pobox.com>
4128
4129        * src/themes/Atlanta/metacity-theme-1.xml: put in some kind of
4130        distinctive frame for UTILITY, though it's ugly. Also put in the
4131        borderless look for maximized windows.
4132
4133        * src/stack.c (compute_layer): put splash screen in the splash
4134        layer
4135
4136        * src/stack.h (enum): create a splash screen layer
4137
4138        * src/place.c (meta_window_place): center splashscreen, and fix a
4139        typo in the centering code
4140
4141        * src/window.c (recalc_window_features): disable most features on
4142        splash screens
4143
4144        * src/screen.c (set_supported_hint): add UTILITY and SPLASHSCREEN
4145        hints
4146
4147        * src/window.c: add UTILITY, SPLASHSCREEN implementation
4148
4149        * src/window.h (enum): add UTILITY, SPLASHSCREEN types
4150
4151        * src/theme-parser.c (parse_toplevel_element): parser support
4152        for has_title attribute
4153
4154        * src/theme.c (meta_frame_layout_get_borders): handle a has_title
4155        field in the layout, for utility windows that don't display a
4156        title (would be better to be able to shrink the title text,
4157        but that's kind of tricky to implement :-/)
4158
41592002-02-08  Havoc Pennington  <hp@pobox.com>
4160
4161        * src/screen.c (set_supported_hint): add _NET_WM_STATE_HIDDEN
4162        to _NET_SUPPORTED
4163
4164        * src/keybindings.c (meta_set_keybindings_disabled): put in header
4165        file, to fix warning.
4166
4167        * src/display.c (meta_display_open): add _NET_WM_STATE_HIDDEN atom
4168
4169        * src/window.c (set_net_wm_state): set _NET_WM_STATE_HIDDEN for
4170        shaded and minimized windows
4171        (meta_window_show): call set_net_wm_state() if we map the window
4172        or frame
4173        (meta_window_hide): call set_net_wm_state() if we unmap the window
4174        or frame
4175       
41762002-02-08  Havoc Pennington  <hp@pobox.com>
4177
4178        * src/window.c (set_net_wm_state): only set skip pager/tasklist if
4179        the app set it, don't set it again based on semantic type.
4180       
41812002-02-08  Anders Carlsson  <andersca@gnu.org>
4182
4183        * src/theme.c (scale_and_alpha_pixbuf): If we're only
4184        scaling horizontally or vertically, use GDK_INTERP_NEAREST.
4185
41862002-02-08  Havoc Pennington  <hp@pobox.com>
4187
4188        * autogen.sh: unbreak
4189
41902002-02-08  Havoc Pennington  <hp@pobox.com>
4191
4192        * src/display.c (meta_display_grab_focus_window_button): grab
4193        buttons 2 and 3 also, so you can focus a window with those,
4194        #70840
4195        (event_callback): fix this to let you focus a window with any
4196        unmodified click, and also with Alt+button1
4197
4198        * configure.in (AC_OUTPUT): add po/Makefile.in
4199
4200        * autogen.sh: port to glib-gettextize, remove stupid
4201        auto-find-subdirs crap
4202
4203        * Makefile.am (SUBDIRS): add po to subdirs, #70615
4204
4205        * src/window.c (meta_window_activate): unshaded window if shaded,
4206        I thought this was in bugzilla but I don't see it. anyway thanks
4207        whoever mentioned it to me.     
4208
42092002-02-08  Havoc Pennington  <hp@pobox.com>
4210
4211        * src/tools/metacity-window-demo.c (menu_items): add modal dialog test
4212
42132002-02-08  Havoc Pennington  <hp@pobox.com>
4214
4215        * src/window.c (meta_window_show): when mapping a window with
4216        struts, invalidate the work areas it's on. Should fix at least
4217        part of the problem with windows maximizing over panels.
4218
4219        * src/workspace.c (meta_workspace_invalidate_work_area): also
4220        queue move/resize on sticky windows
4221
4222        * src/tools/Makefile.am: consolidate reload-theme, restart into a
4223        "metacity-message" app and add enable/disable keybindings to the
4224        messages it knows about.       
4225
4226        * src/keybindings.c:
4227        (meta_change_keygrab): grab keyboard synchronously
4228        (meta_display_process_key_event): if all keybindings are toggled
4229        off, ReplayKeyboard, else AsyncKeyboard, except that the debug
4230        binding for toggling back on is always processed
4231        (meta_set_keybindings_disabled): function to disable/enable
4232        all keybindings
4233
42342002-02-07  Havoc Pennington  <hp@pobox.com>
4235
4236        * src/run-metacity.sh: if DEMO_TEST is set then run the window
4237        demo
4238
4239        * src/tools/metacity-window-demo.c: Create an app with all the
4240        semantic window types, for testing and for designing themes.
4241
42422002-02-07  Havoc Pennington  <hp@pobox.com>
4243
4244        Throughout: move to meta_topic rather than meta_verbose so
4245        metacity.log can start being more useful
4246       
4247        * src/util.h (enum): add more debug topics
4248
4249        * src/frames.c: clean up some cruft that caused warnings
4250
42512002-02-07  Havoc Pennington  <hp@pobox.com>
4252
4253        * src/theme.c (colorize_pixbuf): do random voodoo on the algorithm
4254
42552002-02-07  Havoc Pennington  <hp@pobox.com>
4256
4257        * src/theme.c (colorize_pixbuf): use the intensity of the gray
4258        pixel for both saturation and value, not just value.
4259
42602002-02-07  Havoc Pennington  <hp@pobox.com>
4261
4262        * src/theme.c (INTENSITY): don't define the macro twice
4263
42642002-02-07  Havoc Pennington  <hp@pobox.com>
4265
4266        * src/theme.c (colorize_pixbuf): get algorithm right (use HSV/RGB
4267        conversion) at cost of making it a lot slower. It doesn't matter
4268        anyhow with the cache, though.
4269
42702002-02-06  Havoc Pennington  <hp@pobox.com>
4271
4272        * src/theme.c (colorize_pixbuf): handle out-of-memory creating
4273        target pixbuf
4274
4275        * src/themes/Crux/*.png: convert the green-channel images to grayscale
4276
42772002-02-06  Havoc Pennington  <hp@pobox.com>
4278
4279        * src/prefs.c (change_notify): s/update_focus_mode/update_theme/
4280        in case of theme key changing
4281
42822002-02-06  Havoc Pennington  <hp@pobox.com>
4283
4284        * src/theme-viewer.c: benchmark theme on startup
4285
4286        * src/theme-parser.c (parse_draw_op_element): fix "colorize !=
4287        NULL" to "colorize_spec != NULL" and free pixbuf on color spec
4288        failure
4289
4290        * src/theme.c (colorize_pixbuf): minor reformatting, raise
4291        function calls out of inner loop, clamp r/g/b values to uchar
4292        range before assigning to uchar
4293        (draw_op_as_pixbuf): cache the colorized pixbuf
4294        (meta_draw_op_free): free the cache pixbuf
4295
42962002-02-07  Anders Carlsson  <andersca@gnu.org>
4297
4298        * src/theme-parser.c: (parse_draw_op_element):
4299        Add support for "colorize" image attribute.
4300       
4301        * src/theme.c: (colorize_pixbuf):
4302        New function that colorizes a pixbuf.
4303
4304        (pos_tokenize): Allow "\n" as a whitespace character.
4305       
4306        (meta_draw_op_free): Free colorize_spec;
4307
4308        (draw_op_as_pixbuf): Colorize image if needed.
4309       
4310        * src/theme.h: Add colorize_spec to struct.
4311
43122002-02-07  Anders Carlsson  <andersca@gnu.org>
4313
4314        * src/themes/Crux/metacity-theme-1.xml: Add maximized and
4315        shaded_and_maximized frame styles.
4316
43172002-02-06  Havoc Pennington  <hp@pobox.com>
4318
4319        * src/main.c (prefs_changed_callback): redo window
4320        sizes/appearance when the theme changes
4321
4322        * src/display.c (meta_display_retheme_all): new function
4323
4324        * src/theme-parser.c (locate_attributes): remove error handling
4325        for MAX_ATTRS reached, add an assert instead, the way this code
4326        ended up the attrs in the array depend on the code not the theme
4327        file.
4328
43292002-02-06  Havoc Pennington  <hp@pobox.com>
4330
4331        * src/main.c (main): disable custom log handler and fatal mask for
4332        now
4333
4334        * src/theme.c (meta_draw_op_list_draw):
4335        Add META_DRAW_CLIP
4336
4337        * src/main.c: load theme, monitor current theme setting
4338
4339        * src/prefs.c: add "current theme" setting
4340
4341        * src/stack.c (meta_stack_free): don't try to free
4342        last_root_children_stacked if it doesn't exist
4343
4344        * src/themewidget.c: pluggable GtkMisc subclass to use
4345        for menu icons
4346
4347        * src/screen.c (meta_screen_manage_all_windows): fix
4348        signed/unsigned warning
4349
4350        * src/frames.c: port to theme system
4351        (meta_frames_style_set): chain up
4352
4353        * theme-format.txt: new file
4354
4355        * configure.in: add more compiler warnings
4356
4357        * src/theme.c: add various stuff needed to get theme parser
4358        working. Remove the "spacer" concept from FrameLayout object.
4359        Add draw op that references a draw op list.
4360
4361        * configure.in: require GTK 1.3.13
4362
4363        * src/Makefile.am: add theme-parser.[hc], implement loading a
4364        theme
4365
4366        * src/theme.c: add "draw title" and "draw window icon" operations
4367        (meta_draw_op_draw): put object_width/object_height in expression
4368        environment before computing x/y. Handle out-of-memory when
4369        creating pixbufs. Assorted other cleanups.     
4370
43712002-02-07  Anders Carlsson  <andersca@gnu.org>
4372
4373        * src/themes/Crux/metacity-theme-1.xml:
4374        Simplify things so we can remove some
4375        now unnecessary .png files.
4376        * src/themes/Crux/*.png: Remove some files.
4377
43782002-02-07  Anders Carlsson  <andersca@gnu.org>
4379
4380        * src/themes/Crux/metacity-theme-1.xml
4381        * src/themes/Crux/*.png:
4382        Add Crux theme
4383
43842002-02-07  Kenneth Rohde Christiansen  <kenneth@gnu.org>
4385
4386        * configure.in: add da to ALL_LINGUAS
4387        * po/da.po: add Danish translation
4388
43892002-02-02  Havoc Pennington  <hp@pobox.com>
4390
4391        * src/theme-viewer.c: test % operator
4392
4393        * src/theme.c (pos_tokenize): add % to switch for operators
4394
4395        * src/theme.c: rework theme stuff so we have
4396        MetaDrawOp/MetaDrawOpList instead of MetaTextureSpec/MetaShapeSpec
4397
43982002-01-28  Havoc Pennington  <hp@pobox.com>
4399
4400        * src/theme.c (meta_texture_spec_render): fix shadowed variable
4401        (stupid -Wall should have that)
4402
4403        * src/theme-viewer.c (main): implement a simple
4404        viewer for frame styles
4405
4406        * src/theme.c (meta_frame_style_get_test): create partial
4407        frame style to test drawing
4408
44092002-01-27  Havoc Pennington  <hp@pobox.com>
4410
4411        * src/theme.c (meta_shape_spec_draw): implement
4412        (meta_texture_spec_draw): implement shape spec and blank
4413        texture support
4414        (meta_frame_style_draw): implement
4415
44162002-01-27  Havoc Pennington  <hp@pobox.com>
4417
4418        * src/display.c (meta_set_syncing): move in here so util.c doesn't
4419        require display.[hc]
4420
4421        * src/theme.h, src/theme.c: implement coordinate expression
4422        parser, write MetaShapeSpec declaration
4423       
4424        * src/util.c (meta_exit): move in here so we can link
4425        to util.c with a different main()
4426
4427        * src/theme.h: rename the MetaWindow* enums to MetaFrame*
4428       
44292002-01-27  Peteris Krisjanis <peteris.krisjanis@ttc.lv>
4430
4431        * configure.in - Added lv to ALL_LINGUAS
4432
44332002-01-27  Havoc Pennington  <hp@pobox.com>
4434
4435        * src/frames.c (get_control): Only consider the bottom of the
4436        titlebar a resize control; I keep accidentally resizing windows
4437        instead of activating them. Also, give south resizing priority
4438        over north, if the window is so small the active regions overlap
4439
4440        * src/theme.c: add MetaTheme, get MetaFrameStyleSet into
4441        a usable state
4442
4443        * src/common.h: move window type back to window.h, decided
4444        not to use it on frame side
4445        (MetaFrameType): add this instead
4446
44472002-01-27  Havoc Pennington  <hp@pobox.com>
4448
4449        * src/theme.h, src/theme.c: implement all kinds of crazy
4450        compositing-one-texture-onto-another BS.
4451
44522002-01-27  Havoc Pennington  <hp@pobox.com>
4453
4454        * src/display.c (event_callback): make the check for whether to
4455        eat focus click a lot more complicated
4456
4457        * src/window.c (meta_window_same_application): new function
4458
4459        * src/prefs.h, src/prefs.c: add application based pref
4460
4461        * src/metacity.schemas: add "application_based" setting to
4462        give me a mode to fool with being application based,
4463        without being unusable in the meantime. Yeah the crack flows
4464        freely these days. Everyone knew it would happen.
4465
44662002-01-27  Havoc Pennington  <hp@pobox.com>
4467
4468        * src/frames.c: separate code to draw frame from the
4469        expose_event handler, so in principle we can draw the
4470        frame to a pixmap, but this isn't used yet.
4471
44722002-01-22  Hasbullah Bin Pit <sebol@ikhlas.com>
4473
4474        * configure.in: Added Malay (ms)to ALL_LINGUAS.
4475        * po/ms.po: Added Malay Translation.
4476
44772002-01-19  Havoc Pennington  <hp@pobox.com>
4478
4479        * src/wm-tester/test-resizing.c: cheesy client with static
4480        bit gravity, used to test the below change.
4481
4482        * src/window.c (meta_window_move_resize_internal): implement
4483        Owen's proposal for window resizing.
4484        http://mail.gnome.org/archives/wm-spec-list/1999-November/msg00088.html
4485
4486        Currently you have to do METACITY_USE_STATIC_GRAVITY=1 in order to
4487        use it, because some GDK bug is screwing up exposes on my frames
4488        when it's enabled.
4489
4490        * src/display.c (meta_display_create_x_cursor): fix glyph for
4491        NE/NW cursors
4492
4493        * src/frames.c (get_control): add ability to resize from top
4494
4495        * src/frame.c (meta_frame_get_flags): can't resize shaded windows
4496        (meta_frame_sync_to_window): add gravity arg
4497
4498        * src/common.h (MetaWindowType): move here from window.h so
4499        it can be used in themes stuff.
4500        (MetaFrameFlags): remove META_FRAME_TRANSIENT since it
4501        overlaps with window type and was unused.
4502
45032002-01-18  Havoc Pennington  <hp@pobox.com>
4504
4505        * src/window.c (constrain_position): give priority to keeping NW
4506        corner onscreen rather than SE, if we need to shift the window
4507        to fit inside constraints
4508
4509        * src/frames.c (meta_frames_get_geometry): don't depend on the
4510        current window size
4511
4512        * src/theme.c: move geometry stuff in here, to be calculated as
4513        part of the theme
4514
4515        * src/core.c (meta_core_get_client_size): new function to replace
4516        meta_core_get_frame_size() so we don't have weird cycles
4517        in the geometry calculation
4518
45192002-01-12  Havoc Pennington  <hp@pobox.com>
4520
4521        * src/window.c (meta_window_queue_move_resize): make this actually
4522        queue, rather than being synchronous as it was before.  We'll see
4523        what breaks. Should be more efficient and reduce flickery stuff a
4524        bit in some cases.
4525
45262002-01-15  Havoc Pennington  <hp@redhat.com>
4527
4528        * src/keybindings.c (handle_tab_backward): fix crash
4529        when grab failed due to another operation in progress
4530        (handle_tab_forward): fix crash when grab failed
4531
45322002-01-10  Havoc Pennington  <hp@pobox.com>
4533
4534        * src/frame.c (meta_window_destroy_frame): only bump
4535        unmaps_pending if the window was mapped
4536        (meta_window_ensure_frame): ditto
4537
4538        * src/keybindings.c: change arrow key bindings to use Ctrl+Alt not
4539        just Alt, and add debug mode key bindings       
4540
4541        * src/stack.c (meta_stack_get_default_focus_window): don't choose
4542        a default focus window with unmaps pending, since we probably just
4543        unmapped it.
4544
4545        * src/display.c (event_callback): move notify_focus on UnmapNotify
4546        after the window_free check, so we can move focus to another
4547        window when we unmanage
4548
4549        * src/window.c (meta_window_hide): invalidate work areas when
4550        hiding a window with struts
4551        (meta_window_free): invalidate work areas when unmanaging a window
4552        with struts
4553
45542002-01-09  Havoc Pennington  <hp@pobox.com>
4555
4556        * src/window.c, src/window.h: store strut information,
4557        update it on property changes, etc. etc. so we avoid panel
4558        on maximize.
4559
4560        * src/workspace.c (meta_workspace_get_work_area): add accessor for
4561        work area so we can compute it lazily
4562
4563        * src/display.h, src/display.c: add _NET_WM_STRUT atom
4564        and _WIN_HINTS atom
4565
45662002-01-08  Havoc Pennington  <hp@pobox.com>
4567
4568        * configure.in (ACLOCAL): add code to save ACLOCAL_FLAGS
4569
4570        * src/frames.c (meta_frames_expose_event): max dither
4571
4572        * src/testgradient.c (render_simple): change dither mode to MAX
4573        to avoid banding
4574
4575        * src/theme.c: lose the gradient cache, and put in some initial
4576        data types for the theme format
4577
45782002-01-07  Havoc Pennington  <hp@redhat.com>
4579
4580        * src/frames.c (meta_frames_expose_event): make gradient a bit
4581        more subtle (don't go to the full background, but to a blend of
4582        selection and background; put lighter color on top)
4583
45842002-01-06  Havoc Pennington  <hp@pobox.com>
4585
4586        * src/window.c (meta_window_notify_focus): rearrange code a bit to
4587        make it clear that has_focus flag always follows
4588        display->focus_window
4589
45902002-01-06  Havoc Pennington  <hp@pobox.com>
4591
4592        * src/window.c (meta_window_notify_focus): put in attempted fix
4593        for the GTK 1.2 plug/socket screwup, now that my fixed debug spew
4594        reveals what's actually happening. ;-)
4595
4596        * src/gradient.c (meta_gradient_description_new): object
4597        to store gradient descriptions
4598
4599        * src/window.c (meta_window_notify_focus): fix the debug spew
4600        that was confusing me
4601
4602        * src/wm-tester/focus-window.c: add little program to focus
4603        a window ID
4604
46052002-01-06  Havoc Pennington  <hp@pobox.com>
4606
4607        * src/theme.c (meta_theme_get_gradient): change to use spiffy
4608        gradient code.
4609
4610        * src/gradient.c: copy lovely gradient code from WindowMaker,
4611        as usual Dan and Alfredo have very nice code
4612
46132002-01-06  Fatih Demir <kabalak@gtranslator.org>
4614
4615        * configure.in: Added "tr" to the languages list.
4616
46172002-01-05  Havoc Pennington  <hp@pobox.com>
4618
4619        * src/frames.c (meta_frames_expose_event): draw titlebar highlight
4620        with snazzy gradient that needs some tweaking to be less
4621        dumb-looking
4622
4623        * src/theme.c: replace old theme.[hc] contents with newer stuff
4624        that doesn't do anything
4625       
46262002-01-05  Havoc Pennington  <hp@pobox.com>
4627
4628        GTK 1.2 plug/socket clients still broken, don't know why.
4629       
4630        * src/screen.c (meta_screen_new): select focus change on root
4631        window, for debugging
4632
4633        * src/display.c (event_callback): when unfocusing, use
4634        no_focus_window to hold the focus
4635
4636        * src/display.h (struct _MetaDisplay): have a no_focus_window to
4637        hold the focus when we don't want to have anything focused.
4638        Then we can avoid confusing focusing-the-frame stuff.
4639
4640        * src/window.c (meta_window_notify_focus): improve some debug spew
4641        (meta_window_notify_focus): add hack from WindowMaker to ignore
4642        focus in events with detail > NotifyNonlinearVirtual   
4643
46442002-01-04  Havoc Pennington  <hp@pobox.com>
4645
4646        * src/display.c (event_callback): don't lower docks when a grab
4647        causes them to get LeaveNotify
4648
46492002-01-04  Havoc Pennington  <hp@pobox.com>
4650
4651        * src/screen.c (meta_screen_free): set event mask on root window
4652        to 0 so other window managers (such as ourselves restarting) can
4653        start up; addresses race condition on restart where the old WM
4654        still had RedirectMask when the new WM was trying to start up.
4655
4656        * src/display.c (meta_display_close): free each screen
4657       
4658        * src/window.c (meta_window_show): always focus new windows in
4659        click-to-focus mode
4660
46612002-01-03  Havoc Pennington  <hp@pobox.com>
4662
4663        * src/window.c: use meta_XFree not XFree
4664
4665        * src/display.h (meta_XFree): add null-safe XFree
4666
4667        * src/util.c (meta_warning): have message prefix indicate that
4668        it's a warning
4669        (meta_fatal): indicate it's an error
4670
4671        * src/window.c (update_sm_hints): clean up using
4672        meta_prop_get_latin1_string
4673        (update_role): ditto
4674        (read_client_leader): clean up using meta_prop_get_window
4675        (update_net_wm_type): clean up using meta_prop_get_cardinal
4676        (update_initial_workspace): ditto
4677        (update_net_wm_type): clean up using meta_prop_get_atom_list
4678        (read_rgb_icon): get result from XGetWindowProperty return value
4679        not from error trap
4680        (update_kwm_icon): ditto
4681        (meta_window_new): fix to read WM_STATE correctly
4682
46832002-01-03  Havoc Pennington  <hp@pobox.com>
4684
4685        * src/window.c (update_net_wm_state): clean up using
4686        meta_prop_get_atom_list
4687        (update_mwm_hints): clean up using meta_prop_get_motif_hints
4688
4689        * src/Makefile.am (metacity_SOURCES): add xprops.[hc]
4690
4691        * src/xprops.c: new file with convenience functions for X
4692        properties
4693
46942002-01-03  Havoc Pennington  <hp@pobox.com>
4695
4696        * src/workspace.c (meta_workspace_activate): focus top window when
4697        switching to a new workspace
4698
4699        * src/util.c (meta_topic): start putting verbose output in
4700        categories
4701
4702        * src/window.c (meta_window_shade): focus frame after we queue
4703        the calc_showing so the maps/unmaps have already happened.
4704
4705        * src/display.c (meta_display_get_current_time): add the "get time
4706        of current event" function and call it occasionally.
4707
4708        * src/window.c (meta_window_free): if we have focus, call
4709        meta_screen_focus_top_window().
4710        (meta_window_minimize): ditto
4711        (meta_window_delete): ditto
4712
4713        * src/screen.c (meta_screen_ensure_tab_popup): fix memory leak -
4714        didn't free tab list
4715        (meta_screen_focus_top_window): new function to use when we unmap
4716        or unmanage a focused window
4717
4718        * src/stack.c (meta_stack_get_default_focus_window): function used
4719        in meta_screen_focus_top_window
4720       
47212001-12-21  Havoc Pennington  <hp@redhat.com>
4722
4723        * src/frame.c (meta_window_ensure_frame): add a server grab
4724        here since we were failing to have one when calling the function
4725
47262001-12-27  Duarte Loreto <happyguy_pt@hotmail.com>
4727
4728        * configure.in: Added portuguese to ALL_LINGUAS
4729
47302001-12-16  Kjartan Maraas  <kmaraas@gnome.org>
4731
4732        * configure.in: Added "no" to ALL_LINGUAS.
4733       
47342001-12-11  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>
4735
4736        * configure.in: Added "sk" to ALL_LINGUAS.
4737
47382001-12-10  Havoc Pennington  <hp@pobox.com>
4739
4740        Rework the click-client-area-to-focus support to use synchronous
4741        grabs, avoids a big mess, lets us pass through click when
4742        required (for dock/desktop). Disadvantage is all left-button
4743        clicks now require window manager approval. ;-)
4744       
4745        * src/display.c (event_callback): don't focus dock/desktop when
4746        the mouse enters them; require a click.
4747        (meta_change_button_grab): allow sync grabs
4748        (meta_display_grab_unfocused_window_buttons): establish a
4749        synchronous grab and maintain it all the time, rename to
4750        meta_display_grab_focus_window_button
4751
4752        * src/window.c: change to reflect display.c
4753       
47542001-12-10  Havoc Pennington  <hp@pobox.com>
4755
4756        * src/window.c (meta_window_update_unfocused_button_grabs): oops,
4757        unbreak this _again_ - reported by Josh Barrow
4758
47592001-12-10  Havoc Pennington  <hp@pobox.com>
4760
4761        * src/window.c (meta_window_update_unfocused_button_grabs): don't
4762        allow grab on docks/desktop for now; needs fixing later to
4763        do the grab, but pass thru click, so we can focus those windows.
4764        And in fact we need to do that even in sloppy mode.
4765
47662001-12-10  Havoc Pennington  <hp@pobox.com>
4767
4768        * src/screen.c (meta_screen_foreach_window): fix broken
4769        "tmp = tmp->data"
4770
4771        Implement do-not-pass-thru-click for click-to-focus mode.
4772       
4773        * src/screen.c (update_focus_mode): when focus mode changes,
4774        update all the window grabs
4775
4776        * src/display.c (meta_display_grab_unfocused_window_buttons):
4777        implement grabbing button 1 on client area of unfocused
4778        click-to-focus windows
4779
4780        * src/window.c (meta_window_update_unfocused_button_grabs): update
4781        whether we're grabbing unmodified button 1 on client area
4782        according to focus state and focus mode
4783        (meta_window_new): start out with proper grab state
4784       
47852001-12-10  Havoc Pennington  <hp@pobox.com>
4786
4787        * src/menu.c (meta_window_menu_new): don't do mnemonics for
4788        workspaces above 9
4789
47902001-12-10  Havoc Pennington  <hp@pobox.com>
4791
4792        * src/screen.c (meta_screen_new): oops, remove extra workspace
4793        creation, and update to current pref.
4794       
47952001-12-09  Havoc Pennington  <hp@pobox.com>
4796
4797        * src/workspace.c (meta_workspace_free): update number of
4798        workspaces hint
4799
4800        * src/screen.c (update_num_workspaces): implement number of
4801        workspaces setting
4802
4803        * src/window.c (meta_window_configure_request): honor configure
4804        requests on windows of type NORMAL, but still be mean to those of
4805        type DIALOG
4806
4807        * src/main.c (main): add more log domains to those we set a log
4808        handler for, and only set warnings fatal in debug mode
4809
4810        * src/metacity.schemas: add number of workspaces setting
4811
48122001-12-09  Havoc Pennington  <hp@pobox.com>
4813
4814        * src/display.c (event_callback): in click-to-focus mode don't
4815        focus on enter notify. Implement unfocusing on LeaveNotify in
4816        mouse focus mode. Click to focus just ends up working if we
4817        do nothing on enter/leave, because of the way things already
4818        worked. Except I need to add some relatively complex hack to
4819        allow clicking on client area, right now you have to click
4820        on the frame.
4821
48222001-12-09  Havoc Pennington  <hp@pobox.com>
4823
4824        * src/main.c (main): move SM init a bit later in the process, and
4825        init prefs
4826
4827        * src/session.c: fix no SM case (though I hardly know why I'm
4828        bothering)
4829
4830        * src/main.c (main): call bindtextdomain
4831
4832        * src/util.h (_): actually call gettext
4833
4834        * configure.in: put in AM_GLIB_GNU_GETTEXT and gconf stuff
4835
4836        * src/prefs.c: Preferences - this marks the beginning of our doom.
4837        None of them are actually implemented yet, but we monitor
4838        some stuff from gconf.
4839       
48402001-12-07  Havoc Pennington  <hp@pobox.com>
4841
4842        * src/window.c (meta_window_unminimize): when unminimizing an app,
4843        if we're in "show desktop" (all windows minimized) mode, leave
4844        show desktop mode. Will occasionally be a bit weird, but allows
4845        people to recover via task list if they accidentally do the show
4846        desktop thing, and don't know what's going on.
4847
48482001-12-06  Havoc Pennington  <hp@redhat.com>
4849
4850        * src/ui.c (meta_text_property_to_utf8): fix gdkatom/xatom screwup
4851        - gee, I should read my warnings
4852
48532001-12-03  Laszlo Peter  <laca@ireland.sun.com>
4854
4855        * src/frames.c: add a dummy element to the enum so
4856          the signals array is not empty. (breaks the build with Forte C)
4857
4858        * src/window.c: s/__FUNCTION__/G_GNUC_FUNCTION/
4859
48602001-11-27  Havoc Pennington  <hp@pobox.com>
4861
4862        * src/window.c (constrain_position): change so that window can be
4863        offscreen to the bottom or the right, as long as a small top-left
4864        corner of the window remains onscreen. However, windows still
4865        can't go off the left or top.
4866
48672001-11-26  Havoc Pennington  <hp@redhat.com>
4868
4869        * src/window.c (window_query_root_pointer): add error trap
4870
48712001-11-27  Jesus Bravo Alvarez  <jba@pobox.com>
4872
4873        * configure.in: Added gl (Galician) to ALL_LINGUAS.
4874
4875Tue Nov 20 18:49:16 2001  Owen Taylor  <otaylor@redhat.com>
4876
4877        * configure.in (found_sm): Add some additional quoting to
4878        make it work with autoconf-2.5x.
4879
48802001-11-02  Laszlo Peter  <laca@ireland.sun.com>
4881
4882        * src/window.c (update_sm_hints): protect meta_verbose from
4883        a NULL pointer.
4884
48852001-10-29  Havoc Pennington  <hp@pobox.com>
4886
4887        * configure.in: bump version
4888
48892001-10-29  Havoc Pennington  <hp@pobox.com>
4890
4891        * src/window.c (idle_calc_showing): handle queue/unqueue of
4892        calc showings as we are iterating over the pending list
4893        (meta_window_show): focus placed transients in here instead
4894        of in meta_window_place - now it should actually work, yay
4895
4896        * src/place.c (meta_window_place): remove focusing of transient
4897        child from here; this was really broken
4898
48992001-10-29  Yuriy Syrota <rasta@renome.rovno.ua>
4900
4901        * configure.in: Added "uk" to ALL_LINGUAS.
4902
49032001-10-29  Havoc Pennington  <hp@pobox.com>
4904
4905        * README: note exciting new unminimize feature for the tab popup
4906
4907        * src/keybindings.c (process_tab_grab): use meta_window_activate()
4908        when choosing a window with tab popup, this should deiconify it
4909
4910        * src/window.c (meta_window_client_message): use
4911        meta_window_activate for _NET_ACTIVE_WINDOW message
4912        (meta_window_activate): new function to raise/focus/unminimize
4913        (meta_window_flush_calc_showing): new function
4914        (meta_window_focus): force a calc showing on focus, so that we can
4915        focus the window if appropriate (it must be mapped)
4916
49172001-10-26  Havoc Pennington  <hp@pobox.com>
4918
4919        * src/display.c (meta_display_grab_window_buttons): fix for
4920        ignoring NumLock on Alt-windowclick (previous NumLock fix
4921        was only for key grabs not button grabs)
4922
49232001-10-25  Havoc Pennington  <hp@redhat.com>
4924
4925        * src/window.c (meta_window_new): set the current workspace hint
4926
49272001-10-25  Havoc Pennington  <hp@pobox.com>
4928
4929        * src/window.c (meta_window_visible_on_workspace):
4930        I was using meta_workspace_contains_window() in a number of
4931        places where on_all_workspaces should also have been considered,
4932        thus this new function. Fixes bugs such as pinned windows
4933        not appearing in the tab order.
4934        (meta_window_client_message): use meta_window_visible_on_workspace
4935
4936        * src/stack.c (find_tab_forward): ditto
4937        (find_tab_backward): ditto
4938        (meta_stack_get_tab_next): ditto
4939        (meta_stack_get_tab_list): ditto
4940
4941        * src/place.c (get_windows_on_same_workspace): ditto
4942
4943        * src/keybindings.c (handle_focus_previous): ditto
4944        (handle_focus_previous): ditto
4945
49462001-10-24  Havoc Pennington  <hp@pobox.com>
4947
4948        * src/frames.c (meta_frames_expose_event): use bg/fg not base/text
4949        for the window title area.
4950
49512001-10-24  Havoc Pennington  <hp@pobox.com>
4952
4953        * src/window.c (meta_window_new): support initial
4954        on-all-workspaces setting
4955
49562001-10-22  Havoc Pennington  <hp@pobox.com>
4957
4958        * src/stack.c (meta_stack_sync_to_server): fix to keep desktop
4959        window from appearing on top of everything else, among other stack
4960        bugs. Untested.
4961
49622001-10-15  Havoc Pennington  <hp@pobox.com>
4963
4964        * src/window.c (meta_window_new): use queried attributes to check
4965        whether window should be initially maximized, rather than window
4966        rect
4967
49682001-10-15  Havoc Pennington  <hp@pobox.com>
4969
4970        * src/main.c (meta_restart): add a restart feature, for debugging
4971
4972        * src/tools/metacity-restart.c: little utility program to trigger
4973        the restart
4974
49752001-10-14  Havoc Pennington  <hp@pobox.com>
4976
4977        * src/frames.c (meta_frames_button_press_event): raise/focus
4978        windows on left-click, seem to have broken that yesterday
4979
4980        * src/keybindings.c, src/display.c, src/window.c: add keybinding
4981        to show/hide all normal windows (so you can see the desktop).
4982        Currently Ctrl+Alt+D, which I don't like, but yay.
4983
49842001-10-14  Havoc Pennington  <hp@pobox.com>
4985
4986        * src/window.c (meta_window_new): take a window mapped at
4987        fullscreen size/pos to desire maximization; once I add a
4988        fullscreen state, will change to copy kwin and take this mapping
4989        as a desire for fullscreen, but for now testing with maximization.
4990
4991        * src/window.h: remove fullscreen window type, now proposing it
4992        as a window state instead.     
4993
49942001-10-14  Havoc Pennington  <hp@pobox.com>
4995
4996        * src/window.c (meta_window_maximize): always raise windows on
4997        maximize
4998        (meta_window_client_message): when activating a window, move
4999        it to current workspace, instead of moving user to the
5000        window's workspace.
5001
50022001-10-14  Héctor García Álvarez <hector@scouts-es.org>
5003
5004        * configure.in: Added "es" to ALL_LINGUAS for Spanish translation.
5005
50062001-10-14  Havoc Pennington  <hp@pobox.com>
5007
5008        * src/display.c (event_callback): only handle events here if
5009        the modmask from our button grab is active. i.e. only the
5010        Alt-click is handled here.
5011
5012        * src/frames.c: add check for whether button presses are in the
5013        frame client area before handling them, so we don't weirdly let
5014        you move a frame by clicking in its client area if the client
5015        hasn't selected button press events.
5016
50172001-10-13  Havoc Pennington  <hp@pobox.com>
5018
5019        * src/stack.c (meta_stack_sync_to_server): set last window before
5020        setting newp, so we don't get the current window as the last
5021        window and screw everything up 
5022        (IN_TAB_CHAIN): use type not layer to decide if a window is
5023        in the tab chain, keeps panel out of alt-tab choices
5024
50252001-10-13  Havoc Pennington  <hp@redhat.com>
5026
5027        * configure.in: add bad hack to work with GTK 1.3.9.90 RPMs from
5028        gnomehide for now
5029
5030        * src/ui.c: another piece of bad hack in here
5031
50322001-10-13  Havoc Pennington  <hp@redhat.com>
5033
5034        * configure.in: bump version
5035
50362001-10-13  Havoc Pennington  <hp@pobox.com>
5037
5038        * src/session.c (meta_session_init): hmm, fix build
5039
50402001-10-12  Havoc Pennington  <hp@pobox.com>
5041
5042        * src/session.c (meta_session_init): set the session manager
5043        priority so we start up before other apps.
5044
50452001-10-12  Mikael Hallendal  <micke@codefactory.se>
5046
5047        * src/ui.c (meta_ui_get_default_window_icon): use
5048        gdk_pixbuf_new_from_inline
5049        (meta_ui_get_default_mini_icon): use
5050        gdk_pixbuf_new_from_inline
5051
50522001-10-11  Christian Rose  <menthos@menthos.com>
5053
5054        * configure.in: Added "sv" to ALL_LINGUAS.
5055
50562001-10-10  Havoc Pennington  <hp@pobox.com>
5057
5058        * src/stack.c (meta_stack_free): fix mem leak of the MetaStack
5059        object
5060        (meta_stack_sync_to_server): try to avoid the restack-flicker
5061        thing
5062
50632001-10-07  Havoc Pennington  <hp@pobox.com>
5064
5065        * src/display.c (meta_display_update_active_window_hint):
5066        set _NET_ACTIVE_WINDOW hint
5067       
5068        * src/window.c (meta_window_client_message): support
5069        _NET_ACTIVE_WINDOW client message
5070
50712001-10-07  Havoc Pennington  <hp@pobox.com>
5072
5073        * src/window.c (meta_window_client_message): don't allow
5074        shade/maximize/minimize for windows that don't support those
5075        operations. (minimizing the panel = bad)
5076
50772001-10-04  Havoc Pennington  <hp@pobox.com>
5078
5079        * src/keybindings.c (meta_change_keygrab): add code to grab all
5080        modifier combinations, so keybindings work with NumLock etc.
5081
5082        * src/menu.c (meta_window_menu_new): remove newlines from menu
5083        items
5084
50852001-09-27  Havoc Pennington  <hp@pobox.com>
5086
5087        * src/session.c (save_state): when encoding text for session file,
5088        escape XML entities
5089
50902001-09-21  Alex Graveley  <alex@ximian.com>
5091
5092        * src/Makefile.am (metacity_SOURCES): Add inlinepixbufs.h so
5093        that it gets generated.
5094
5095        * src/frames.c (meta_frames_style_set): Update for new opaque
5096        PangoFontMetrics.
5097
50982001-09-17  Havoc Pennington  <hp@pobox.com>
5099
5100        * src/ui.c (meta_ui_init): add hackaround for the warning about
5101        gtk-menu-bar-accel
5102
51032001-09-17  Havoc Pennington  <hp@pobox.com>
5104
5105        * src/ui.c (meta_ui_get_default_mini_icon):
5106        (meta_ui_get_default_window_icon): ref the returned icon, oops.
5107
5108        * src/main.c (main): get the GLib warning/error output into
5109        the metacity logfile, set warnings to be always fatal
5110
5111        * configure.in: bump version to 2.3.13
5112
5113        * src/window.c (get_text_property): hrm, fix bug where we didn't
5114        check errors on XGetTextProperty
5115
51162001-09-17  Havoc Pennington  <hp@pobox.com>
5117
5118        * src/Makefile.am (VARIABLES): fix srcdir != builddir glitch
5119
51202001-09-17  Havoc Pennington  <hp@pobox.com>
5121
5122        * src/ui.c: use the inline image data for default icon
5123       
5124        * src/common.h (META_MINI_ICON_HEIGHT): move icon size defines
5125        here
5126
5127        * src/Makefile.am: Create an inlinepixbufs.h header with inline
5128        images
5129
51302001-09-16  Havoc Pennington  <hp@pobox.com>
5131
5132        * src/session.c (process_ice_messages): disconnect this callback
5133        on error
5134
51352001-09-16  Havoc Pennington  <hp@pobox.com>
5136
5137        * src/window.c (meta_window_lower): new function
5138
5139        * configure.in: bump version to 2.3.8
5140
5141        * src/display.c (event_callback): raise dock on enter notify,
5142        lower it on leave notify (need to refine this behavior)
5143
5144        * src/stack.c (compute_layer): experiment with putting the panel
5145        in the normal layer, and raising it on mouseover
5146
51472001-09-15  Havoc Pennington  <hp@pobox.com>
5148
5149        * src/window.c: add support for a mini icon in the titlebar
5150        (update_icon): re-enable support for _NET_WM_ICON
5151
5152        * src/session.c (save_state): add an ferror check when writing
5153        session file
5154
51552001-09-11  Havoc Pennington  <hp@pobox.com>
5156
5157        * src/main.c (usage): exit with error code on usage() (kind of
5158        wrong for --help, but oh well).
5159
51602001-09-11  Havoc Pennington  <hp@pobox.com>
5161
5162        * src/window.c: fix up handling of text properties, so we
5163        get UTF8_STRING as that type and not as text list, and so
5164        we properly convert from text list to UTF-8
5165
51662001-09-10  Havoc Pennington  <hp@pobox.com>
5167
5168        * src/menu.c (meta_window_menu_new): icon for unmaximize
5169
5170        * src/ui.c (meta_ui_init): fix call to XDisplayName
5171
5172        * src/util.c: add missing header
5173
5174        * src/frames.c: draw an unmaximize control if already maximized
5175
51762001-09-10  Havoc Pennington  <hp@pobox.com>
5177
5178        * src/window.c: Don't separate user_has_moved/user_has_resized,
5179        fixes bug in east-resizing Emacs, among other things
5180
5181        * src/frame.c (meta_frame_sync_to_window): return immediately if
5182        nothing to do
5183
5184        * src/util.c (ensure_logfile): replace rather than truncate old
5185        logfiles
5186
51872001-09-08  Havoc Pennington  <hp@pobox.com>
5188
5189        * src/ui.c (meta_ui_init): don't use gdk_display_name
5190
5191        * src/frame.c (meta_window_ensure_frame): create frame
5192        with screen default visual, rather than client window visual;
5193        for DRI games, the client window visual was not allowed to be
5194        a child of another window with the same visual, apparently.
5195        Anyhow now we copy twm, etc. so it must be correct.
5196       
5197        * src/place.c (meta_window_place): if a transient is placed and
5198        its parent has focus, focus the transient.
5199
52002001-09-06  Havoc Pennington  <hp@pobox.com>
5201
5202        * configure.in: bump version 2.3.5, require newer GTK release
5203
52042001-09-04  Havoc Pennington  <hp@pobox.com>
5205
5206        * src/wm-tester/Makefile.am (noinst_PROGRAMS): make test apps
5207        noinst
5208
5209        * src/metacity.desktop: for the capplet
5210
5211        * src/Makefile.am: add .desktop file
5212
52132001-09-01  Havoc Pennington  <hp@pobox.com>
5214
5215        * src/errors.c: clean up the code, and replace GDK X error handler
5216        with one that chains up to GDK but first logs the error to logfile.
5217
52182001-08-31  Havoc Pennington  <hp@pobox.com>
5219
5220        * src/tabpopup.c (meta_ui_tab_popup_new): fix args to
5221        gtk_alignment_new()
5222
52232001-08-29  Havoc Pennington  <hp@pobox.com>
5224
5225        * src/display.c (event_callback): avoid focusing a window on tab
5226        popup popdown
5227
5228        * src/screen.c (meta_screen_ensure_tab_popup): compute frame
5229        outline size here
5230
52312001-08-29  Havoc Pennington  <hp@redhat.com>
5232
5233        * src/tabpopup.c: Switch back to outline.
5234
52352001-08-29  Havoc Pennington  <hp@pobox.com>
5236
5237        * src/tabpopup.c: experiment with window-cover-with-icon
5238        instead of just the outline; can't decide.
5239
52402001-08-29  Havoc Pennington  <hp@pobox.com>
5241
5242        * src/tabpopup.c: add crackrock window-outlining feature
5243
5244        * src/session.c (window_type_to_string): handle fullscreen
5245
52462001-08-29  Havoc Pennington  <hp@pobox.com>
5247
5248        * src/display.c (meta_display_open): wrong atom name -
5249        _NET_SUPPORTED not _NET_WM_SUPPORTED
5250
5251        * src/window.c (meta_window_configure_request): geez, why were we
5252        honoring configure requests for width/height for normal windows.
5253        Denied!
5254        (meta_window_client_message): _NET_WM_MOVERESIZE support, sort of
5255        (doesn't quite work, acts like owner_events = true?)
5256
5257        * src/display.c: add _NET_WM_MOVERESIZE atom
5258
52592001-08-28  Havoc Pennington  <hp@pobox.com>
5260
5261        Unbreak tab popup a bit.
5262       
5263        * src/stack.c (meta_stack_get_tab_list): add workspace argument
5264        (meta_stack_get_tab_next): add workspace argument
5265
5266        * src/window.c: implement recording of the last user-initiated
5267        window position, so we can magically handle moving panels around
5268        really nicely.
5269
5270        * src/wm-tester/main.c (set_up_icon_windows): fix to use new GTK
5271        API
5272
52732001-08-24  Havoc Pennington  <hp@pobox.com>
5274
5275        * src/window.c (constrain_position): force fullscreen windows to
5276        be at 0,0
5277
5278        * src/ui.c: use NULL colormap to get bitmaps, requires
5279        very latest GTK from CVS or it will spew warnings
5280        and not work.
5281       
5282        * src/window.c (constrain_size): disallow larger than screen in
5283        all cases, even if user has performed a resize operation.
5284        (constrain_position): keep window boxed onscreen.
5285
5286        * src/keybindings.c (meta_display_process_key_event): revert an
5287        earlier change that disabled global keybindings when a grab is in
5288        effect; instead, only disable global keybindings if a _keyboard_
5289        grab is in effect. The earlier change was just a broken
5290        workaround, the problems it fixed should have been solved by the
5291        addition of XGrabKeyboard() on the metacity keyboard grabs.
5292
5293        This should fix the problem with
5294        pick-up-window-and-move-to-another-desktop.
5295
52962001-08-23  Havoc Pennington  <hp@pobox.com>
5297
5298        * src/window.c (update_icon): attempt to use the mask as well as
5299        the pixmap. Probably doesn't work so well.
5300
5301        * src/tabpopup.c: make this look a little nicer
5302
53032001-08-22  Havoc Pennington  <hp@pobox.com>
5304
5305        * src/window.c (update_mwm_hints): all the MWM flag tests were
5306        backward
5307
53082001-08-22  Havoc Pennington  <hp@pobox.com>
5309
5310        * src/window.c (update_icon): half-ass implementation of
5311        getting pixmap icons (WM_NORMAL_HINTS and KWM_WIN_ICON).
5312        Ignores mask for now, with possibly ugly results for
5313        some apps.
5314        (read_rgb_icon): fixage
5315
53162001-08-19  Havoc Pennington  <hp@pobox.com>
5317
5318        * src/window.c: add a "fullscreen" semantic type; if a window
5319        requests the screen size exactly, and is undecorated, and is not a
5320        desktop window, we consider it a fullscreen window and keep it on
5321        top.
5322
5323        Totally untested.
5324
53252001-08-19  Havoc Pennington  <hp@pobox.com>
5326
5327        * src/screen.c (set_supported_hint): we support _NET_WM_ICON
5328
5329        * src/wm-tester/main.c: add stuff to test _NET_WM_ICON
5330        (but it doesn't work, so it isn't tested yet)
5331       
5332        * src/window.c (update_icon): read _NET_WM_ICON
5333
5334        * src/screen.c (meta_screen_new): set the WM_ICON_SIZE hint
5335
5336        * src/tabpopup.c (meta_ui_tab_popup_select): remove assertion
5337
5338        * src/window.c (meta_window_get_icon_geometry): fix obscure
5339        memleak
5340
53412001-08-19  Havoc Pennington  <hp@pobox.com>
5342
5343        * src/display.c (meta_display_grab_window_buttons): remove XSync,
5344        error traps already do that
5345        (meta_display_grab_window_buttons): implement
5346
5347        * src/keybindings.c:
5348        src/display.c: wire up the tab window, it rulez!
5349
53502001-08-19  Havoc Pennington  <hp@pobox.com>
5351
5352        * src/tabpopup.c: add prototype thingy to display windows we're
5353        cycling through with tab. Not wired up to keybindings yet.
5354
53552001-08-18  Havoc Pennington  <hp@pobox.com>
5356
5357        * src/effects.c (meta_effects_draw_box_animation): put an XFlush()
5358        right after starting things moving
5359
53602001-08-18  Havoc Pennington  <hp@pobox.com>
5361
5362        * src/window.c (meta_window_configure_request):
5363        (meta_window_move_resize_internal): Make a half-hearted
5364        not-very-tested attempt to handle window resizes correctly with
5365        respect to window gravity.
5366
53672001-08-18  Havoc Pennington  <hp@pobox.com>
5368
5369        * src/window.c (meta_window_get_gravity_position): hrm, I fixed
5370        this wrong the other day. Fixes static gravity when moving
5371        windows.
5372
53732001-08-18  Havoc Pennington  <hp@pobox.com>
5374
5375        * src/ui.c (meta_image_window_set_position): also set the current
5376        size. Lame hack of the day.
5377
5378        * src/effects.c (effects_draw_box_animation_timeout): use the
5379        delay exposes feature to avoid the screen dirt
5380
5381        * src/ui.c
5382        (meta_ui_push_delay_exposes):
5383        (meta_ui_pop_delay_exposes): feature to let us delay redraws until
5384        after we do server-grabbed draw-on-inferiors effects
5385
53862001-08-17  Havoc Pennington  <hp@redhat.com>
5387
5388        * src/window.c (meta_window_get_gravity_position): fix for
5389        StaticGravity
5390
53912001-08-09  Havoc Pennington  <hp@pobox.com>
5392
5393        * src/window.c (meta_window_configure_request): Honor USPosition
5394        even post-map. I know I'll regret this.
5395
53962001-08-07  Havoc Pennington  <hp@pobox.com>
5397
5398        * src/display.c (meta_display_open): set _NET_WM_NAME
5399        hint as a UTF8_STRING not STRING. Patch from Anders.
5400
54012001-08-06  Havoc Pennington  <hp@redhat.com>
5402
5403        * src/effects.c: disable opaque animations by default, current
5404        implementation suXors.
5405
54062001-08-06  Havoc Pennington  <hp@pobox.com>
5407
5408        * src/effects.c (meta_effects_draw_box_animation): Get start
5409        time after we do the pixbuf from drawable, so we don't count
5410        time spent getting pixbuf from drawable in the animation time.
5411
54122001-08-06  Havoc Pennington  <hp@pobox.com>
5413
5414        * src/effects.c: add opaque minimize/shade feature.  The wireframe
5415        seemed kind of confusing and unclear from a UI standpoint.
5416        I know, I know. The bloat begins here.
5417
5418        Also, we don't need to grab the server during opaque min/shade,
5419        which has some nice implications.
5420       
5421        * src/ui.c: Add features to render a window with an image in it,
5422        and also wrap pixbuf_from_drawable
5423
5424        * src/effects.c (meta_effects_draw_box_animation):
5425        modify to be smoother (at least theoretically) by
5426        syncing to current time and "dropping frames"
5427        as appropriate.
5428
5429        * src/window.c (meta_window_shade): draw animation
5430        for shading too
5431
54322001-08-05  Anders Carlsson  <andersca@gnu.org>
5433
5434        * src/display.h, src/display.c: Add _NET_WM_ICON_GEOMETRY atom.
5435
5436        * src/window.c (meta_window_calc_showing): See if the window has
5437        an icon geometry and show a morphing animation from the window's
5438        coordinates to the icon's coordinates.
5439        (meta_window_get_icon_geometry): New function that fetches a
5440        window's icon geometry.
5441
5442        * src/Makefile.am: Add effects.[ch].
5443       
5444        * src/effects.c: New file with cool effects.
5445
54462001-08-03  Havoc Pennington  <hp@pobox.com>
5447
5448        * src/keybindings.c: Add Alt + left/right arrow to
5449        move between workspaces.
5450
5451        * src/screen.c (set_wm_check_hint): put property pointing back to
5452        itself on the _WIN_SUPPORTING_WM_CHECK window.
5453
54542001-08-03  Havoc Pennington  <hp@pobox.com>
5455       
5456        * src/display.c (event_callback): push error trap around configure
5457        of withdrawn window, fixes a crash caused by rapidly
5458        creating/destroying a window.
5459
5460        * src/window.c (recalc_window_features): don't allow shading
5461        undecorated windows.
5462
5463        * src/wm-tester/main.c: add a program to torture window managers.
5464       
54652001-08-01  Havoc Pennington  <hp@pobox.com>
5466
5467        * src/window.c (recalc_window_features): if a window isn't
5468        resizeable, turn off maximize function. If min size is equal to
5469        max size, turn off resize function.
5470
Note: See TracBrowser for help on using the repository browser.