Commit Graph

1183 Commits

Author SHA1 Message Date
Elijah Newren
3cb72d338c Patch from jylefort@FreeBSD.org to prevent a crash when changing
2006-05-15  Elijah Newren  <newren gmail com>

	* src/screen.c (reload_xinerama_infos): Patch from
	jylefort@FreeBSD.org to prevent a crash when changing resolution.
	Fixes #340847.
2006-05-15 18:37:36 +00:00
Björn Lindqvist
51ade19ae9 Remove the preceeding functions as they are all obsoleted by the new
2006-05-15  Björn Lindqvist  <bjourne@gmail.com>

	* places.[ch] (intcmp, window_get_edges,
	get_windows_showing_on_same_screen, get_vertical_edges,
	get_horizontal_edges, meta_window_find_next_vertical_edge,
	meta_window_find_next_horizontal_edge,
	meta_window_find_nearest_vertical_edge,
	meta_window_find_nearest_horizontal_edge): Remove the preceeding
	functions as they are all obsoleted by the new edge-resistance
	stuff. Fixes #341561.
2006-05-15 17:00:14 +00:00
Paolo Borelli
fb3b5c92f8 plug a small leak.
2006-05-15  Paolo Borelli  <pborelli@katamail.com>

	* src/prefs.c (update_binding): plug a small leak.
2006-05-15 06:59:30 +00:00
Søren Sandmann
5750974d5d Some experimental code to handle sync counter notifications on a window.
Fri May  5 12:50:58 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/c-window.c (has_counter): Some experimental code to handle
	sync counter notifications on a window.

	* src/c-screen.c (meta_comp_screen_add_window): Pass a MetaDisplay
2006-05-05 16:52:05 +00:00
Elijah Newren
b62dd8d130 Clear _NET_WM_VISIBLE_NAME (and the ICON_ equivalent) when no longer being
2006-04-25  Elijah Newren  <newren gmail com>

	Clear _NET_WM_VISIBLE_NAME (and the ICON_ equivalent) when no
	longer being used.  Fixes #330671.

	* src/window.[ch] (struct MetaWindow): new
	using_net_wm_visible_name and using_net_wm_visible_icon_name bits,
	(meta_window_new_with_attrs): initialize these new bits to false

	* src/window-props.c (set_title_text, set_window_title, set_icon_title):
	if the _NET_WM_VISIBLE_(ICON_)NAME property was previously set but
	doesn't need to be this time, make sure to clear it
2006-05-05 01:10:20 +00:00
Søren Sandmann
addc04f463 Delete unused META_PRIORITY_COMPOSITE
Thu May  4 13:30:04 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/ui.h: Delete unused META_PRIORITY_COMPOSITE

	* src/ui.c: Delete argument from meta_ui_get_display().

	* src/c-window.c: Remove the xid->window hashtable and associated
	code.

	* src/c-screen.[ch]: Rename MetaScreenInfo to MetaCompScreen. Put the
	xid->windows table here instaed of as a static variable. Also make
	sure that CompWindows are freed when the screen is unredirected.

	* src/display.c: Delete non USE_GDK_DISPLAY case, as it didn't
	work and hasn't been compiled for a long time.

	* src/display.[ch] (meta_display_open): Remove argument as it was
	always NULL (and couldn't possibly be anything else in the
	USE_GDK_DISPLAY case).
2006-05-04 17:32:26 +00:00
Søren Sandmann
411fd3db44 New files
Tue May  2 17:12:54 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/c-window.[ch]: New files

	* src/c-screen.c: Move WindowInfo struct to new c-window.[ch]
	files. Delete various bits of obsolete, commented-out code.
2006-05-02 21:15:32 +00:00
Søren Sandmann
975130ff70 New function. Use get_window() instead of cutted-and-pasted code all over
Fri Apr 28 12:53:23 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/core.c (get_window): New function.
	* src/core.c: Use get_window() instead of cutted-and-pasted code
	all over the place.
2006-04-28 16:54:52 +00:00
Elijah Newren
12d5978268 2.15.1 release belated post-release version bump to 2.15.1 Include boxes.h
2006-04-25  Elijah Newren  <newren gmail com>

	* NEWS:	2.15.1 release
	* configure.in: belated post-release version bump to 2.15.1
	* src/Makefile.am: Include boxes.h so that control-center won't
	fail to build  #339708.
2006-04-25 17:53:49 +00:00
Thomas Andersen
14f120f131 warn and ignore if transient_for is set to a non-top-level window. Fixes
2006-04-19  Thomas Andersen  <phomes@gmail.com>

        * src/window-props.c (reload_transient_for): warn and ignore if
	transient_for is set to a non-top-level window.  Fixes #335524.
2006-04-19 20:55:49 +00:00
Björn Lindqvist
c118c50117 Replace while loops iterating over sequences with for loops. Also, replace
2006-04-19  Björn Lindqvist  <bjourne@gmail.com>

	* src/frames.c (struct CachedPixels, meta_frames_destroy,
	invalidate_cache, generate_pixmap, populate_cache,
	cached_pixels_draw, meta_frames_expose_event,
	meta_frames_paint_to_drawable):

	Replace while loops iterating over sequences with for loops. Also,
	replace the attributes in the CachedPixels struct with a list of
	four CachedFramePiece:s, this allows iteration over the four
	pixmaps instead of treating each one separately. Fixes #338359.
