2003-03-29 Havoc Pennington * src/wm-tester/test-gravity.c (main): add --noframes option for testing, showing how broken we currently are. Fri Mar 28 14:13:37 2003 Soeren Sandmann * src/window.c (update_resize): Only cap refresh rate when not using SYNC. Remove bogus update-if-we-moved-more-than-a-delta. * src/window.c (update_move): Don't cap refresh rate during moves. Remove bogus update-if-we-moved-more-than-a-delta. 2003-03-26 Havoc Pennington * NEWS: update * configure.in: release 2.5.0 Sun Mar 23 23:04:06 2003 Soeren Sandmann * src/display.c (meta_spew_event): just return if we are not verbose. 2003-03-11 Havoc Pennington Should fix #108108, #106217, tracked down by Owen Taylor and Frederic Crozat * src/window.c (meta_window_foreach_transient): change MetaWindowForeachFunc to return a boolean for whether to continue (meta_window_foreach_ancestor): new function (window_should_be_showing): use meta_window_foreach_ancestor (unminimize_window_and_all_transient_parents): ditto (update_sm_hints): ditto (meta_window_is_ancestor_of_transient): ditto * src/stack.c (get_maximum_layer_of_ancestor): use meta_window_foreach_ancestor 2003-03-16 Rob Adams * window.c (meta_window_show_menu): Free old window menu if it already exists so we don't end up with more than one. Fix for #108392. 2003-03-14 Rob Adams * contraints.c (get_outermost_screen_positions): Don't try to force a window onscreen by more than its width. Fix for #94815. 2003-03-13 Rob Adams Make it so that the alt-tabbing won't try to go to a minimized window by default. Fix for #107071. * display.c (meta_display_get_tab_list): use a GList instead of a GSList (meta_display_get_tab_next): use meta_display_get_tab_list to decide what the next/previous tab window should be. * display.h (meta_display_get_tab_list): update function prototype to return GList instead of GSList. * screen.c (meta_screen_ensure_tab_popup): update function to deal with GList returned by meta_display_get_tab_list instead of GSList. 2003-03-13 Christian Rose * configure.in: Added "ml" to ALL_LINGUAS. 2003-03-11 Paul Duffy * configure.in: Added "ga" to ALL_LINGUAS 2003-03-11 Rob Adams * src/constraints.c (meta_window_constrain): include left frame geometry when maximizing or fullscreening windows. Fix for #108127. 2003-03-10 Roozbeh Pournader * configure.in: Added "fa" to ALL_LINGUAS. 2003-02-27 Havoc Pennington Switch over to new constraints code, unquestionably introduces some bugs, but should get us on the right path. * src/window.c (meta_window_get_work_area_all_xineramas): create this function again as it turned out to be legitimate for window position constraint (adjust_for_gravity): use the width/height from the configure request to compute the requested move (meta_window_move_resize_internal): use meta_window_constrain (update_size_hints): clamp max size to MAXSHORT to avoid worrying about overflow stuff * src/constraints.c (meta_window_constrain): don't base placement on uninitialized variables, general hacking * src/Makefile.am (metacity_SOURCES): add constraints.c, constraints.h * src/constraints.c (meta_window_constrain): update the cut-and-paste aspect ratio code to have latest bugfixes 2003-03-08 Rob Adams * src/window-props.c (reload_normal_hints): Check that window min and max size hints are at least 1. Fix for #107110. 2003-02-27 Havoc Pennington Changes made on plane from FOSDEM, syncing from laptop. * src/main.c (main): add more debug spew about conditional build stuff (main): panic to "Simple" theme * src/window.c, src/window-props.c: move WM_NORMAL_HINTS and WM_PROTOCOLS to new property system; don't queue move resize on updating WM_PROTOCOLS; move WM_HINTS to new property system; reload icon in an idle handler. 2003-02-28 Mark McLoughlin Give me back my keys. * src/keybindings.c: (meta_window_grab_keys): don't grab keys on DOCK windows. * src/window.c: (recalc_window_type): re-grab the keys. 2003-02-26 Dmitry G. Mastrukov * configure.in: Added Belarusian to ALL_LINGUAS. 2003-02-26 Mark McLoughlin * src/keybindings.c: (handle_panel_keybinding): release the keyboard grab before sending the action message to the panel. 2003-02-24 Mark McLoughlin Take control of the panel's global keybindings. The screenshot utility is hooked up using a special case run_command and the menu and run dialog bindings are done using the _GNOME_PANEL_ACTION ClientMessage protocol. * src/display.[ch]: (meta_display_open): add some atoms. * src/keybindings.c: (handle_panel_keybinding): impl to handle a keybinding by sending an action message to the panel. * src/metacity.schemas.in: add schemas for the panel and screenshot keybindings and the screenshot commands. * src/prefs.[ch]: (update_command), (meta_prefs_get_gconf_key_for_command): impl special case handling for the screenshot commands. They are stored at the the end of the commands array but have named keys. 2003-02-23 Havoc Pennington Patch from Rob Adams addresses #95014 (placement issues), makes first fit algorithm "center tile", adds most code for per-xinerama workspaces (#86682) but disables it for now. * src/workspace.c (meta_workspace_get_work_area_for_xinerama) (meta_workspace_get_work_area_all_xineramas): new xinerama functions, maintain workspace->work_areas with a different work area for each xinerama. However for now all the work areas are the same, because haven't quite figured out how _NET_WM_STRUT is supposed to work * src/window.c: adapt to new meta_window_* xinerama APIs (meta_window_get_work_area_current_xinerama): new xinerama API (meta_window_get_work_area_for_xinerama): new xinerama API (constrain_position): be a bit more clever about which xinerama's work area we choose to use. * src/stack.c: adapt to new Xinerama API * src/screen.c (reload_xinerama_infos): invalidate all work areas (meta_screen_get_xinerama_for_rect): new function (meta_screen_window_intersects_xinerama): new function * src/place.c (find_first_fit): change to use "center tiling" (center a screen full of tiled windows, rather than aligning them top left). Adapt to new xinerama functions. 2003-02-22 Rob Adams * src/metacity.schemas.in: change toggle_maximized to toggle_maximize and toggle_shaded to toggle_shade in action_double_click_titlebar long description to match the values used by metacity * po/*.po: change toggle_maximized to toggle_maximize and toggle_shaded to toggle_shade in action_double_click_titlebar long description to match the values used by metacity 2003-02-22 Rob Adams * window.c (set_wm_state): modify comment to explain why the icon window element is set to None. Fix for #97357 thanks to Gregory Merchan. 2003-02-22 Havoc Pennington * README: fix a typo, pointed out by Steve Kemp 2003-02-22 Havoc Pennington * src/prefs.c (MAX_REASONABLE_WORKSPACES): change max workspaces to 36 #81855 2003-02-22 Havoc Pennington * src/display.c (event_callback): fix to unfocus window only when you leave the window frame, not when you leave the window itself, unless window has no frame. #100248 fix from Orien Vandenbergh 2003-02-22 Havoc Pennington * src/display.c (meta_display_get_tab_next): when tabbing backward, we are still tabbing *from* the most recently used window, not from the least recently used window. * src/keybindings.c (struct _MetaKeyBinding): make keycode unsigned to match XEvent Patch for #84999 based on patch from Mark McLoughlin * src/prefs.c: add an add_shift field to MetaKeyPref to add shift when grabbing the given keybinding. * src/keybindings.c (rebuild_screen_binding_table) (rebuild_window_binding_table): refactor to share code, and honor add_shift field in MetaKeyPref 2003-02-20 Havoc Pennington * src/stack.c (create_constraints): don't create constraints between windows on different screens, #106086 tracked down by Arvind 2003-02-14 Arvind Samptur * src/screen.c: (meta_screen_new) : Update the workspace names from gconf and set the NET_DESKTOP_NAMES atom. Renamed update_workspace_names() to set_workspace_names(). Fixes #105498 2003-02-13 Havoc Pennington * configure.in: require GTK+ 2.2.0 * src/ui.c (meta_ui_init): remove hackaround for Pango X core fonts backend 2003-02-05 Abel Cheung * configure.in: Added "en_GB" and "nl" to ALL_LINGUAS. 2003-02-05 Akira TAGOH * src/main.c (usage): fix a typo and missing option. (#105186) 2003-02-04 Havoc Pennington * src/themes/Simple/ChangeLog: nuke subdir ChangeLog, there can be only one true ChangeLog. 2003-01-30 Havoc Pennington * src/keybindings.c (process_event): match handlers to key events using key codes, not key syms Thu Jan 30 22:55:16 2003 Jonathan Blandford * src/themes/Makefile.am (THEMES): add Simple to the list of themes. * src/metacity.schemas.in: change default theme to Simple. 2003-01-29 Havoc Pennington * src/menu.c (meta_window_menu_new): don't create workspaces menu items if only 1 workspace. Fix for #101952 from Orien Vandenbergh 2003-01-28 Bill Haneman * Re-instated visual-bell patch (please see ChangeLog entry for 2002-12-16 for details). * src/prefs.c: (visual_bell_type_from_string): Accept a NULL string for 'visual-bell-type'. 2003-01-25 Havoc Pennington * src/stack.c (window_is_fullscreen_size): When checking if a window is fullscreen size, only require it to be at the origin of the work area, not at the origin of the screen/xinerama. Still require it to be full screen in width x height. May fix xine in the case where the user has a top panel. * src/window.c (constrain_position): restore the ability for undecorated windows to position themselves overlapping the top panel, but don't let decorated windows do so. Oh the hacks... 2003-01-08 Havoc Pennington * src/screen.c (meta_screen_apply_startup_properties): small code snippet to fix startup sequences that set legacy class/name 2003-01-22 Havoc Pennington * src/async-getprop.c (async_get_property_handler): do not read sizeof(long) off the X connection. The X protocol does not vary by architecture. Fixes longstanding hang on all 64-bit platforms. 2003-01-22 Havoc Pennington * src/tools/Makefile.am: fix conditional so we get metacity-properties.c in the distribution #103071 2003-01-22 Havoc Pennington * src/window.c (update_struts): be robust against the panel's lame "set a negative number for struts" thing, even though we'll also fix the panel. 2003-01-21 Havoc Pennington Fix for the "mangles focus window when switching workspaces and using mouse focus" bug * src/stack.c (meta_stack_get_default_focus_window_at_point): new function * src/screen.c (meta_screen_focus_mouse_window): new function (meta_screen_focus_default_window): new function * src/workspace.c (meta_workspace_activate): use the new meta_screen_focus_default_window() 2003-01-17 Havoc Pennington * src/window.c (meta_window_handle_mouse_grab_op_event): fix event compression code to use GDK algorithm suggested by Owen, should be more efficient. 2003-01-22 Christian Rose * configure.in: Added "mn" to ALL_LINGUAS. 2003-01-21 Havoc Pennington * src/display.c (event_callback): only hop window to the current workspace if the window was previously minimized. Should keep mozilla from popping windows over to your current workspace. 2003-01-20 Havoc Pennington Attempt to fix #85916 * src/keybindings.c (primary_modifier_still_pressed): new function (handle_workspace_switch): handle modifier release prior to getting the grab (do_choose_window): handle modifier release prior to getting the grab * src/keybindings.c (grab_keyboard): properly return failure if the GrabKeyboard doesn't work 2003-01-19 Havoc Pennington * configure.in: add note about how this is the unstable branch, set version to 2.5.0 2003-01-14 Havoc Pennington * src/window.c (meta_window_maximize, meta_window_unmaximize) (meta_window_make_fullscreen, meta_window_unmake_fullscreen): recalc_window_features() after making these changes, should fix #103317 2003-01-14 Rob Adams * src/prefs.c: Increase the number of run_command bindings in screen_bindings from 12 to 32. * src/prefs.h: Increase the number of META_KEYBINDING_COMMAND_N macros from 12 to 32. * src/keybindings.c: Increase the number of run_command handlers from 12 to 32. 2003-01-11 Havoc Pennington * src/window.c (meta_window_handle_mouse_grab_op_event): implement compression of motion events (drop all but the most recently received), guessing at fixes for #103009 2003-01-11 Havoc Pennington * configure.in: add ability to --disable-shape 2003-01-11 Akira TAGOH * configure.in: fix the behavior of --enable-*. 2003-01-10 Havoc Pennington * src/Makefile.am (desktopfiles_in_files): revert that change, I got the wrong .desktop file. doh. 2003-01-10 Havoc Pennington * src/Makefile.am (desktopfiles_DATA): don't install .desktop file for properties dialog if we aren't building/installing the properties dialog. 2003-01-10 Havoc Pennington * NEWS: update * configure.in: bump to 2.4.13, require 2.2.0 for multihead 2003-01-09 James M. Cape * src/themes/Esco/metacity-theme-1.xml: Use a line for the titlebar text bg. 2003-01-09 Havoc Pennington * src/window.c (recalc_window_features): argh, we were making all dialogs skip taskbar; when did that get added. Fix to match libwnck, only skip taskbar when the dialog is transient for some other app window. 2003-01-09 Havoc Pennington * src/metacity.schemas.in: change Windows+click back to Alt+click, Windows+click just surprised everybody and didn't work half the time. Maya users can configure it, and GTK DND can change its default. 2003-01-08 Havoc Pennington * src/metacity.schemas.in: assign Alt+F12 to shade window, per #102658 2003-01-07 Havoc Pennington * src/screen.c (update_num_workspaces): fix off-by-one, patch from readams@hmc.edu, #102806 2003-01-06 Arvind Samptur * src/window.c: (constrain_position) don't apply offscreen height difference. This would get the window under the panel on a resize or a move. Fixes #102418 2003-01-05 Havoc Pennington * src/screen.c (meta_screen_calc_workspace_layout): invert vertical_workspaces cases (we want to go down each column if it's vertical, and across each row if horizontal). Patch from readams@hmc.edu 2003-01-05 Pablo Saratxaga * configure.in: Added Macedonian (mk) to ALL_LINGUAS 2003-01-05 Havoc Pennington * src/frames.c (meta_frames_apply_shapes): put in the HAVE_GTK_MULTIHEAD conditionals so we build with GTK 2.0 2003-01-05 Havoc Pennington * src/window.c (meta_window_show): focus new windows even in mouse focus mode, #89981, patch from readams@hmc.edu 2003-01-05 Havoc Pennington * src/workspace.c (meta_workspace_get_neighbor): redo using new calc_workspace_layout to fix #98302 * src/util.c (topic_name): shorten default prefix * src/screen.c (meta_screen_calc_workspace_layout): enhance this to handle all the funky layouts and calculate more information than before 2003-01-05 Pauli Virtanen * configure.in (ALL_LINGUAS): Added "fi" (Finnish). 2003-01-05 Havoc Pennington * src/frames.c (meta_frames_apply_shapes): handle the client having a shape mask, fixes #101806 * src/core.c (meta_core_get_client_xwindow): new function * src/frame.c, src/frame.h: keep a flag for whether we need to update the frame shape * src/window.c (meta_window_new): select for ShapeNotify * src/display.h, src/display.c: actually query the shape extension, instead of just using it all over the place. * src/prefs.c (update_application_based): don't let people turn on application_based, as it just causes funky bugs. We can reenable the pref when/if it ever does something useful. 2003-01-03 Havoc Pennington * src/display.c: include the Xrandr header file * src/window.c (meta_window_fill_horizontal) (meta_window_fill_vertical): maximize to work area, not entire screen. doh. 2002-12-19 Ross Burton * doc/metacity-theme.dtd: Fix a typo and loosen the requirements for the resize element. 2002-12-19 Havoc Pennington * Reverted visual bell patch, #99886 2002-12-19 Yanko Kaneti * configure.in: (ALL_LINGUAS) Added Bulgarian (bg). 2002-12-18 Havoc Pennington * src/window.c (meta_window_new): select ColormapChangeMask on toplevel windows, maybe a partial fix for #101478 Tue Dec 17 17:50:19 2002 HideToshi Tajima * src/themes/AgingGorilla/metacity-theme-1.xml: added support for border only windows. #100984. 2002-12-17 Havoc Pennington * src/display.c (meta_display_begin_grab_op): don't use "(null)" for null pointers, use "none", so I can distinguish glibc-generated (null) which is a bug. (key_event_description): ditto (meta_display_begin_grab_op): ditto * src/window.c (update_sm_hints): ditto * src/keybindings.c (reload_modmap): ditto (meta_display_process_key_event): ditto 2002-12-17 Havoc Pennington * src/metacity.schemas.in: s/focussed/focused/ 2002-12-17 Havoc Pennington * src/xprops.c (validate_or_free_results): add a comma to message #101401 2002-12-16 Bill Haneman * configure.in: Check for XKB extension. * src/Makefile.am: Added bell.c and bell.h to metacity sources. * src/common.h: (MetaFrameFlags): Added META_FRAME_IS_FLASHING flag. * src/frame.h: (MetaFrame): Added is_flashing field. * src/frame.c: (meta_window_ensure_frame): Initialize the is_flashing flag to FALSE. (meta_frame_get_flags): Handle the FRAME_IS_FLASHING flag. (meta_window_destroy_frame): Call meta_bell_notify_frame_destroy. * src/prefs.h: (MetaPreference): Added META_PREF_VISUAL_BELL, META_PREF_AUDIBLE_BELL, META_PREF_VISUAL_BELL_TYPE. (MetaVisualBellType): New enum. (meta_prefs_get_visual_bell, meta_prefs_bell_is_audible): (meta_prefs_get_visual_bell_type): New accessor declarations. * src/prefs.c: (#includes): Include "display.h", since we now call meta_displays_list() in our update func. (#defines): Define KEY_VISUAL_BELL, KEY_AUDIBLE_BELL, and KEY_VISUAL_BELL_TYPE. (provide_visual_bell, bell_is_audible, visual_bell_type): New static state variables. (update_visual_bell): New method to update visual-bell boolean settings from keys "visual_bell" and "audible_bell". (update_visual_bell_type): New method to update visual-bell type setting. (visual_bell_type_from_string) : New method to convert from gconf string to visual-bell type enum. Only currently recognized values are "fullscreen" and "frame_flash". (change_notify): Handle changes to visual and audible bell properties. (meta_prefs_get_visual_bell, meta_prefs_bell_is_audible): (meta_prefs_get_visual_bell_type): New accessor definitions. (meta_prefs_init): Added a second call to notify_add, listens to "/desktop/gnome/interface" as well as "apps/metacity". Also call the update funcs for the new visual-bell gconf keys. (meta_preference_to_string): Handle the visual/audible bell cases. * src/bell.h: (meta_bell_notify); New method, calls a visual notifucation method based on the visual-bell-type, or none if the type is unrecognized or invalid. (meta_bell_set_audible): New public method for setting the audible bell setting, used in updater for new gconf key "audible_bell". (meta_bell_init): Initialize the bell notification for a display. (meta_bell_shutdown): Shutdown the bell notification for a display. (meta_bell_notify_frame_destroy): Remove pending idle handlers on notification. * src/bell.c: Include "bell.h", and conditionally include . (meta_bell_set_audible): If XKB is present, enable/disable the audible system bell based on the gconf key /desktop/gnome/interface/audible_bell. (meta_bell_init): Query and initialize XKB if present, register for notification on the bell, and set audible bell according to gconf settings. (meta_bell_flash_screen): Maps and unmaps a fullscreen X window (painted white, then black), which causes a fullscreen 'flash' transient. (meta_bell_flash_window_frame): Flashes the titlebar of a specified window. (meta_bell_flash_frame): Calls meta_bell_flash_window_frame on the window which was the source of the current bell event, or the currently focussed window if the event source cannot be determined. (meta_bell_unflash_frame): Restore the frame's appearance to normal. (meta_bell_flash_fullscreen): Call meta_bell_flash_fullscreen for all screens. (meta_bell_shutdown): New method. (meta_bell_notify_frame_destroy): Remove pending idle handlers on notification, testing for frame->is_flashing first. * src/display.h: (MetaDisplay): Added xkb_base_event_type field. * src/display.c: Check for XKB and include "X11/XKBlib.h" if present. (meta_display_open): Call meta_bell_init. (event_callback): Call meta_bell_notify when event comes from XKB and is XkbBellNotify (prefs_changed_callback): Handle META_PREF_AUDIBLE_BELL notification. * src/screen.h: (MetaScreen): Add flash_window field. * src/screen.c: (meta_screen_new): Initialize flash_window field. * src/theme.c: (theme_get_style): New heuristic for focus-style, to invert sense of focus flag when META_FRAME_IS_FLASHING flag is set. * src/metacity.schemas.in: Added scheme information for /apps/metacity/general/visual_bell, /apps/metacity/general/audible_bell, and /apps/metacity/general/visual_bell_type. 2002-12-16 Havoc Pennington * src/window-props.c (init_wm_name): argh, screwed that up. get WM_NAME as VALUE_TEXT_PROPERTY #101383 2002-12-16 Bill Haneman * configure.in: Check for XKB extension. * src/Makefile.am: Added bell.c and bell.h to metacity sources. * src/common.h: (MetaFrameFlags): Added META_FRAME_IS_FLASHING flag. * src/frame.h: (MetaFrame): Added is_flashing field. * src/frame.c: (meta_window_ensure_frame): Initialize the is_flashing flag to FALSE. (meta_frame_get_flags): Handle the FRAME_IS_FLASHING flag. (meta_window_destroy_frame): Call meta_bell_notify_frame_destroy. * src/prefs.h: (MetaPreference): Added META_PREF_VISUAL_BELL, META_PREF_AUDIBLE_BELL, META_PREF_VISUAL_BELL_TYPE. (MetaVisualBellType): New enum. (meta_prefs_get_visual_bell, meta_prefs_bell_is_audible): (meta_prefs_get_visual_bell_type): New accessor declarations. * src/prefs.c: (#includes): Include "display.h", since we now call meta_displays_list() in our update func. (#defines): Define KEY_VISUAL_BELL, KEY_AUDIBLE_BELL, and KEY_VISUAL_BELL_TYPE. (provide_visual_bell, bell_is_audible, visual_bell_type): New static state variables. (update_visual_bell): New method to update visual-bell boolean settings from keys "visual_bell" and "audible_bell". (update_visual_bell_type): New method to update visual-bell type setting. (visual_bell_type_from_string) : New method to convert from gconf string to visual-bell type enum. Only currently recognized values are "fullscreen" and "frame_flash". (change_notify): Handle changes to visual and audible bell properties. (meta_prefs_get_visual_bell, meta_prefs_bell_is_audible): (meta_prefs_get_visual_bell_type): New accessor definitions. (meta_prefs_init): Added a second call to notify_add, listens to "/desktop/gnome/interface" as well as "apps/metacity". Also call the update funcs for the new visual-bell gconf keys. (meta_preference_to_string): Handle the visual/audible bell cases. * src/bell.h: (meta_bell_notify); New method, calls a visual notifucation method based on the visual-bell-type, or none if the type is unrecognized or invalid. (meta_bell_set_audible): New public method for setting the audible bell setting, used in updater for new gconf key "audible_bell". (meta_bell_init): Initialize the bell notification for a display. (meta_bell_shutdown): Shutdown the bell notification for a display. (meta_bell_notify_frame_destroy): Remove pending idle handlers on notification. * src/bell.c: Include "bell.h", and conditionally include . (meta_bell_set_audible): If XKB is present, enable/disable the audible system bell based on the gconf key /desktop/gnome/interface/audible_bell. (meta_bell_init): Query and initialize XKB if present, register for notification on the bell, and set audible bell according to gconf settings. (meta_bell_flash_screen): Maps and unmaps a fullscreen X window (painted white, then black), which causes a fullscreen 'flash' transient. (meta_bell_flash_window_frame): Flashes the titlebar of a specified window. (meta_bell_flash_frame): Calls meta_bell_flash_window_frame on the window which was the source of the current bell event, or the currently focussed window if the event source cannot be determined. (meta_bell_unflash_frame): Restore the frame's appearance to normal. (meta_bell_flash_fullscreen): Call meta_bell_flash_fullscreen for all screens. (meta_bell_shutdown): New method. (meta_bell_notify_frame_destroy): Remove pending idle handlers on notification, testing for frame->is_flashing first. * src/display.h: (MetaDisplay): Added xkb_base_event_type field. * src/display.c: Check for XKB and include "X11/XKBlib.h" if present. (meta_display_open): Call meta_bell_init. (event_callback): Call meta_bell_notify when event comes from XKB and is XkbBellNotify (prefs_changed_callback): Handle META_PREF_AUDIBLE_BELL notification. * src/screen.h: (MetaScreen): Add flash_window field. * src/screen.c: (meta_screen_new): Initialize flash_window field. * src/theme.c: (theme_get_style): New heuristic for focus-style, to invert sense of focus flag when META_FRAME_IS_FLASHING flag is set. * src/metacity.schemas.in: Added scheme information for /apps/metacity/general/visual_bell, /apps/metacity/general/audible_bell, and /apps/metacity/general/visual_bell_type. 2002-12-16 Havoc Pennington * src/window-props.c: use META_PROP_VALUE_STRING_AS_UTF8 so we convert old Latin-1 WM_NAME to UTF-8 * src/xprops.h (enum): add META_PROP_VALUE_STRING_AS_UTF8 to get a latin1 string then convert. 2002-12-15 Havoc Pennington * src/window.c (meta_window_new): get window name before anything else. * src/xprops.c (validate_or_free_results): instead of suggesting how to get window title etc. with xprop, just print out the window title. much better. 2002-12-15 Havoc Pennington * src/xprops.c (validate_or_free_results): make the warning about strange property contents blame the application and explain how to use xprop to diagnose which app is causing the problem. 2002-12-15 Havoc Pennington * src/prefs.c (meta_prefs_change_workspace_name): don't pass NULL string to gconf_client_set_string #101237 2002-12-13 Havoc Pennington * src/tools/Makefile.am (Desktop_in_files): only install .desktop file for metacity-properties if we actually install metacity-properties * src/display.c (event_callback): not focusing on button 2 click was crack, revert that change. 2002-12-09 Havoc Pennington * AUTHORS: add myself here, bug #100789 * src/display.c (meta_display_set_grab_op_cursor): drop PointerMotionHintMask * src/window.c (meta_window_handle_mouse_grab_op_event): don't use XQueryPointer, as we aren't using PointerMotionHint now * src/display.c (event_callback): rearrange a bit of code for slight speedup and clarity * src/window.c (update_resize) (meta_window_handle_mouse_grab_op_event): implement usage of the _METACITY_UPDATE_COUNTER (meta_window_handle_mouse_grab_op_event): fix code that used event->xbutton with a motion event * src/display.c (meta_display_open): add new atoms, and initialize Xsync if we have it (grab_op_is_resizing): new function (meta_display_begin_grab_op): create an alarm monitoring window's _METACITY_UPDATE_COUNTER (meta_spew_event): conditionalize this on WITH_VERBOSE_MODE and print alarm events. * src/window.c (meta_window_new): fetch _METACITY_UPDATE_COUNTER * configure.in (HAVE_XSYNC): check for Xsync extension Mon Dec 9 22:09:56 2002 Soeren Sandmann * src/display.c, src/window.c: Handle crossing events during resizing. (#93384). 2002-12-09 Havoc Pennington * configure.in: 2.4.8 2002-12-08 Havoc Pennington * README: updates * src/window.c (MAX_RESIZES_PER_SECOND): change to 20 instead of 30, just as an experiment. (MOVE_THRESHOLD): change 15 to 20 (RESIZE_THRESHOLD): change 15 to 20 * src/util.c (ensure_logfile): kill this function when verbose mode is disabled. 2002-12-08 Havoc Pennington * src/window.c (meta_window_fill_vertical) (meta_window_fill_horizontal): new functions to resize to fill screen * src/keybindings.c: add vert, horiz maximize * src/prefs.c: had vert, horiz maximize * src/metacity.schemas.in: shorten some overlong short descriptions that make the keybindings capplet look ugly. Add maximize_vertically, maximize_horizontally keys. 2002-12-08 Havoc Pennington * src/prefs.c (meta_prefs_get_application_based): make this always return FALSE for now, to avoid bug reports. * src/util.c (ensure_logfile): put "opened log file" message on stderr so it will normally land in ~/.xsession-errors * configure.in: remove extra AC_ARG_PROGRAM * src/display.c (event_callback): handle the toggle-verbose message * src/tools/metacity-message.c: add a toggle-verbose message, been meaning to do this for a while. * src/util.c (meta_set_verbose): if verbose mode is enabled and we don't support it, then exit. * src/prefs.c: allow building without gconf (currently means some prefs are no-ops) * src/util.c, src/util.h: support defining macros to kill all verbose output entirely. (Removes the code and strings associated with it) * configure.in: don't get METACITY_PROPS_LIBS if not building the config dialog. (HAVE_GCONF): allow building sans gconf, if you are size-sensitive and not using gnome. (WITH_VERBOSE_MODE): add ability to disable all the verbose debug spew strings, to shrink the binary. (--disable-sm): allow SM support to be forced on or off (--disable-startup-notification): allow forcing this on or off 2002-12-08 Havoc Pennington * src/prefs.c (update_workspace_name): also treat empty string as "unset" in this function. Thu Dec 5 18:41:02 2002 HideToshi Tajima * src/window.h (META_WINDOW_IN_NORMAL_TAB_CHAIN, META_WINDOW_IN_DOCK_TAB_CHAIN) : never use a window with input = FALSE take_focus = FALSE in the normal and dock tab chains. #90409 Thu Dec 5 13:56:52 2002 HideToshi Tajima * src/display.c (event_callback): move a window to the current space on the MapRequest when it's not on the space yet. #100390 2002-12-01 Havoc Pennington * src/frames.c (get_control): rearrange this function a bit, so that we return CONTROL_TITLE for anything above the bottom of the titlebar, in the fallback case where no other control was found. Also, don't return RESIZE_N for title rect above the top resize size, unless the window is resizable. (meta_frames_button_press_event): only start a move when clicking control TITLE, not control NONE. This way you don't start moving a nonresizable window if you click its edges. 2002-12-01 Havoc Pennington * src/tools/Makefile.am: conditionalize building the config dialog * configure.in (BUILD_CONFIG_DIALOG): add --enable-config-dialog option to turn on the "window focus" dialog. This is part of deprecating this dialog. 2002-11-30 Havoc Pennington * src/screen.c (STARTUP_TIMEOUT): lengthen to 15 seconds * src/util.c (utf8_fputs): hmm, return a value * src/screen.c (meta_screen_apply_startup_properties): new function to apply initial workspace based on startup sequence. * src/window.c (meta_window_new): load _NET_STARTUP_ID (meta_window_get_startup_id): new function * src/window-props.c (meta_display_init_window_prop_hooks): add hooks for _NET_STARTUP_ID * src/display.c (event_callback): send property events to groups. * src/xprops.c (meta_prop_get_values): make a type of INVALID mean to ignore that property (don't fetch its value). * src/group.c (meta_group_property_notify): new function * src/screen.c (set_supported_hint): support _NET_STARTUP_ID * src/display.c (meta_display_open): add _NET_STARTUP_ID to atoms we initialize * src/group-private.h: private header shared between group-props.c, group.c * src/group-props.h, src/group-props.c: new files to contain functions for retrieving group properties * src/window.c (meta_window_same_application): change this a bit to work with new definition of group * src/group.c (meta_window_get_group): always create a group for every window, using the window's own ID as group leader if required. * src/window.c (update_wm_hints): handle changes to group leader * src/group.c (meta_window_group_leader_changed): new function * src/display.h (struct _MetaDisplay): _NET_WM_WINDOW_TYPE_SPLASH, not SPLASHSCREEN. Reported by Gregory Merchan and Matthias Clasen. * src/screen.c (startup_sequence_timeout): when timing out a startup sequence, send a remove message, don't just time it out locally. 2002-11-26 Calum Benson * src/themes/Crux : Removed alpha layers from the pixmaps that don't need them. Fixes #98389, results in 10-15% speedup on most machines. 2002-11-26 Glynn Foster * configure.in: 2.4.5 2002-11-23 Dan Mills * Makefile.am: remove theme-format.txt, it's now in doc/. 2002-11-22 Havoc Pennington * src/window.c (meta_window_change_workspace): patch from Hidetoshi Tajima to move a window's transients when moving the window between workspaces. #98900 2002-11-21 Havoc Pennington * src/display.c (meta_display_open): init ret_to to RevertToPointerRoot out of sheer paranoia; don't want no RevertToNone in my code! 2002-11-21 Havoc Pennington * src/window.c (update_initial_workspace): delete (meta_window_new): add getting initial workspace to the batch property get call * src/window-props.c (meta_display_init_window_prop_hooks): add net_wm_desktop and win_workspace support 2002-11-20 Havoc Pennington * src/window-props.c (set_icon_title): remove unused variable * src/screen.c (meta_screen_new): read an existing _NET_CURRENT_DESKTOP and restore it if set. Makes a restart even less visible. * src/workspace.c (set_active_space_hint): don't set the hint during the process of unmanaging a screen 2002-11-20 Havoc Pennington * configure.in: add doc/Makefile * doc/metacity-theme.dtd: add DTD for themes from Ross Burton * doc/Makefile.am: doc subdir * doc/theme-format.txt: move to doc subdir 2002-11-19 Havoc Pennington Should really fix #98303 * src/prefs.c (meta_prefs_change_workspace_name): add bad hack to treat empty string the same as null * src/menu.c (get_workspace_name_with_accel): allocate one more than the length of "name" so we have room for a nul byte (and don't malloc(0) on empty strings). Also some formatting cleanups. 2002-11-19 Havoc Pennington * src/window.c (meta_window_client_message): do a recalc_window_features after setting new wm_state in order to update skip_pager in addition to wm_state_skip_pager (set_net_wm_state): base _NET_WM_STATE on skip_pager not wm_state_skip_pager, ditto for skip_taskbar 2002-11-19 Havoc Pennington Fix #98303 and assorted cleanup * src/prefs.c (meta_preference_to_string): handle META_PREF_WORKSPACE_NAMES * src/menu.c (get_workspace_name_with_accel): assert that the workspace has a name * src/screen.c (meta_screen_ensure_workspace_popup): assert that we got a workspace name (meta_screen_ensure_workspace_popup): assert that we got a workspace name * src/prefs.c (update_workspace_name): fix screwiness (strcmp with a freed string, assorted bad logic) (init_workspace_names): assert that we filled in a default workspace name (meta_prefs_get_workspace_name): assert non-NULL workspace name 2002-11-16 Bill Haneman * src/themes/Atlanta/metacity-theme-1.xml: Changed outer bevel and focus line color to work better with inverse themes (no effect on Default or other existing gtk+ themes). 2002-11-13 Havoc Pennington * src/ui.c (get_cmap): fix a multihead safety thing (use proper system colormap for the drawable's screen) Thu Nov 14 17:30:10 2002 Jonathan Blandford * src/Makefile.am (libmetacityinclude_HEADERS): include common.h. 2002-11-12 Havoc Pennington * src/theme.c (draw_op_as_pixbuf): don't read from op->data.image when the op is an icon 2002-11-12 Havoc Pennington * src/stack.c (meta_stack_get_default_focus_window): never use a window with input = FALSE take_focus = FALSE as the default focus window #95454 fix from Hidetoshi Tajima 2002-11-10 James M. Cape * src/themes/Esco/metacity-theme-1.xml: Major changes to look of theme. I'd also recommend "minimize,maximize:close" for the button_layout, it looks really slick :-). 2002-11-08 Mark McLoughlin * src/workspace.c: (meta_motion_direction_to_string), (meta_screen_corner_to_string): impl for nice debugging. (meta_workspace_get_neighbor): fix broken logic and cleanup debugging. Thu Nov 7 17:07:21 2002 Jonathan Blandford * src/libmetacity-private.pc.in: add a pc file for libmetacity-private * src/Makefile.am: Install a few files as a shared library so that others can draw metacity themes. 2002-11-06 Havoc Pennington * src/keybindings.c (grab_keys): push an error trap around the whole window-key-grab loop (ungrab_all_keys): avoid requiring return value from the error trap, unless in debugging mode (regrab_window_bindings, regrab_screen_bindings): push traps around the loops, for efficiency * src/display.c (event_callback): fix from Padraig O'Briain to compress extra MappingNotify events to avoid extra work. 2002-11-05 Calum Benson * src/themes/Crux/active-restore-button.png: * src/themes/Crux/inactive-restore-button.png: * src/themes/Crux/metacity-theme-1.xml: add a restore button for maximized windows, and un-hard-code titlebar text colors. Fixes #97759. 2002-11-05 Havoc Pennington * src/workspace.c (meta_workspace_get_neighbor): apply patch from Nikos Mouat to fix this function 2002-11-04 Havoc Pennington * src/theme.c (scale_and_alpha_pixbuf): fix bug I introduced in case where scaling was done in both directions. 2002-11-04 Havoc Pennington Patch from Brian Cameron to implement the vertical/horizontal striped image accelerated scaling from the gtk pixbuf engine. * src/theme.c (scale_and_alpha_pixbuf): if an image is vertical/horizontal stripes, use special extra-fast scaling routines. * src/theme-parser.c (parse_draw_op_element): when loading an image, mark it as vertically/horizontally striped when appropriate 2002-11-04 Erwann Chenede - * src/xprops.c (meta_prop_get_values): changed __FUNCTION__ to G_GNUC_FUNCTION as __FUNCTION__ is not portable. 2002-11-03 Havoc Pennington * src/display.c (meta_display_grab): remove XSync calls from here (meta_display_ungrab): remove XSync from here, but put in an XFlush to be sure we get the ungrab sent. * src/util.c (meta_topic): track sync count here * src/errors.c: move sync count out of here Throughout: error spew on all XSync() calls * src/run-metacity.sh: don't set METACITY_DEBUG 2002-11-03 Havoc Pennington * src/window-props.c (meta_display_init_window_prop_hooks): add _NET_WM_NAME, WM_NAME, _NET_WM_ICON_NAME, WM_ICON_NAME support * src/window.c (meta_window_new): use window-props.h for _NET_WM_NAME, WM_NAME, _NET_WM_ICON_NAME, WM_ICON_NAME 2002-11-03 Havoc Pennington * src/window.c (meta_window_new): use window-props.h stuff for a couple of properties (implement_showing): fix printf string * src/xprops.c (meta_prop_free_values): new function * src/window-props.h, src/window-props.c: start moving code that handles loading window properties into this file. 2002-11-03 Havoc Pennington * src/stack.c (create_constraints): filter out windows that aren't in the stack for whatever reason, avoids a crash 2002-11-03 Havoc Pennington * src/window.c (meta_window_calc_showing): split into "see if we should be showing" and "actually show/hide" functions (idle_calc_showing): rework to first unmap all newly-hidden windows from bottom to top then map all newly-showing windows from top to bottom resulting in fewer ex