1. 13 Jan, 2006 1 commit
    • Søren Sandmann's avatar
      Add a dependency on libcm when building with compositor. · fea61914
      Søren Sandmann authored
      Fri Jan 13 14:40:19 2006  Søren Sandmann  <sandmann@redhat.com>
      
      	* configure.in: Add a dependency on libcm when building with
      	compositor.
      
      	* src/window.c (meta_window_hide): Make this function static.
      
      	* src/window.c (implement_showing): Use meta_compositor_minimize()
      	to do a weird minimize effect.
      
      	* src/compositor.[ch]: Beginning of new GL based compositor.
      
      	* src/screen.h (struct _MetaScreen): Add void pointer to
      	compositor data.
      
      	* src/screen.c (meta_screen_new): Remove obsolete compositor
      	stuff; initialize compositor_data. Don't composite manage screen
      	out of this function.
      
      	* src/errors.c (x_error_handler): Check that display is non-NULL
      	before using it. Add comment about how that can happen.
      
      	* src/display.c (meta_display_{begin,end}_grab_op): Remove
      	explicity damage of windows.
      
      	* src/display.c (meta_display_open): Composite manage all the
      	screens.
      fea61914
  2. 11 Jan, 2006 5 commits
  3. 10 Jan, 2006 17 commits
    • Elijah Newren's avatar
      post-release version bump to 2.13.21 · 51b8c402
      Elijah Newren authored
      2006-01-10  Elijah Newren  <newren@gmail.com>
      
      	* configure.in: post-release version bump to 2.13.21
      51b8c402
    • Elijah Newren's avatar
      2.13.13 release · f0322ee7
      Elijah Newren authored
      2006-01-10  Elijah Newren  <newren@gmail.com>
      
      	* NEWS:	2.13.13 release
      f0322ee7
    • Elijah Newren's avatar
      Whoops, I forgot to keep my copyright info updated with my previous · 5913b8c5
      Elijah Newren authored
      2006-01-10  Elijah Newren  <newren@gmail.com>
      
      	* src/bell.c:
      	* src/boxes.c:
      	* src/boxes.h:
      	* src/constraints.c:
      	* src/core.c:
      	* src/display.c:
      	* src/display.h:
      	* src/edge-resistance.c:
      	* src/frames.c:
      	* src/keybindings.c:
      	* src/main.c:
      	* src/prefs.c:
      	* src/prefs.h:
      	* src/screen.c:
      	* src/screen.h:
      	* src/window.c:
      	* src/window.h:
      	Whoops, I forgot to keep my copyright info updated with my previous
      	commits as Havoc had asked me to do.  Doing that now...
      5913b8c5
    • Elijah Newren's avatar
      Add a raise on click option, basically only because all the major distros · 52df880f
      Elijah Newren authored
      2006-01-10  Elijah Newren  <newren@gmail.com>
      
      	Add a raise on click option, basically only because all the major
      	distros are patching it in anyway.  See #326156.
      
      	* src/metacity.schemas.in: add the new gconf key and explanation
      
      	* src/prefs.[ch] (#define KEY_RAISE_ON_CLICK, static gboolean
      	  raise_on_click, update_raise_on_click, meta_prefs_init,
      	  change_notify, meta_prefs_get_raise_on_click,
      	  meta_preference_to_string):
      	Add all the normal preference handling stuff for this new
      	raise-on-click option.
      
      	* src/core.c (meta_core_show_window_menu):
      	* src/display.c (event_callback, meta_display_begin_grab_op):
      	* src/window.c (window_activate, meta_window_configure_request, ):
      	Only raise the window if in raise_on_click mode.
      
      	* src/display.c (meta_display_begin_grab_op,
      	  meta_display_end_grab_op, meta_display_check_threshold_reached):
      	* src/display.h (struct MetaDisplay):
      	* src/window.c (meta_window_handle_mouse_grab_op_event):
      	if not in raise-on-click mode only raise on button release if the
      	click didn't start a move or resize operation; needs a few extra
      	MetaDisplay fields to handle this
      
      	* src/core.c (meta_core_user_lower_and_unfocus):
      	no need to do the MRU shuffling if not maintaining the stacking
      	order == MRU order invariant
      
      	* src/frames.c (meta_frames_button_press_event):
      	* src/window.c (meta_window_begin_grab_op):
      	remove an unneeded window raising that is already handled elsewhere
      52df880f
    • Elijah Newren's avatar
      Don't "steal" focus from terminal windows for new window mappings as the · f6270596
      Elijah Newren authored
      2006-01-10  Elijah Newren  <newren@gmail.com>
      
      	Don't "steal" focus from terminal windows for new window mappings
      	as the difference in usage between terminals and other apps seems
      	to suggest this difference in treatment.  See #326159 for details,
      	feedback welcome.
      
      	* src/window.[ch] (__window_is_terminal): New function, currently
      	an ugly hack and should be replaced by a new property set by
      	applications if the behavior works to our liking,
      	(window_state_on_map): don't transfer focus to new windows from
      	terminals unless the new window is a transient of the focused
      	terminal
      
      	* src/keybindigns.c (handle_panel_keybinding): panel run dialog
      	keybinding should be counted as an explicit transfer of focus to
      	the new window, so override the
      	don't-transfer-focus-from-terminals in this case
      f6270596
    • Elijah Newren's avatar
      More thorough handling of source indication. Part of #326041. · a4d1c6fd
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	More thorough handling of source indication.  Part of #326041.
      
      	* src/window.c (window_activate): new function based off the old
      	meta_window_activate but which also takes source indication into
      	account, (meta_window_active): just call window_activate() with
      	the necessary source indication to get the behavior wanted,
      	(meta_window_client_message): check source indication too for
      	_net_active_window messages
      
      	* src/window.h (enum MetaClientType): convenience enum for source
      	indication handling
      a4d1c6fd
    • Elijah Newren's avatar
      Make the taskbar less flash happy and fix up some related stacking issues. · 0f8add8b
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	Make the taskbar less flash happy and fix up some related stacking
      	issues.  #326035.
      
      	* src/window.c (windows_overlap): new function,
      	(meta_window_show): if a window is denied focus but doesn't
      	overlap with the focus window there is no need to set the demands
      	attention hint nor stack that window below the focus window,
      	(meta_window_get_outer_rect): we're not modifying the window so
      	declare it to be const
      0f8add8b
    • Elijah Newren's avatar
      Fix window outline for minimized windows when using alt-esc. #325092. · 8c5b6c87
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	Fix window outline for minimized windows when using alt-esc.
      	#325092.
      
      	* src/display.c (meta_display_begin_grab_op): Specify the showing
      	type of tabbing operation (Alt tab vs. alt-esc) in addition to the
      	listing type of tabbing operation (docks vs normal windows) to
      	meta_screen_ensure_tab_popup().
      
      	* src/display.h (enum MetaTabShowType): new convenience enum
      
      	* src/screen.[ch] (meta_screen_ensure_tab_popup): require the
      	showing type be specified in addition to the tabbing type; put the
      	outline around the window instead of the icon when in alt-esc
      	mode.
      8c5b6c87
    • Elijah Newren's avatar
      Fix reduced resources resize handling for windows with sizing or resizing · ae52d731
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	Fix reduced resources resize handling for windows with sizing or
      	resizing constraints.  #325774.
      
      	* src/display.c (meta_display_end_grab_op): Provide constraints.c
      	with the correct gravity information.
      ae52d731
    • Elijah Newren's avatar
      Be more strict about what is considered a valid region with partial · d884f9ce
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	Be more strict about what is considered a valid region with
      	partial struts.  Fixes #322070.
      
      	* src/boxes.[ch]:
      	(meta_rectangle_expand_region_conditionally):
      	new function behaving like meta_rectangle_expand_region() but
      	which only does so when the width and height of the rectangles
      	meet a certain threshold
      
      	(replace_rect_with_list):
      	Remove a compiling warning
      
      	* src/constraints.c:
      	(constrain_partially_onscreen):
      	provide minimum thresholds in each direction for the size of the
      	rectangles to avoid cases where only a single pixel thick layer of
      	a window might be showing
      d884f9ce
    • Elijah Newren's avatar
      Use the right function to remove the timeout so that we don't crash if · ee54debd
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	* src/bell.c (meta_bell_notify_frame_destroy): Use the right
      	function to remove the timeout so that we don't crash if removed
      	at an inopportune time.  Fixes #322031.
      ee54debd
    • Elijah Newren's avatar
      Remove the "pull-away" edge resistance. Fixes another of the zillions of · 24cfed8c
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	* src/edge-resistance.c (apply_edge_resistance): Remove the
      	"pull-away" edge resistance.  Fixes another of the zillions of
      	issues covered in #321905.
      24cfed8c
    • Elijah Newren's avatar
      Revert to the old edge resistance behavior for keyboard movement/resizing · 008a811e
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	* src/edge-resistance.c (apply_edge_resistance): Revert to the old
      	edge resistance behavior for keyboard movement/resizing based
      	resistance.  Not only makes the code much simpler and shorter, but
      	also fixes another of the zillions of issues covered in #321905.
      008a811e
    • Elijah Newren's avatar
      Remove the timeout resistance at screen/xinerama edges for the whiners. · de65967b
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	* src/edge-resistance.c (apply_edge_resistance): Remove the
      	timeout resistance at screen/xinerama edges for the whiners.
      	Okay, it made sense.  Fixes another of the zillions of issues
      	covered in #321905.
      de65967b
    • Elijah Newren's avatar
      Make extra timeout edge resistance apply even if one edge already · 35532d14
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	* src/edge-resistance.c (apply_edge_resistance): Make extra
      	timeout edge resistance apply even if one edge already offscreen.
      	Fixes another of the zillions of issues covered in #321905.
      35532d14
    • Elijah Newren's avatar
      Allow edge resistance at both sides of a window and also when edges don't · 95166943
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	Allow edge resistance at both sides of a window and also when
      	edges don't overlap but are a single pixel away from doing so.
      	Fixes one of the zillions of issues covered in #321905.
      
      	* src/boxes.[ch]:
      	(meta_rectangle_edges_align):
      	new function to handle the overlap or off by one determining
      	whether edge resistance should kick in for an edge.
      
      	(meta_rectangle_edge_cmp_ignore_type):
      	new function to sort edges but ignore the type so that e.g. left &
      	right edges of windows can be used interchangeably.
      
      	(meta_rectangle_edge_cmp):
      	now uses meta_rectangle_edge_cmp_ignore_type() to do most the work
      	and just adds an extra condition
      
      	* src/edge-resistance.c:
      	(find_nearest_position):
      	use meta_rectangle_edges_align() now to determine whether the
      	edges align,
      
      	(apply_edge_resistance, apply_edge_resistance_to_each_side):
      	have the edge resistance kick in if either the beginning or ending
      	positions would cause overlap in the given direction -- fixes an
      	uncommon but annoying corner case,
      
      	(apply_edge_snapping, apply_edge_resistance_to_each_side,
      	 meta_display_cleanup_edges,
      	 stupid_sort_requiring_extra_pointer_dereference, cache_edges):
      	mix edges from both sides now
      95166943
    • Elijah Newren's avatar
      Plug a few leaks. Fixes #309178. · 9eb56f15
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	Plug a few leaks.  Fixes #309178.
      
      	* src/main.c (main): remove an unneeded g_set_prgname() call, free
      	some strings allocated by the GOptions parsing
      9eb56f15
  4. 06 Jan, 2006 1 commit
  5. 02 Jan, 2006 5 commits
    • Elijah Newren's avatar
      ab0ba52f
    • Elijah Newren's avatar
      Patch from Björn Lindqvist to fix a logic error. #322149. · 339948fc
      Elijah Newren authored
      2006-01-02  Elijah Newren  <newren@gmail.com>
      
      	Patch from Björn Lindqvist to fix a logic error.  #322149.
      
      	* src/window.c (update_resize): && should have been ||.
      339948fc
    • Elijah Newren's avatar
      Patch from Jens Granseuer to fix build with gcc 2.95. #322622. · ebd0c7e9
      Elijah Newren authored
      2006-01-02  Elijah Newren  <newren@gmail.com>
      
      	Patch from Jens Granseuer to fix build with gcc 2.95.  #322622.
      
      	* src/boxes.c (meta_rectangle_region_to_string,
      	  meta_rectangle_edge_list_to_string, fix_up_edges):
      	* src/constraints.c (meta_window_constrain, setup_constraint_info,
      	  place_window_if_needed, constrain_maximization,
      	  constrain_fullscreen, constrain_size_increments,
      	  constrain_size_limits, constrain_aspect_ratio,
      	  do_screen_and_xinerama_relative_constrai,
      	  constrain_to_single_xinerama, constrain_fully_onscreen,
      	  constrain_partially_onscreen):
      	* src/edge-resistance.c (find_nearest_position,
      	  apply_edge_resistance, apply_edge_resistance_to_each_side):
      	* src/testboxes.c (test_clamping_to_region,
      	  test_clipping_to_region, test_shoving_into_region):
      	* src/window.c (meta_window_new_with_attrs,
      	  meta_window_apply_session_info, meta_window_resize,
      	  meta_window_resize_with_gravity, meta_window_configure_request):
      	Remove C99 style variable initiailization
      ebd0c7e9
    • Elijah Newren's avatar
      post-release version bump to 2.13.13 · d530c3e4
      Elijah Newren authored
      2006-01-02  Elijah Newren  <newren@gmail.com>
      
      	* configure.in: post-release version bump to 2.13.13
      d530c3e4
    • Elijah Newren's avatar
      2.13.8 release · be86740b
      Elijah Newren authored
      2006-01-02  Elijah Newren  <newren@gmail.com>
      
      	* NEWS:	2.13.8 release
      be86740b
  6. 30 Dec, 2005 2 commits
  7. 28 Dec, 2005 1 commit
    • Elijah Newren's avatar
      Make the workspace switcher work with dual-head (non-xinerama) setups. · 703f58cd
      Elijah Newren authored
      2005-12-27  Elijah Newren  <newren@gmail.com>
      
      	Make the workspace switcher work with dual-head (non-xinerama)
      	setups.  Fixes #319423.
      
      	* src/display.c (meta_display_open, event_callback,
      	  meta_display_focus_the_no_focus_window):
      	* src/display.h (struct MetaDisplay,
      	  meta_display_focus_the_no_focus_window):
      	* src/keybindings.c (primary_modifier_still_pressed):
      	* src/screen.c (meta_screen_new):
      	* src/screen.h (struct MetaScreen):
      	* src/window.c (meta_window_new_with_attrs, meta_window_show):
      	* src/workspace.c (meta_workspace_focus_default_window):
      	Replace display->no_focus_window with a no_focus_window for each
      	screen.
      
      	* src/display.[ch] (meta_display_xwindow_is_a_no_focus_window,
      	  event_callback):
      	* src/window.c (meta_window_new_with_attrs):
      	New utility function, meta_display_xwindow_is_a_no_focus_window(),
      	for checking if the given xwindow is a no_focus_window for one of
      	the screens.
      703f58cd
  8. 27 Dec, 2005 1 commit
  9. 25 Dec, 2005 1 commit
  10. 22 Dec, 2005 2 commits
  11. 18 Dec, 2005 1 commit
  12. 14 Dec, 2005 1 commit
  13. 12 Dec, 2005 2 commits