2006-04-19 15:22:07 +00:00
Björn Lindqvist
ae85a33614 Add boxes.{c,h} to libmetacity_private
2006-04-18  Björn Lindqvist  <bjourne@gmail.com>

	* makefile.am: Add boxes.{c,h} to libmetacity_private
	* src/theme-parser.c (check_expression):
	* src/theme-viewer.c (run_position_expression_tests):
	Use meta_rect ().

	* src/theme.c: Replace while loops iterating over sequences with
	for loops.

	* src/theme.c, src/theme.h (struct _MetaPositionExprEnv,
	meta_draw_op_draw, meta_draw_op_list_draw,
	meta_theme_draw_menu_icon): Use MetaRectangles in function
	prototypes instead of x, y, with, height ints where applicable.
2006-04-18 17:18:53 +00:00
Thomas Thurman
fee1fb094a Allow any keybinding pref to be specified either with <foo>, a string, or
2004-04-17  Thomas Thurman <thomas@thurman.org.uk>

        * keybindings.c (count_bindings, rebuild_binding_table):
        * prefs.c (change_notify, screen_bindings,
        window_bindings, init_bindings, update_binding,
        find_and_update_list_binding, update_list_binding,
        meta_prefs_get_window_binding): Allow any keybinding pref
        to be specified either with <foo>, a string, or <foo>_list,
        a list of strings, or both. Fixes #164831.
2006-04-17 17:23:09 +00:00
Elijah Newren
e2ea1cf722 Patch from Dan Sanders to fix #334899.
2006-04-16  Elijah Newren  <newren gmail com>

	Patch from Dan Sanders to fix #334899.

	* window.c (meta_window_new_with_attrs): Unminimize ancestors of
	new windows when mapped; this prevents e.g. confirmation windows
	from causing applications to appear locked when closing via the
	window list.
2006-04-17 03:54:49 +00:00
Elijah Newren
7e2d5185a0 Patch from Dan Sanders to fix #335076.
2006-04-15  Elijah Newren  <newren gmail com>

	Patch from Dan Sanders to fix #335076.

	* src/core.c (meta_core_maximize, meta_core_toggle_maximize,
	  meta_core_unmaximize):
	* src/window.c (meta_window_client_message):
	Raise windows on maximize/unmaximize.
2006-04-16 02:20:41 +00:00
Elijah Newren
5bf3e39ef6 Patch from Andy Morum to fix the build with --disable-xsync. #336605
2006-04-15  Elijah Newren  <newren gmail com>

	* src/display.h: Patch from Andy Morum to fix the build with
	--disable-xsync.  #336605
2006-04-15 22:58:07 +00:00
Thomas Thurman
2214fd75d9 Add a tabbing function, bound to alt-f6 by default, to cycle through the
2006-04-14  Thomas Thurman   <thomas@thurman.org.uk>

        Add a tabbing function, bound to alt-f6 by default, to cycle
        through the windows of the current application. Fixes #164831.

        * src/common.h: two new MetaGrabOpts values for group switching
        * src/display.c (ping_data_free, meta_display_in_grab_op,
        IN_TAB_CHAIN): adapt to new MetaGrabOpts
        * src/display.h: new enum value for MetaTabList for group switching
        * src/keybindings.c (meta_display_process_key_event):
        adapt to new MetaGrabOpts
        (process_tab_grab): adapt to new MetaGrabOpts, and use switch
        statement for cancelling instead of if statement
        * src/metacity.schemas.in: new keybindings
        * src/prefs.c, src/prefs.h: handle new keybindings
        * src/window.h: define META_WINDOW_IN_GROUP_TAB_CHAIN macro
2006-04-15 02:05:44 +00:00
Søren Sandmann
c7c9f0ee52 Check for both POPUP and DROPDOWN.
Thu Apr 13 12:23:28 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/c-screen.c (meta_screen_info_add_window): Check for both
	POPUP and DROPDOWN.
2006-04-13 16:24:03 +00:00
Björn Lindqvist
ea50cc7239 *** empty log message *** 2006-04-13 13:16:42 +00:00
Elijah Newren
59d99fb9d1 Patch from Ron Yorston to add a focus_new_windows option. Default is
2006-04-12  Elijah Newren  <newren gmail com>

	Patch from Ron Yorston to add a focus_new_windows option.  Default
	is 'smart' (focus by default but normal focus-stealing-prevention
	can kick in); 'strict' is current other choice (like 'smart'
	except that programs launched by the terminal will not be
	focused).  Fixes remainder of #326159.  Should also close #152004
	and a bunch of others.

	* src/common.h:
	Add a MetaFocusNewWindows enum giving the current types allowed

	* src/display.h:
	Update docs on allow_terminal_deactivation to note that it is only
	relevant when focus_new_windows is 'strict'

	* src/prefs.c:
	* src/prefs.h:

	* src/metacity.schemas.in: add the new gconf key and explanation

	* src/prefs.[ch] (#define KEY_FOCUS_NEW_WINDOWS, static gboolean
	  focus_new_windows, update_focus_new_windows, meta_prefs_init,
	  change_notify, meta_prefs_get_focus_new_windows,
	  meta_preference_to_string):
	Add all the normal preference handling stuff for this new
	focus-new-windows option.

	* src/window.c (window_state_on_map, meta_window_set_user_time):
	Don't focus windows launched from a terminal
2006-04-12 18:01:20 +00:00
Søren Sandmann
4b683fdbf2 Check if the window is a menu and make it 90% opaque in that case.
Mon Apr 10 16:44:51 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/c-screen.c (is_menu): Check if the window is a menu and make
	it 90% opaque in that case.

	* src/c-screen.c (claim_selection): Handle CM_Sn selection
	properly.

	* src/c-screen.c: Remove debug spew

	* src/screen.c (meta_screen_composite_all_windows): Remove debug spew
