2001-09-17 Havoc Pennington * src/ui.c (meta_ui_get_default_mini_icon): (meta_ui_get_default_window_icon): ref the returned icon, oops. * src/main.c (main): get the GLib warning/error output into the metacity logfile, set warnings to be always fatal * configure.in: bump version to 2.3.13 * src/window.c (get_text_property): hrm, fix bug where we didn't check errors on XGetTextProperty 2001-09-17 Havoc Pennington * src/Makefile.am (VARIABLES): fix srcdir != builddir glitch 2001-09-17 Havoc Pennington * src/ui.c: use the inline image data for default icon * src/common.h (META_MINI_ICON_HEIGHT): move icon size defines here * src/Makefile.am: Create an inlinepixbufs.h header with inline images 2001-09-16 Havoc Pennington * src/session.c (process_ice_messages): disconnect this callback on error 2001-09-16 Havoc Pennington * src/window.c (meta_window_lower): new function * configure.in: bump version to 2.3.8 * src/display.c (event_callback): raise dock on enter notify, lower it on leave notify (need to refine this behavior) * src/stack.c (compute_layer): experiment with putting the panel in the normal layer, and raising it on mouseover 2001-09-15 Havoc Pennington * src/window.c: add support for a mini icon in the titlebar (update_icon): re-enable support for _NET_WM_ICON * src/session.c (save_state): add an ferror check when writing session file 2001-09-11 Havoc Pennington * src/main.c (usage): exit with error code on usage() (kind of wrong for --help, but oh well). 2001-09-11 Havoc Pennington * src/window.c: fix up handling of text properties, so we get UTF8_STRING as that type and not as text list, and so we properly convert from text list to UTF-8 2001-09-10 Havoc Pennington * src/menu.c (meta_window_menu_new): icon for unmaximize * src/ui.c (meta_ui_init): fix call to XDisplayName * src/util.c: add missing header * src/frames.c: draw an unmaximize control if already maximized 2001-09-10 Havoc Pennington * src/window.c: Don't separate user_has_moved/user_has_resized, fixes bug in east-resizing Emacs, among other things * src/frame.c (meta_frame_sync_to_window): return immediately if nothing to do * src/util.c (ensure_logfile): replace rather than truncate old logfiles 2001-09-08 Havoc Pennington * src/ui.c (meta_ui_init): don't use gdk_display_name * src/frame.c (meta_window_ensure_frame): create frame with screen default visual, rather than client window visual; for DRI games, the client window visual was not allowed to be a child of another window with the same visual, apparently. Anyhow now we copy twm, etc. so it must be correct. * src/place.c (meta_window_place): if a transient is placed and its parent has focus, focus the transient. 2001-09-06 Havoc Pennington * configure.in: bump version 2.3.5, require newer GTK release 2001-09-04 Havoc Pennington * src/wm-tester/Makefile.am (noinst_PROGRAMS): make test apps noinst * src/metacity.desktop: for the capplet * src/Makefile.am: add .desktop file 2001-09-01 Havoc Pennington * src/errors.c: clean up the code, and replace GDK X error handler with one that chains up to GDK but first logs the error to logfile. 2001-08-31 Havoc Pennington * src/tabpopup.c (meta_ui_tab_popup_new): fix args to gtk_alignment_new() 2001-08-29 Havoc Pennington * src/display.c (event_callback): avoid focusing a window on tab popup popdown * src/screen.c (meta_screen_ensure_tab_popup): compute frame outline size here 2001-08-29 Havoc Pennington * src/tabpopup.c: Switch back to outline. 2001-08-29 Havoc Pennington * src/tabpopup.c: experiment with window-cover-with-icon instead of just the outline; can't decide. 2001-08-29 Havoc Pennington * src/tabpopup.c: add crackrock window-outlining feature * src/session.c (window_type_to_string): handle fullscreen 2001-08-29 Havoc Pennington * src/display.c (meta_display_open): wrong atom name - _NET_SUPPORTED not _NET_WM_SUPPORTED * src/window.c (meta_window_configure_request): geez, why were we honoring configure requests for width/height for normal windows. Denied! (meta_window_client_message): _NET_WM_MOVERESIZE support, sort of (doesn't quite work, acts like owner_events = true?) * src/display.c: add _NET_WM_MOVERESIZE atom 2001-08-28 Havoc Pennington Unbreak tab popup a bit. * src/stack.c (meta_stack_get_tab_list): add workspace argument (meta_stack_get_tab_next): add workspace argument * src/window.c: implement recording of the last user-initiated window position, so we can magically handle moving panels around really nicely. * src/wm-tester/main.c (set_up_icon_windows): fix to use new GTK API 2001-08-24 Havoc Pennington * src/window.c (constrain_position): force fullscreen windows to be at 0,0 * src/ui.c: use NULL colormap to get bitmaps, requires very latest GTK from CVS or it will spew warnings and not work. * src/window.c (constrain_size): disallow larger than screen in all cases, even if user has performed a resize operation. (constrain_position): keep window boxed onscreen. * src/keybindings.c (meta_display_process_key_event): revert an earlier change that disabled global keybindings when a grab is in effect; instead, only disable global keybindings if a _keyboard_ grab is in effect. The earlier change was just a broken workaround, the problems it fixed should have been solved by the addition of XGrabKeyboard() on the metacity keyboard grabs. This should fix the problem with pick-up-window-and-move-to-another-desktop. 2001-08-23 Havoc Pennington * src/window.c (update_icon): attempt to use the mask as well as the pixmap. Probably doesn't work so well. * src/tabpopup.c: make this look a little nicer 2001-08-22 Havoc Pennington * src/window.c (update_mwm_hints): all the MWM flag tests were backward 2001-08-22 Havoc Pennington * src/window.c (update_icon): half-ass implementation of getting pixmap icons (WM_NORMAL_HINTS and KWM_WIN_ICON). Ignores mask for now, with possibly ugly results for some apps. (read_rgb_icon): fixage 2001-08-19 Havoc Pennington * src/window.c: add a "fullscreen" semantic type; if a window requests the screen size exactly, and is undecorated, and is not a desktop window, we consider it a fullscreen window and keep it on top. Totally untested. 2001-08-19 Havoc Pennington * src/screen.c (set_supported_hint): we support _NET_WM_ICON * src/wm-tester/main.c: add stuff to test _NET_WM_ICON (but it doesn't work, so it isn't tested yet) * src/window.c (update_icon): read _NET_WM_ICON * src/screen.c (meta_screen_new): set the WM_ICON_SIZE hint * src/tabpopup.c (meta_ui_tab_popup_select): remove assertion * src/window.c (meta_window_get_icon_geometry): fix obscure memleak 2001-08-19 Havoc Pennington * src/display.c (meta_display_grab_window_buttons): remove XSync, error traps already do that (meta_display_grab_window_buttons): implement * src/keybindings.c: src/display.c: wire up the tab window, it rulez! 2001-08-19 Havoc Pennington * src/tabpopup.c: add prototype thingy to display windows we're cycling through with tab. Not wired up to keybindings yet. 2001-08-18 Havoc Pennington * src/effects.c (meta_effects_draw_box_animation): put an XFlush() right after starting things moving 2001-08-18 Havoc Pennington * src/window.c (meta_window_configure_request): (meta_window_move_resize_internal): Make a half-hearted not-very-tested attempt to handle window resizes correctly with respect to window gravity. 2001-08-18 Havoc Pennington * src/window.c (meta_window_get_gravity_position): hrm, I fixed this wrong the other day. Fixes static gravity when moving windows. 2001-08-18 Havoc Pennington * src/ui.c (meta_image_window_set_position): also set the current size. Lame hack of the day. * src/effects.c (effects_draw_box_animation_timeout): use the delay exposes feature to avoid the screen dirt * src/ui.c (meta_ui_push_delay_exposes): (meta_ui_pop_delay_exposes): feature to let us delay redraws until after we do server-grabbed draw-on-inferiors effects 2001-08-17 Havoc Pennington * src/window.c (meta_window_get_gravity_position): fix for StaticGravity 2001-08-09 Havoc Pennington * src/window.c (meta_window_configure_request): Honor USPosition even post-map. I know I'll regret this. 2001-08-07 Havoc Pennington * src/display.c (meta_display_open): set _NET_WM_NAME hint as a UTF8_STRING not STRING. Patch from Anders. 2001-08-06 Havoc Pennington * src/effects.c: disable opaque animations by default, current implementation suXors. 2001-08-06 Havoc Pennington * src/effects.c (meta_effects_draw_box_animation): Get start time after we do the pixbuf from drawable, so we don't count time spent getting pixbuf from drawable in the animation time. 2001-08-06 Havoc Pennington * src/effects.c: add opaque minimize/shade feature. The wireframe seemed kind of confusing and unclear from a UI standpoint. I know, I know. The bloat begins here. Also, we don't need to grab the server during opaque min/shade, which has some nice implications. * src/ui.c: Add features to render a window with an image in it, and also wrap pixbuf_from_drawable * src/effects.c (meta_effects_draw_box_animation): modify to be smoother (at least theoretically) by syncing to current time and "dropping frames" as appropriate. * src/window.c (meta_window_shade): draw animation for shading too 2001-08-05 Anders Carlsson * src/display.h, src/display.c: Add _NET_WM_ICON_GEOMETRY atom. * src/window.c (meta_window_calc_showing): See if the window has an icon geometry and show a morphing animation from the window's coordinates to the icon's coordinates. (meta_window_get_icon_geometry): New function that fetches a window's icon geometry. * src/Makefile.am: Add effects.[ch]. * src/effects.c: New file with cool effects. 2001-08-03 Havoc Pennington * src/keybindings.c: Add Alt + left/right arrow to move between workspaces. * src/screen.c (set_wm_check_hint): put property pointing back to itself on the _WIN_SUPPORTING_WM_CHECK window. 2001-08-03 Havoc Pennington * src/display.c (event_callback): push error trap around configure of withdrawn window, fixes a crash caused by rapidly creating/destroying a window. * src/window.c (recalc_window_features): don't allow shading undecorated windows. * src/wm-tester/main.c: add a program to torture window managers. 2001-08-01 Havoc Pennington * src/window.c (recalc_window_features): if a window isn't resizeable, turn off maximize function. If min size is equal to max size, turn off resize function.