1. 22 Oct, 2004 1 commit
    • Elijah Newren's avatar
      Update _NET_WM_STATE_HIDDEN so the pager on the panel will know whether to · 6d77251c
      Elijah Newren authored
      2004-10-22  Elijah Newren  <newren@math.utah.edu>
      
      	Update _NET_WM_STATE_HIDDEN so the pager on the panel will know
      	whether to display windows as visible or hidden (#105665)
      
      	* src/screen.c (queue_windows_showing): Revert the
      	queue_windows_showing portion of the patch committed on 2004-10-16
      	for #142198--it was an ill-advised optimization.
      
      	* src/window.c (window_showing_on_its_workspace,
      	window_should_be_showing): split the old window_should_be_showing
      	into these two functions, (set_net_wm_state): hidden state is more
      	complex; use window_showing_on_its_workspace to determine the
      	correct value
      6d77251c
  2. 20 Oct, 2004 1 commit
    • Elijah Newren's avatar
      Patch from Soeren to fix the modifier key breakage introduced by an Xorg · ccd4414a
      Elijah Newren authored
      2004-10-20  Elijah Newren  <newren@math.utah.edu>
      
      	Patch from Soeren to fix the modifier key breakage introduced by
      	an Xorg change. (fixes #151554)
      
      	* src/keybindings.c: include X11/XKBlib.h if available,
      	(handle_spew_mark): remove this unused function declaration,
      	(end_keyboard_grab): new function, uses XKB if available,
      	(process_tab_grab): use end_keyboard_grab to determine whether to
      	end the grab, (error_on_command): make key a const char *,
      	(process_workspace_switch_grab): use end_keyboard_grab to
      	determine whether to end the grab
      ccd4414a
  3. 19 Oct, 2004 2 commits
  4. 17 Oct, 2004 1 commit
    • Elijah Newren's avatar
      Make the "showing desktop" mode be per-workspace instead of per-screen. · e84778d1
      Elijah Newren authored
      2004-10-16  Elijah Newren  <newren@math.utah.edu>
      
      	Make the "showing desktop" mode be per-workspace instead of
      	per-screen. (fixes #142198)
      
      	* src/keybindings.c (handle_toggle_desktop): access
      	showing_desktop through the active workspace
      
      	* src/screen.c (meta_screen_new): remove initialization of
      	screen->showing_desktop,
      	(meta_screen_update_showing_desktop_hint): rename and make not
      	static and access showing_desktop through the active workspace,
      	(queue_windows_showing): replace meta_display_list_windows() with
      	screen->active_workspace->windows,
      	(meta_screen_minimize_all_on_active_workspace_except): renamed
      	from meta_screen_minimize_all_except since it now only works on
      	the active workspace, (meta_screen_show_desktop,
      	meta_screen_unshow_desktop): access showing_desktop through the
      	active workspace
      
      	* src/screen.h (struct _MetaScreen): remove showing_desktop field,
      	(meta_screen_minimize_all_on_active_workspace_except): rename from
      	meta_screen_minimize_all_except,
      	(meta_screen_update)_showing_desktop_hint): export this function too
      
      	* src/window.c (maybe_leave_show_desktop_mode): access
      	showing_desktop through the active workspace and use new name for
      	meta_screen_minimize_all_on_active_workspace_except,
      	(window_should_be_showing): access showing_desktop through the
      	active workspace
      
      	* src/workspace.c (meta_workspace_new): initialize
      	workspace->showing_desktop, (meta_workspace_activate_with_focus):
      	add note that old can be NULL, update showing_desktop_hint if
      	different on this workspace than the previous one
      
      	* src/workspace.h (struct _MetaWorkspace): add showing_desktop
      	field
      e84778d1
  5. 16 Oct, 2004 1 commit
    • Elijah Newren's avatar
      Add new tracker bugs · e6fe4406
      Elijah Newren authored
      2004-10-16  Elijah Newren  <newren@math.utah.edu>
      
      	* rationales.txt: Add new tracker bugs
      e6fe4406
  6. 15 Oct, 2004 2 commits
  7. 14 Oct, 2004 2 commits
  8. 13 Oct, 2004 3 commits
    • David Lodge's avatar
      Updated British English translation. · 0ff5eea9
      David Lodge authored
      2004-10-13  David Lodge <dave@cirt.net>
      
              * en_GB.po: Updated British English translation.
      0ff5eea9
    • Elijah Newren's avatar
      Code cleanup · 05388194
      Elijah Newren authored
      2004-10-13  Elijah Newren  <newren@math.utah.edu>
      
      	Code cleanup
      
      	* src/window.c (is_in_dock_group, docks_at_end_cmp,
      	shuffle_docks_to_end): removed functions,
      	(meta_window_notify_focus): no need to call is_in_dock_group or
      	shuffle_docks_to_end because of the patch from #120100 that was
      	committed.
      05388194
    • Vincent Untz's avatar
      Add a keybinding to launch a terminal · b03558dc
      Vincent Untz authored
      2004-10-13  Vincent Untz  <vincent@vuntz.net>
      
      	Add a keybinding to launch a terminal
      
      	* src/keybindings.c: (handle_run_terminal): new function,
      	(error_on_generic_command): new function, (error_on_command): wrapper
      	around error_on_generic_command(), (error_on_terminal_command): new
      	function
      
      	* src/metacity.schemas.in: add run_command_terminal key
      
      	* src/prefs.[ch]: (meta_prefs_init): cache the terminal command and
      	register a gconf callback to update it, (change_notify): handle the
      	notification of terminal command changes, (meta_preference_to_string):
      	add the terminal command case, (update_terminal_command): new function,
      	(meta_prefs_get_terminal_command): new function,
      	(meta_prefs_get_gconf_key_for_terminal_command): new function
      b03558dc
  9. 11 Oct, 2004 2 commits
    • Rob Adams's avatar
      bump version to 2.9.0. Add UNSTABLE warning. · 278b5807
      Rob Adams authored
      2004-10-11  Rob Adams  <readams@readams.net>
      
      	* configure.in: bump version to 2.9.0.  Add UNSTABLE warning.
      278b5807
    • Rob Adams's avatar
      2.8.6 == · 13e0c20a
      Rob Adams authored
      2.8.6
      ==
      
      This is a stable release for Gnome 2.8.1.
      
      Thanks to the Ken Harris, Kjartan Maraas, and the tireless efforts of
      Elijah Newren for fixes in this release.
      
      Fixes
        * Ensure the correct window is focused when minimizing (Elijah)
        * Fix keynav with mouse focus (Elijah)
        * Fix several race conditions in window focusing (Elijah)
        * Focus the top window when lowering by frame click (Ken)
        * Fix some compiler warnings (Kjartan)
        * Fix some valgrind-reported errors (Elijah)
        * Fix some potential issues with autoraising windows (Elijah)
      
      Translations
        * en_CA(Adam Weinberger), it(Luca Ferretti)
      13e0c20a
  10. 08 Oct, 2004 2 commits
    • Elijah Newren's avatar
      Fix middle-frame-click-to-lower focus inconsistency (#154601) · 81fe6499
      Elijah Newren authored
      2004-10-08  Elijah Newren  <newren@math.utah.edu>
      
      	Fix middle-frame-click-to-lower focus inconsistency (#154601)
      
      	* src/core.c (meta_core_user_lower_and_unfocus): focus the default
      	window in all focus modes, not just click-to-focus (EnterNotify
      	events will not handle this case for sloppy and mouse focus)
      
      	* src/display.c (event_callback): replace window->has_focus with
      	window == display->expected_focus_window to avoid a race issue
      81fe6499
    • Elijah Newren's avatar
      Alter the meaning of expected_focus_window; doesn't affect current · 79b4de04
      Elijah Newren authored
      2004-10-08  Elijah Newren  <newren@math.utah.edu>
      
               Alter the meaning of expected_focus_window; doesn't affect
      	 current operation but assists in fixing some other bugs
      	 (#154598)
      
      	* src/display.c (meta_display_focus_the_no_focus_window): set the
      	expected_focus_window to NULL.
      
      	* src/window.c (meta_window_notify_focus): don't NULL the
      	expected_focus_window when that window receives a FocusIn event
      79b4de04
  11. 04 Oct, 2004 5 commits
    • Elijah Newren's avatar
      if the root window gets focused, set the focus to the default window; this · 714fb3d5
      Elijah Newren authored
      2004-10-04  Elijah Newren  <newren@math.utah.edu>
      
      	* src/display.c (event_callback): if the root window gets focused,
      	set the focus to the default window; this fixes the
      	"focus-follows-mouse" behavior seen for click-to-focus mode after
      	cancelling log out (fixes #153220)
      714fb3d5
    • Elijah Newren's avatar
      Fix a variety of issues with autoraise (#134206) · 70e40c23
      Elijah Newren authored
      2004-10-04  Elijah Newren  <newren@math.utah.edu>
      
      	Fix a variety of issues with autoraise (#134206)
      
      	* src/display.h: (struct _MetaDisplay): add an autoraise_window
      	parameter
      
      	* src/display.[hc] (meta_display_focus_the_no_focus_window): new
      	function, (meta_display_queue_autoraise_callback): new function,
      	(meta_display_remove_autoraise_callback): new function
      
      	* src/display.c (meta_display_open): intialize
      	display->autoraise_window too, (meta_display_close): remove any
      	pending autoraise callback, (window_raise_with_delay_callback):
      	clear out auto_raise->display->autoraise_window too,
      	(event_callback): call meta_display_queue_autoraise_callback
      	instead of having the code inline, call
      	meta_display_focus_the_no_focus_window to handle focusing that
      	window
      
      	* src/window.c (meta_window_focus): If there's a window with an
      	autoraise timeout that isn't the window being focused, remove the
      	autoraise timeout
      
      	* src/workspace.c (meta_workspace_focus_default_window): If no
      	autoraise timeout is queued for the given window then queue one
      	now, call meta_display_focus_the_no_focus_window to handle
      	focusing that window, (meta_workspace_focus_mru_window): call
      	meta_display_focus_the_no_focus_window to handle focusing that
      	window
      70e40c23
    • Elijah Newren's avatar
    • Elijah Newren's avatar
      When no window becomes focused, focus the default window instead of · 546fe7b5
      Elijah Newren authored
      2004-10-04  Elijah Newren  <newren@math.utah.edu>
      
      	* src/display.c (event_callback): When no window becomes focused,
      	focus the default window instead of punting to the
      	no_focus_window.  Also, change the warning to a verbose
      	message--this will happen frequently due to brain-damage in the X
      	protocol.  (see #125492)
      546fe7b5
    • Elijah Newren's avatar
      Fix a variety of focus race conditions in all focus modes, or at least · 16b9aff4
      Elijah Newren authored
      2004-10-04  Elijah Newren  <newren@math.utah.edu>
      
      	Fix a variety of focus race conditions in all focus modes, or at
      	least make them harder to trigger (fixes #152000)
      
      	* src/core.[ch] (meta_core_user_lower_and_unfocus): add a
      	timestamp parameter; pass it along to
      	meta_workspace_focus_default_window
      
      	* src/display.[ch] (meta_display_get_current_time_roundtrip): new
      	function
      
      	* src/display.c (event_callback): pass a timestamp to the
      	meta_workspace_activate and meta_workspace_focus_default_window
      	function calls
      
      	* src/frames.c (meta_frames_button_press_event): pass a timestamp
      	to meta_core_user_lower_and_unfocus
      
      	* src/keybindings.c (handle_activate_workspace): pass a timestamp
      	to meta_workspace_activate, (process_workspace_switch_grab): pass
      	a timestamp to meta_workspace_focus_default_window and
      	meta_workspace_activate, (handle_toggle_desktop): pass a timestamp
      	to meta_workspace_focus_default_window,
      	(do_handle_move_to_workspace): pass a timestamp to
      	meta_workspace_activate_with_focus, (handle_workspace_switch):
      	meta_workspace_activate
      
      	* src/screen.c (meta_screen_new): pass a timestamp to
      	meta_workspace_activate
      
      	* src/window.c (meta_window_free): pass a timestamp to
      	meta_workspace_focus_default_window, (idle_calc_showing): don't
      	increment the focus sentinel here, (meta_window_minimize): pass a
      	timestamp to meta_workspace_focus_default_window,
      	(meta_window_client_message), pass a timestamp to
      	meta_workspace_focus_default_window
      
      	* src/workspace.h (meta_workspace_activate): add timestamp
      	parameter, (meta_workspace_activate_with_focus): add timestamp
      	parameter, (meta_workspace_focus_default_window): add timestamp
      	parameter
      
      	* src/workspace.c (meta_workspace_focus_mru_window): make this
      	function take a timestamp and use it for meta_window_focus or
      	XSetInputFocus, (meta_workspace_activate_with_focus): make this
      	function take a timestamp and pass it along to meta_window_focus
      	and meta_workspace_focus_default_window,
      	(meta_workspace_activate): make this function take a timestamp and
      	pass it to meta_workspace_activate_with_focus),
      	(meta_workspace_focus_default_window): make this function take a
      	timestamp, warn if its 0 but try to handle that case sanely, and
      	pass the timestamp on to meta_window_focus or
      	meta_workspace_focus_mru_window or XSetInputFocus
      16b9aff4
  12. 29 Sep, 2004 1 commit
  13. 26 Sep, 2004 1 commit
  14. 22 Sep, 2004 2 commits
    • Elijah Newren's avatar
      Focus the default window after the user dismisses the workspace switcher · 7b1e5719
      Elijah Newren authored
      2004-09-22  Elijah Newren  <newren@math.utah.edu>
      
      	* src/keybindings.c (process_workspace_switch_grab): Focus the
      	default window after the user dismisses the workspace switcher
      	popup (fixes #123803; note that an alternate fix was made
      	independently by David Baron for sloppy and mouse focus users)
      7b1e5719
    • Elijah Newren's avatar
      Fix some uninitialized variable errors reported by valgrind (see #153338) · 3b9ec3ce
      Elijah Newren authored
      2004-09-22  Elijah Newren  <newren@math.utah.edu>
      
      	Fix some uninitialized variable errors reported by valgrind (see
      	#153338)
      
      	* src/display.c (meta_display_open): initialize
      	display->grab_resize_timeout_id, and display->grab_have_keyboard
      
      	* src/ui.c (meta_ui_create_frame_window): initialize attrs.width
      	and attrs.height
      3b9ec3ce
  15. 19 Sep, 2004 1 commit
  16. 17 Sep, 2004 1 commit
  17. 16 Sep, 2004 3 commits
    • Kjartan Maraas's avatar
      A load of fixes of issues reported by sparse. Closes bug #152849 · 43cc3b86
      Kjartan Maraas authored
      2004-09-17  Kjartan Maraas  <kmaraas@gnome.org>
      
      	* src/bell.c: (meta_bell_flash_screen):
      	* src/compositor.c:
      	* src/effects.c: (meta_effects_draw_box_animation):
      	* src/fixedtip.c: (meta_fixed_tip_show):
      	* src/frame.c: (find_argb_visual):
      	* src/frames.c: (unsigned_long_hash), (meta_frames_manage_window),
      	(meta_frames_apply_shapes):
      	* src/iconcache.c: (find_largest_sizes), (find_best_size):
      	* src/keybindings.c: (meta_spawn_command_line_async_on_screen):
      	* src/main.c: (main):
      	* src/menu.c: (meta_window_menu_new):
      	* src/prefs.c: (meta_prefs_get_visual_bell),
      	(meta_prefs_bell_is_audible), (meta_prefs_get_visual_bell_type),
      	(meta_prefs_get_action_double_click_titlebar),
      	(meta_prefs_get_auto_raise), (meta_prefs_get_auto_raise_delay),
      	(meta_prefs_get_reduced_resources):
      	* src/screen.c: (meta_create_offscreen_window):
      	* src/tabpopup.c: (meta_ui_tab_popup_get_selected):
      	* src/theme-parser.c: (meta_theme_load):
      	* src/theme.c: (meta_gtk_widget_get_font_desc):
      	* src/tools/metacity-mag.c: (mouse_press), (begin_area_grab):
      	* src/util.c: (meta_unsigned_long_hash): A load of fixes of issues
      	reported by sparse. Closes bug #152849
      43cc3b86
    • Elijah Newren's avatar
      Remove some redundant code regarding focusing the default window (#152117) · 9d9c7444
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	* src/display.c (event_callback): Remove some redundant code
      	regarding focusing the default window (#152117)
      9d9c7444
    • Elijah Newren's avatar
      Patch from Ken Harris in #135786 to focus a new default window when · 63e1624b
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	Patch from Ken Harris in #135786 to focus a new default window
      	when lowering via middle-click on the frame.
      
      	* src/core.[hc], src/frames.c: rename meta_core_user_lower to
      	meta_core_user_lower_and_unfocus
      
      	* src/core.c (meta_core_user_lower_and_unfocus): if in
      	click-to-focus mode then also move the window to the back of the
      	mru list and focus the new default window for the active workspace
      63e1624b
  18. 15 Sep, 2004 6 commits
    • Elijah Newren's avatar
      Focus the no_focus_window if no suitable window is in the mru list (should · cffe7e95
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	Focus the no_focus_window if no suitable window is in the mru list
      	(should fix the almost contrived extra issue found in #147475)
      
      	* doc/how-to-get-focus-right.txt: We no longer need to lie about
      	only focusing panels upon explicit request.
      
      	* src/workspace.c: (meta_workspace_focus_top_window): removed this
      	function--it was more code than needed and was unreliable anyway,
      	(meta_workspace_focus_mru_window): if a suitable window isn't in
      	the mru list, focus the no_focus_window instead of calling
      	focus_top_window.
      cffe7e95
    • Elijah Newren's avatar
    • Elijah Newren's avatar
      Prevent focus inconsistencies by only providing one focus method (fixes · 101a097f
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	Prevent focus inconsistencies by only providing one focus method
      	(fixes #151990)
      
      	* src/screen.c (meta_screen_show_desktop): remove call to
      	meta_workspace_focus_top_window (it was merely focusing a window
      	that was going to be hidden anyway, and likely the one that
      	already had focus)
      
      	* src/workspace.[hc]: remove meta_workspace_focus_mru_window and
      	meta_workspace_focus_top_window from workspace.h, make them static
      	functions in workspace.c
      101a097f
    • Elijah Newren's avatar
      Remove race condition for focus window choice on window close followed by · 5ac6fcad
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	Remove race condition for focus window choice on window close
      	followed by rapid mouse movement in sloppy and mouse focus modes
      	(fixes #152000)
      
      	* src/window.c (meta_window_free): Don't increment the focus
      	sentinel for windows being freed, (idle_calc_showing): don't
      	increment the focus sentinel for windows being minimized
      5ac6fcad
    • Elijah Newren's avatar
      Fix unwanted loss of focus to the mouse window when using keynav (fixes · a880f5d4
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	Fix unwanted loss of focus to the mouse window when using keynav
      	(fixes #101190)
      
      	* src/display.c (event_callback): Ignore EnterNotify events with
      	xcrossing.mode of either NotifyGrab or NotifyUngrab
      a880f5d4
    • Elijah Newren's avatar
      Focus correct window after minimizing via the tasklist (fixes #128200; see · 4b9fe2ca
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	Focus correct window after minimizing via the tasklist (fixes
      	#128200; see also #107681)
      
      	* src/display.h (struct _MetaDisplay): track the
      	previously_focused_window
      
      	* src/display.c (meta_display_open): initialize
      	previously_focused_window
      
      	* src/window.c (meta_window_free): clear the
      	previously_focused_window if it's being freed,
      	(meta_window_client_message): if we get a request to minimize the
      	previously_focused_window and the focus_window is a dock or the
      	desktop, focus the default window, (meta_window_notify_focus):
      	update the previously_focused_window
      4b9fe2ca
  19. 14 Sep, 2004 3 commits