2006-04-10 20:47:02 +00:00
Björn Lindqvist
4730cb57bd *** empty log message *** 2006-04-10 08:30:02 +00:00
Gora Mohanty
793c1d7a43 Changes strings to make them more readable, and more translatable. Fixes
2006-03-27  Gora Mohanty  <gmohanty@cvs.gnome.org>

        * src/metacity.schemas.in:
	* src/theme.c:
	Changes strings to make them more readable, and more translatable.
	Fixes #335720.
2006-04-07 19:06:25 +00:00
Elijah Newren
8674051c58 Fix constraints bug causing negative width windows and crashes. #336651
2006-04-02  Elijah Newren  <newren gmail com>

	Fix constraints bug causing negative width windows and crashes.
	#336651

	* src/constraints.c (constrain_partially_onscreen): Don't
	accidentally shove & resize the window by requiring more pixels to
	be onscreen than the size of the window.
2006-04-02 23:11:25 +00:00
Søren Sandmann
6445d16fd5 Release the GL window here. Disconect from the magnifier, not the stacker.
Fri Mar 31 16:44:56 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/c-screen.c (meta_screen_info_unredirect): Release the GL
	window here. Disconect from the magnifier, not the stacker.
2006-03-31 21:45:29 +00:00
Søren Sandmann
21d5a43c29 Only use magnifier when USE_MAGNIFIER is set.
Fri Mar 31 12:24:26 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/c-screen.c (meta_screen_info_redirect): Only use magnifier
	when USE_MAGNIFIER is set.

	* src/compositor.c (meta_compositor_free_window): Only wobble when
	USE_WOBBLE is set.
2006-03-31 17:25:02 +00:00
Søren Sandmann
f7a202eb81 Don't hardcode screen size.
Fri Mar 31 12:13:21 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/c-screen.c (meta_screen_info_redirect): Don't hardcode
	screen size.
2006-03-31 17:13:48 +00:00
Søren Sandmann
eb102ab37f Fix the memory corruption in a better way.
Thu Mar 30 17:01:12 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.c (struct MetaCompositor): Fix the memory
	corruption in a better way.
2006-03-30 22:01:45 +00:00
Søren Sandmann
aaafd14124 Fix an illegal write.
Thu Mar 30 16:38:35 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.c (meta_compositor_begin_move): Fix an illegal write.
2006-03-30 21:39:00 +00:00
Søren Sandmann
3bf211c89f Turn wobbling back on Add new explosion effect.
Thu Mar 30 16:13:52 2006  Søren Sandmann  <sandmann@redhat.com>

	* composite.c: Turn wobbling back on  Add new explosion effect.
2006-03-30 21:14:56 +00:00
Elijah Newren
127a89886b Fix grouping in the presence of ancestors; caught by Björn. #336184
2006-03-29  Elijah Newren  <newren gmail com>

	Fix grouping in the presence of ancestors; caught by Björn.
	#336184

	* src/group.c (meta_window_compute_group): Use new
	meta_window_find_root_ancestor() function to get ancestor; for the
	computed group, use the ancestor's group instead of the ancestor
	itself

	* src/window.[ch] (meta_window_find_root_ancestor,
	meta_window_raise): split meta_window_find_root_ancestor()
	functionality of meta_window_raise() and make it available
	elsewhere
2006-03-30 19:22:38 +00:00
Thomas Thurman
cf3deef6ea mark a window as needing or not needing the user's attention use the new
2006-03-29  Thomas Thurman   <thomas@thurman.org.uk>
        * src/window.c, src/window.h (meta_window_set_demands_attention,
        meta_window_unset_demands_attention): mark a window as needing
        or not needing the user's attention
        * src/window.c (meta_window_show, window_activate,
        meta_window_focus, meta_window_configure_request,
        meta_window_client_message): use the new set/unset
        demands attention functions. Fixes #305822.
2006-03-29 18:43:22 +00:00
Björn Lindqvist
28aeacb247 *** empty log message *** 2006-03-29 16:05:23 +00:00
Søren Sandmann
ea1568c720 Also check for overlay_window.
Tue Mar 28 09:57:26 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/c-screen.c (meta_screen_info_add_window): Also check for overlay_window.

        * src/c-screen.c (meta_screen_info_redirect): Trap errors out of
        unredirect().
2006-03-28 14:58:14 +00:00
Thomas Thurman
25923105e4 deleted and moved into window-props.c (meta_window_new_with_attrs): added
2006-03-25  Thomas Thurman  <thomas@thurman.org.uk>

	* src/window.c, src/window.h (update_net_wm_state,
	update_mwm_hints, update_wm_class, update_transient_for):
	deleted and moved into window-props.c
	(meta_window_new_with_attrs): added constructing field
	and four new initial properties (as above)
	(meta_window_recalc_features,
	meta_window_recalc_window_type): new functions

	* src/window-props.c (init_net_wm_state, reload_net_wm_state
	init_mwm_hints, reload_mwm_hints, init_wm_class,
	reload_mwm_class, init_transient_for, reload_transient_for):
	new functions, moved in from window.c

	(meta_display_init_window_prop_hooks): initialise new properties
2006-03-25 22:57:22 +00:00
Paolo Borelli
09a5c23585 use g_str_has_prefix instead of a local copy of the function.
2006-03-25  Paolo Borelli  <pborelli@katamail.com>

	* src/prefs.c: use g_str_has_prefix instead of a local copy
	of the function.
2006-03-25 11:47:31 +00:00
Ray Strode
8f59776087 Add patch from Elijah Newren to fix type for compositing_manager schema
2006-03-16  Ray Strode  <rstrode@redhat.com>

	Add patch from Elijah Newren to fix type
	for compositing_manager schema entry (bug 335901)

	* src/metacity.schemas.in: Change type from "boolean" to "bool"
	and default value from "FALSE" to "false"
2006-03-25 07:21:27 +00:00
Søren Sandmann
b11ac45352 Actually remove the window.
Wed Mar 22 13:16:48 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.c (meta_compositor_remove_window): Actually
	remove the window.

	* src/c-screen.c (meta_screen_info_remove_window): Only remove
	node if non-NULL
2006-03-22 18:34:18 +00:00
Søren Sandmann
fd1e1c76e8 Put a square below the desktop stack.
Wed Mar 22 10:33:21 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/c-screen.c (meta_screen_info_redirect): Put a square below
	the desktop stack.
2006-03-22 15:33:55 +00:00
Søren Sandmann
fc7a246074 Put the desktop into a magnifier.
Mon Mar 20 11:50:44 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/c-screen.c (meta_screen_info_redirect): Put the desktop into
	a magnifier.

	* src/c-screen.c (struct MetaScreenInfo): Add a CmMagnifier

	* src/c-screen.c (meta_screen_info_redirect): Move some of the gl
	window related stuff here.
2006-03-20 16:52:25 +00:00
Søren Sandmann Pedersen
543f85a1db 2006-03-16 Soren Sandmann (sandmann@daimi.au.dk)
* src/c-screen.c (meta_screen_info_set_target_rect): Put inside
	COMPOSIT_EXTENSIONS
2006-03-17 04:15:40 +00:00
Thomas Thurman
ab176cf831 Always set _NET_WM_STATE when a window is shown or hidden, even if it
2006-03-03  Thomas Thurman  <thomas@thurman.org.uk>

	Always set _NET_WM_STATE when a window is shown or
	hidden, even if it wasn't mapped.

	* src/window.c (meta_window_hide, meta_window_show):
	call set_net_wm_state unconditionally
2006-03-17 03:26:25 +00:00
Elijah Newren
ef47c243c5 Add debugging information for edge resistance
2006-03-16  Elijah Newren  <newren gmail com>

	Add debugging information for edge resistance

	* src/edge-resistance.c (cache_edges): print out the edges that
	are being cached if in verbose mode,
	(meta_window_edge_resistance_for_move,
	meta_window_edge_resistance_for_resize): if edge resistance kicked
	in then print out a message about it

	* src/util.c:
	* src/util.h:
	Add META_DEBUG_EDGE_RESISTANCE to MetaDebugTopic enum list
2006-03-17 02:55:21 +00:00
Søren Sandmann
01cd31f7f4 Maintain the size of the window.
Thu Mar 16 14:55:18 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/c-screen.c (struct WindowInfo): Maintain the size of the
	window.
2006-03-16 20:00:18 +00:00
Søren Sandmann
ad2c7c6ce3 Use set_target_rect() instead of set_size().
Wed Mar 15 16:30:09 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.c (set_geometry): Use set_target_rect() instead
	of set_size().

	* src/c-screen.c: Add set_target_rect() as a way of scaling windows.

	* src/window.c (meta_window_handle_mouse_grab_op_event): Turn
	updates on after a button release.

	* src/window.c (meta_window_move_resize_internal): Fix
	indentation.
2006-03-15 21:31:12 +00:00
Søren Sandmann
4d6ee9ea49 Use unset_patch() instead of unset_geometry().
Wed Mar 15 11:34:54 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/c-screen.c (meta_screen_info_add_window): Use unset_patch()
	instead of unset_geometry().
2006-03-15 16:35:26 +00:00
Søren Sandmann
16de3b603b Comment out wobbling
Tue Mar 14 11:57:46 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.c: Comment out wobbling

	* src/compositor.c (blow_up): remove this function

	* src/compositor.c (process_configure_notify): Uncomment
	set_size().

	* src/c-screen.c (meta_screen_info_set_updates): When updates are
	true, set all the properties such as size and shape.

	* src/c-screen.c (meta_screen_info_add_window): Create a special
	WindowInfo structure for each window.

	* src/c-screen.c (meta_screen_info_set_size): Set size and output
	shape of the drawable node.
2006-03-14 17:00:56 +00:00
Thomas James Alexander Thurman
4d220adc32 Marking string for translation. Closes #334332 2006-03-12 21:04:56 +00:00
Ryan Lortie
3c6b291641 Only unmaximise window before freeing if the window is actually maximised.
2006-03-06  Ryan Lortie  <desrt@desrt.ca>

        * src/window.c (meta_window_free): Only unmaximise window before
        freeing if the window is actually maximised.  #333563.
2006-03-06 16:33:33 +00:00
Søren Sandmann
eed6f29b30 Update for libcm API change.
Fri Mar  3 15:31:04 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/c-screen.c (meta_screen_info_new): Update for libcm API
        change.
2006-03-03 20:31:41 +00:00
Søren Sandmann
832968ddd6 Split the ScreenInfo data structure into separate, new files
Wed Mar  3 13:25:03 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/compositor.c, src/c-screen.[ch]: Split the ScreenInfo data
        structure into separate, new files c-screen.[ch].

        * src/errors.c (x_error_handler): Forward foreign errors to
        foreign displays.

        * src/errors.c (meta_errors_register_foreign_display): Implement
        this function

        * src/errors.h: Add new meta_errors_register_foreign_display()
2006-03-03 15:53:10 +00:00
Søren Sandmann
0a1a7e523c Put the windows in a stacker rather than do the traversing outselves.
Tue Feb 28 14:49:23 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/compositor.c: Put the windows in a stacker rather than
        do the traversing outselves.
2006-02-28 19:51:45 +00:00
Elijah Newren
3e01e149eb Patch from Thomas Thurman to prevent setting cycle_windows to keybindings
2006-02-27  Elijah Newren  <newren gmail com>

        Patch from Thomas Thurman to prevent setting cycle_windows to
        keybindings that won't work.  #329676

        * src/prefs.c (update_binding):
        Make sure that bindings which require a modifier key are set to a
        keybinding with one or else that the binding is reverted.

        * src/ui.[ch] (meta_ui_accelerator_name):
        New function
2006-02-27 22:44:47 +00:00
Elijah Newren
04a4f7c363 Patch from Thomas Thurman to work around buggy application grouping with
2006-02-27  Elijah Newren  <newren gmail com>

        Patch from Thomas Thurman to work around buggy application
        grouping with transient windows.  #328211

        * src/group.c (meta_window_compute_group):
        Put transients in the same group with their parent, always.

        * src/window.c (update_transient_for):
        Update group too
2006-02-27 22:19:11 +00:00
Søren Sandmann
f8f6016970 Remove include of flash.h
Sat Feb 25 14:50:17 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/window.c: Remove include of flash.h
2006-02-25 19:50:50 +00:00
Søren Sandmann
b1847959b1 Call meta_compositor_begin_move if there is a compositor
Sat Feb 25 11:46:14 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/display.c (meta_display_begin_grab_op): Call
	meta_compositor_begin_move if there is a compositor

	* src/compositor.c (meta_compositor_begin/update/end_move):
	Implement those functions.

	* src/spring-model.[ch]: New files
2006-02-25 16:54:39 +00:00
Søren Sandmann
e4cf87c985 Don't attempt to manage the screen if it already is managed.
Thu Feb 23 15:40:52 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/compositor.c (meta_compositor_manage_screen): Don't attempt
        to manage the screen if it already is managed.

        * src/compositor.c (meta_compositor_unmanage_screen): Synchronize
        the display.
2006-02-23 20:41:53 +00:00
Thomas Thurman
9e17747f3c Removed "move to another workspace" menu when there are exactly two
2006-02-19  Thomas Thurman  <thomas thurman org uk>

        Removed "move to another workspace" menu when there are
        exactly two workspaces.  Fixes #151183.

        * src/menu.c (meta_window_menu_new): clear
        META_MENU_OP_WORKSPACES bit when n_workspaces==2
2006-02-20 02:15:14 +00:00
Søren Sandmann
f3ade45b96 Only uncomposite the screen if there is a compositor.
Fri Feb 17 11:56:35 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/screen.c (meta_screen_free): Only uncomposite the screen if
	there is a compositor.

	* src/compositor.c (meta_compositor_new): Warn and fail if the
	server doesn't have composite
2006-02-17 16:58:08 +00:00
Søren Sandmann
71b27c6228 Fix the build when --enable-compositor is there.
Thu Feb 16 18:57:48 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.c: Fix the build when --enable-compositor is
	there.
2006-02-17 00:00:24 +00:00
Søren Sandmann
053759fad6 Insert #ifdef's to make it build again
Thu Feb 16 15:54:48 2006  Søren Sandmann  <sandmann@redhat.com>

       * src/compositor.c: Insert #ifdef's to make it build again
2006-02-16 21:03:02 +00:00
Søren Sandmann
f6738a930c New function.
Thu Feb 16 15:24:42 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/screen.c (meta_screen_composite_all_windows): New function.

	* src/prefs.[ch], src/metacity.schemas.in: Add new
	compositing_manager key.

	* src/display.c (prefs_changed_callback): Handle
	META_PREF_COMPOSITOR_MANAGER

	* src/display.c (event_callback): Only call
	meta_compositor_process_event() if there is in fact a compositor.

	* src/display.c (enable/disable_compositor): Add code to
	enable/disable compositor at runtime
2006-02-16 20:26:05 +00:00
Søren Sandmann
0f48ff448c Add code to destroy compositor. Implement unmanage_screen() functionality.
Wed Feb 15 18:42:03 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.[ch]: Add code to destroy compositor. Implement
	unmanage_screen() functionality.
2006-02-15 23:44:15 +00:00
Søren Sandmann
ca539199b2 Add unused wobbly unminimize animation by Kristian
Wed Feb 15 14:47:50 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.c (meta_compositor_unminimize): Add unused wobbly
	unminimize animation by Kristian

	* src/compositor.c (meta_compositor_minimize): Add wobbly minimize
	animation by Kristian.

	* src/compositor.c: Add support for turning updates on and off.

	* src/window.c (meta_window_move_resize_internal): Use
	sync counter to make composited resizing tear free
2006-02-15 19:50:12 +00:00
Elijah Newren
c348794431 Patch from Jens Granseuer to fix more build issues with gcc 2.95. #331166.
2006-02-14  Elijah Newren  <newren gmail com>

	Patch from Jens Granseuer to fix more build issues with gcc 2.95.
	#331166.

	* src/prefs.c (meta_prefs_init):
	Remove C99 style variable initiailization
2006-02-14 17:26:40 +00:00
Elijah Newren
8ceb613668 We had that prev_window code in multiple places and it was all identical.
2006-02-13  Elijah Newren  <newren gmail com>

	* src/keybindings.c (process_tab_grab):
	We had that prev_window code in multiple places and it was all
	identical.  Let's just stick it in one place to make the function
	easier to read.
2006-02-13 19:26:40 +00:00
Thomas Thurman
500bbefc6a Allow alt-escape to cancel alt-tabbing, and vice versa. Fixes #141425.
2006-02-13  Thomas Thurman <thomas thurman org uk>

	* src/keybindings.c (process_tab_grab):
	Allow alt-escape to cancel alt-tabbing, and vice versa.  Fixes
	#141425.
2006-02-13 19:16:32 +00:00
Thomas Thurman
ce3299e815 Disable alt-f7 if a window can't be moved, and alt-f8 if it can't be
2006-02-11  Thomas Thurman <thomas thurman org uk>

        Disable alt-f7 if a window can't be moved, and alt-f8 if it
        can't be resized.  Fixes #328920.

        * src/keybindings.c (handle_begin_move, handle_begin_resize):
        check window->has_*_func before beginning operation
2006-02-12 03:17:10 +00:00
Elijah Newren
cb298b9279 actually use META_LAYER_TOP but just manually make it equal to
2006-02-11  Elijah Newren  <newren gmail com>

	* src/stack.h (enum MetaStackLayer):
	* src/stack.c (get_standalone_layer):
	actually use META_LAYER_TOP but just manually make it equal to
	META_LAYER_DOCK.  Add a note point to the EWMH for why we do this.
	#330717
2006-02-12 00:01:06 +00:00
Elijah Newren
74510389bc remove this legacy cruft that we stopped using years ago
2006-02-11  Elijah Newren  <newren gmail com>

	* src/window.c (enum GnomeWinLayer): remove this legacy cruft that
	we stopped using years ago
2006-02-11 23:41:15 +00:00
Thomas Thurman
7aebefad3c Avoid a memory leak when checking which workspace(s) a window is on. Fixes
2006-02-10  Thomas Thurman <thomas thurman org uk>

	Avoid a memory leak when checking which workspace(s) a window is
	on.  Fixes #322059.

        * src/workspace.h (struct MetaWorkspace):
        * src/workspace.c (meta_workspace_new, meta_workspace_free):
	added list_containing_self member to MetaWorkspace

        * src/window.c (meta_window_get_workspaces): use
	window->workspace->list_containing_self instead of allocating (and
	leaking) such a list on the fly.
2006-02-11 05:06:08 +00:00
Thomas Thurman
4b6a87acb5 add messages to explain that warnings are harmless
2006-02-09  Thomas Thurman <thomas thurman org uk>

        * src/testboxes.c (test_regions_okay, test_clamping_to_region):
        add messages to explain that warnings are harmless
2006-02-11 04:03:27 +00:00
Soeren Sandmann
f39bcff434 Wrap fade code in #ifdef HAVE_COMPOSITE_EXTENSIONS
Tue Feb  7 00:58:05 2006  Soeren Sandmann  <sandmann@redhat.com>

	* src/compositor.c: Wrap fade code in #ifdef HAVE_COMPOSITE_EXTENSIONS
2006-02-07 05:58:52 +00:00
Søren Sandmann
abde4a3769 New fancy minimize animation. Fade windows in and out.
Mon Feb  6 17:45:39 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/compositor.c: New fancy minimize animation. Fade windows in
        and out.

2
2006-02-06 22:47:13 +00:00
Thomas Thurman
b5c199c6e6 produce warning when invalid events with no timestamp are received, rather
2006-02-03  Thomas Thurman <thomas thurman org uk>

        * src/display.c (event_callback): produce warning when invalid
        events with no timestamp are received, rather than failing an
        assertion
2006-02-03 18:09:16 +00:00
Søren Sandmann
63d978d228 update the pixmap. (update) print out framerate. (dump_stacking_order) new
Thu Feb  2 17:58:22 2006  Søren Sandmann  <sandmann@redhat.com>

	* compositor.c (process_map): update the pixmap.
	(update) print out framerate.
	(dump_stacking_order) new debug
	function.
	(meta_compositor_add_window) error trap fixes
	(MiniInfo): Make the minimize animation fade out.
2006-02-02 23:02:21 +00:00
Elijah Newren
297e0e466f Track the active_screen, (event_callback): If the mouse enters a window on
2006-01-30  Elijah Newren  <newren gmail com>

	* src/display.[ch] (struct MetaDisplay), meta_display_open,
	meta_display_set_input_focus_window,
	meta_display_focus_the_no_focus_window): Track the active_screen,
	(event_callback): If the mouse enters a window on a different
	screen, activate the default window on the new screen.  May need
	to be modified for click-to-focus; we'll wait for feedback.  Fixes
	#319348.
2006-01-30 17:22:14 +00:00
Elijah Newren
405e21a82a change the order of the ||'ed items in the if to avoid using an
2006-01-23  Elijah Newren  <newren gmail com>

	* src/display.c (meta_display_check_threshold_reached): change the
	order of the ||'ed items in the if to avoid using an uninitialized
	value

	* src/prefs.c (meta_prefs_init): fix a couple uninitialized value
	problems
2006-01-24 01:07:41 +00:00
Elijah Newren
9ce85d7657 Patch from Christian Kirbach to prevent a critical warning crasher when
2006-01-21  Elijah Newren  <newren gmail com>

	Patch from Christian Kirbach to prevent a critical warning crasher
	when switching themes.  #327847.

	* src/theme.c (meta_theme_free): since themes are only constructed
	as needed and may be NULL, check for that before freeing theme
	hash tables
2006-01-21 21:26:55 +00:00
Elijah Newren
c0f4b9d2d4 Patch from Dick Marinus to add a minimize double-click-titlebar-action;
2006-01-21  Elijah Newren  <newren gmail com>

	* src/common.h (enum MetaActionDoubleClickTitlebar):
	* src/frames.c (meta_frames_button_press_event):
	* src/prefs.c (action_double_click_titlebar_from_string):
	* src/metacity.schemas.in:
	Patch from Dick Marinus to add a minimize
	double-click-titlebar-action; slightly modified to also include a
	none action.  #300210.
2006-01-21 19:18:51 +00:00
Elijah Newren
8e5425a86f fixed_directions is only meant for explicit user interactions; disable it
2006-01-20  Elijah Newren  <newren gmail com>

	* src/constraints.c (setup_constraint_info): fixed_directions is
	only meant for explicit user interactions; disable it for
	everything else.  There are other bugs and improvements that could
	be made with fixed_directions that I should be filing too, but at
	least put a FIXME there for now--I'm so lame.  Fixes #327822.
2006-01-21 01:09:46 +00:00
Elijah Newren
dcec11274a Avoid flashing when closing a maximized window. Fixes #317254.
2006-01-20  Elijah Newren  <newren gmail com>

	Avoid flashing when closing a maximized window.  Fixes #317254.

	* src/window.c (unmaximize_window_before_freeing): new function
	that just fixes the net_wm_state and sends a configure_notify,
	(meta_window_free): use unmaximize_window_before_freeing() instead
	of meta_window_unmaximize() to avoid flicker
2006-01-20 23:36:23 +00:00
Elijah Newren
6f318f1a75 Fix unitialized value problem when in raise-on-click mode. Søren,
2006-01-20  Elijah Newren  <newren gmail com>

	Fix unitialized value problem when in raise-on-click mode.  Søren,
	#327572.

	* src/display.c (meta_display_check_threshold_reached): make
	function be a no op if raise_on_click!=FALSE

	* src/display.h (struct MetaDisplay): point out that
	grab_initial_[xy] and grab_threshold_movement_reached are only for
	raise_on_click==FALSE mode.
2006-01-20 23:02:24 +00:00
Elijah Newren
5568f75cb0 Patch from Søren to fix some reading-from-free'd-data errors. #327575
2006-01-20  Elijah Newren  <newren gmail com>

	Patch from Søren to fix some reading-from-free'd-data errors.
	#327575

	* src/edge-resistance.c (meta_display_cleanup_edges): store the
	edges in a hash table so that we can still read their values
	within the loop from the other array they are stored in, then free
	them all at the end.
2006-01-20 22:57:42 +00:00
Elijah Newren
e272295976 Fix various initialization and default issues, especially for
2006-01-20  Elijah Newren  <newren gmail com>

	Fix various initialization and default issues, especially for
	--disable-gconf.  Make --disable-gconf actually work.  #326661.

	* configure.in: Fix compilation with --disable-gconf
	* src/metacity.schemas.in: Add a note that if any defaults are
	  changed in this file, src/prefs.c may need to be updated to
	  reflect the change
	* src/prefs.c: set various static global vars to the right default
	value, (meta_prefs_init): get the titlebar_font and current_theme
	handled better when not using gconf, (struct MetaSimpleKeyMapping,
	screen_string_bindings, window_string_bindings): helper vars to
	allow some keybindings to work even without gconf,
	(init_bindings): initialize bindings for the without-gconf case
	too, (init_commands): make sure these are all NULL for the
	non-gconf case so that we don't access random memory,
	(init_workspace_names): just give these all a default name for the
	non-gconf case,
	(meta_prefs_change_workspace_name): actually change the name for
	the non-gconf case too
2006-01-20 22:42:25 +00:00
Elijah Newren
a556a7334a More careful error handling of values returned by GConf. Fixes #326615.
2006-01-20  Elijah Newren  <newren gmail com>

	More careful error handling of values returned by GConf.  Fixes
	#326615.

	* src/prefs.c (get_bool): new helper function, (meta_prefs_init):
	use get_bool to handle the case of a gconf key not existing,
	(update_cursor_size): sanity check for sane values
2006-01-20 22:32:28 +00:00
Elijah Newren
af14d9d2a1 Prevent rapidly repeated visual bells from hanging metacity. Fixes
2006-01-20  Elijah Newren  <newren gmail com>

	Prevent rapidly repeated visual bells from hanging metacity.
	Fixes #322032.

	* src/display.h (struct MetaDisplay): add a last_bell_time field,
	(XSERVER_TIME_IS_BEFORE_ASSUMING_REAL_TIMESTAMPS macro,
	XERVER_TIME_IS_BEFORE macro): add parentheses around usage of
	macro parameter

	* src/display.c (meta_display_open): initialize last_bell_time,
	(event_callback): don't allow more than one bell per second
2006-01-20 22:08:52 +00:00
Elijah Newren
32d4bd6b63 Patch from Kjartan Maraas to fix a lot of tiny issues (unused variable
2006-01-20  Elijah Newren  <newren gmail com>

	* src/async-getprop.c:
	* src/common.h:
	* src/display.c:
	* src/eggaccelerators.c:
	* src/frames.c:
	* src/gradient.c:
	* src/iconcache.c:
	* src/keybindings.c:
	* src/metaaccellabel.c:
	* src/place.c:
	* src/prefs.c:
	* src/preview-widget.c:
	* src/screen.c:
	* src/session.c:
	* src/stack.c:
	* src/tabpopup.c:
	* src/theme-viewer.c:
	* src/theme.c:
	* src/window-props.c:
	* src/window.c:
	* src/workspace.c:
	* src/tools/metacity-window-demo.c:
	* src/wm-tester/test-gravity.c:
	* src/wm-tester/test-resizing.c:
	* src/wm-tester/test-size-hints.c:
	Patch from Kjartan Maraas to fix a lot of tiny issues (unused
	variable removal, making unused variables used again, correction
	of types passed/declared for printf arguments, removal of unneeded
	breaks and returns, dead code removal, dead code revival, renaming
	to prevent shadowed variables, declaring unexported functions as
	static) spotted by the intel compiler.  #321439
2006-01-20 22:03:56 +00:00
Elijah Newren
4c10722262 Patch from Björn Lindqvist to fix #98340.
2006-01-20  Elijah Newren  <newren gmail com>

	Patch from Björn Lindqvist to fix #98340.

	* src/screen.c (meta_screen_ensure_tab_popup): Make sure an
	outline border is shown even if a window frame's width is 0.
	Also, correctly handle window outlines in showing desktop mode.
2006-01-20 21:48:51 +00:00
Søren Sandmann
cc790655f2 Make minimize animation update again.
Fri Jan 20 16:42:25 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/compositor.c: Make minimize animation update again.
2006-01-20 21:43:13 +00:00
Søren Sandmann
5f9a097d2c g_object_unref() rather than ws_region_unref().
Thu Jan 19 18:05:47 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.c (meta_compositor_manage_screen):
	g_object_unref() rather than ws_region_unref().
2006-01-19 23:06:19 +00:00
Søren Sandmann
24976318b5 Port to changes in libcm
Thu Jan 19 16:50:50 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/compositor.c: Port to changes in libcm
2006-01-19 21:51:54 +00:00
Søren Sandmann
8638300708 Port to changes in libcm.
Tue Jan 17 17:25:29 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.c: Port to changes in libcm.
2006-01-17 22:27:10 +00:00
Elijah Newren
4dd216f5a8 manually define HOST_NAME_MAX if not already defined to fix Solaris
2006-01-16  Elijah Newren  <newren gmail com>

	* src/window-props.c: manually define HOST_NAME_MAX if not already
	defined to fix Solaris compilation issue.  Caught by Damien
	Carbery, patch from Havoc.  #326745
2006-01-16 17:37:53 +00:00
Søren Sandmann
35dae65862 Really turn off draw-in-a-loop.
Mon Jan 16 11:55:20 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.c (meta_compositor_manage_screen): Really turn
	off draw-in-a-loop.
2006-01-16 16:56:09 +00:00
Kyle Ambroff
fac7010411 If no valid window is found in the MRU list, then set focus to the desktop
2006-01-15  Kyle Ambroff  <kambroff@csus.edu>

	* src/workspace.c (focus_ancestor_or_mru_window):
	If no valid window is found in the MRU list, then set focus to the
	desktop window. (#317405)
2006-01-16 06:07:29 +00:00
Elijah Newren
9fdd3d165d Fix accidental overzealous focus holding by the terminal introduced by the
2006-01-15  Elijah Newren  <newren@gmail.com>

	Fix accidental overzealous focus holding by the terminal
	introduced by the original patch in bug 326159.  Windows launched
	from panel icons, the panel menu, or global keybindings should get
	focus now.  #326159.

	* src/display.c (meta_display_open, event_callback):
	* src/display.h (struct MetaDisplay):
	* src/keybindings.c (process_event):
	* src/window.c (meta_window_set_user_time):
	Add a new allow_terminal_deactivation field to MetaDisplay and use
	it to track whether the user's last action was interaction with
	the terminal or some outside action (global keybinding, clicking
	on a dock, etc.) likely to launch a new window.

	* src/window.c (window_state_on_map):
	Allow the focus switch from a terminal to something else if
	allow_terminal_deactiviation is true.

	* src/keybindings.c (handle_panel_keybinding):
	Remove some unneeded code.
2006-01-15 17:03:57 +00:00
Elijah Newren
ef792fc1f7 Patch from Jens Granseuer to fix more build issues with gcc 2.95. #327050.
2006-01-15  Elijah Newren  <newren@gmail.com>

	Patch from Jens Granseuer to fix more build issues with gcc 2.95.
	#327050.

	* src/boxes.c (meta_rectangle_edge_cmp_ignore_type):
	* src/window.c (meta_window_show):
	Remove C99 style variable initiailization
2006-01-15 16:37:06 +00:00
Elijah Newren
50bcc976bc Don't dereference a NULL string. Fixes #327013.
2006-01-14  Elijah Newren  <newren gmail com>

	* src/window.c (__window_is_terminal): Don't dereference a NULL
	string.  Fixes #327013.
2006-01-15 04:45:34 +00:00
Elijah Newren
def12b85b8 fix compilation when HAVE_COMPOSITE_EXTENSIONS is undefined. #326912
2006-01-14  Elijah Newren  <newren gmail com>

	* src/compositor.[ch]: fix compilation when
	HAVE_COMPOSITE_EXTENSIONS is undefined.  #326912
2006-01-14 21:51:46 +00:00