Compare commits

...

661 Commits

Author SHA1 Message Date
Elijah Newren
618d282893 2.15.2 release
2006-04-25  Elijah Newren  <newren gmail com>

	* NEWS:	2.15.2 release
2006-04-25 21:13:45 +00:00
Elijah Newren
ba1e888cba Nuke the old version, copy one from gcalctool that uses gnome-autogen.sh.
2006-04-25  Elijah Newren  <newren gmail com>

	* autogen.sh: Nuke the old version, copy one from gcalctool that
	uses gnome-autogen.sh.  Seems to fix the
	translations-aren't-included-in-the-tarball problem.  Fix from
	Rodney in IRC.
2006-04-25 21:04:57 +00:00
Elijah Newren
7e78d707ea post-release version bump to 2.15.2
2006-04-25  Elijah Newren  <newren gmail com>

	* configure.in: post-release version bump to 2.15.2
2006-04-25 17:55:14 +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
Elijah Newren
d769484f35 2.15.0 release
2006-04-24  Elijah Newren  <newren gmail com>

        * NEWS: 2.15.0 release
2006-04-24 23:43:25 +00:00
Theppitak Karoonboonyanan
a524fb9c9c Updated Thai translation.
2006-04-21  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation.
2006-04-21 06:24:51 +00:00
Brian Pepple
239cf4a060 #337951.
2006-04-20  Brian Pepple  <bdpepple@gmail.com>

        #337951.

        * po/LINGUAS: New file listing all supported languages.

        * configure.in: Use po/LINGUAS instead of including all languages
        directly in this file. See the wiki for more information:
        http://live.gnome.org/GnomeGoals/PoLinguas.
2006-04-20 15:13:20 +00:00
Ankitkumar Rameshchandra Patel
984154e011 Updated Translation 2006-04-20 07:34:48 +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
Ankitkumar Rameshchandra Patel
89f01eb73a Updated Translation 2006-04-19 11:39:44 +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
Kjartan Maraas
fe47d4436d Remove obsolete entry for no_NO And the translation.
2006-04-18  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Remove obsolete entry for no_NO
	* po/no.po: And the translation.
2006-04-18 06:30:32 +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
Clytie Siddall
83d21b97c4 vi.po: Updated Vietnamese translation. 2006-04-17 10:49:30 +00:00
Josep Puigdemont i Casamajó
f908d78e4b Updated Catalan translation. 2006-04-17 10:24:49 +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
Funda Wang
10f0cfd2dc Updated metacity zh_CN translation. 2006-04-16 06:02:53 +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
Elijah Newren
a03e78210f Include instructions on setting up a minimal building/testing environment
2006-04-14  Elijah Newren  <newren gmail com>

        * HACKING: Include instructions on setting up a minimal
        building/testing environment
2006-04-15 03:35:38 +00:00
Thomas James Alexander Thurman
ecf75915b9 Good grief, can I never get the bug number right? #94682 2006-04-15 02:08:19 +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
Elijah Newren
1dea155c8c Include reasons why gdk/gtk.h and core includes like display.h/window.h
2006-04-14  Elijah Newren  <newren gmail com>

	* HACKING: Include reasons why gdk/gtk.h and core includes like
	display.h/window.h must be kept separate.  Taken from a private
	email from Havoc.
2006-04-14 17:36:17 +00:00
Francisco Javier F. Serrador
694a4352bc Updated Spanish translation.
2006-04-14  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2006-04-14 16:59:04 +00:00
Raphael Higino
4cbe4e7558 Updated Brazilian Portuguese translation 2006-04-14 16:23:25 +00:00
Åsmund Skjæveland
4f99d7e17f Updated Norwegian Nynorsk translation.
2006-04-14  Åsmund Skjæveland  <aasmunds@fys.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.
2006-04-14 14:09:10 +00:00
Ilkka Tuohela
3d4717c8e1 Updated Finnish translation 2006-04-14 13:54:50 +00:00
Wouter Bolsterlee
bf4172dc7c Translation updated by Wouter Bolsterlee.
2006-04-14  Wouter Bolsterlee  <uws+gnome@xs4all.nl>

	* nl.po: Translation updated by Wouter Bolsterlee.
2006-04-14 09:53:08 +00:00
Alexander Shopov
4d097fbc18 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2006-04-14  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>
2006-04-14 08:58:43 +00:00
Alejandro Andres
13cdd8ad3d Fixed broken links. #333303
2006-04-13  Alejandro Andres <fuzzy.alej@gmail.com>

	* README: Fixed broken links.  #333303
2006-04-14 02:28:42 +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
Vincent van Adrighem
c2b4a65e75 Translation updated by Michiel Sikkes.
2006-04-09  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Michiel Sikkes.
2006-04-09 16:35:59 +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
Jeremy Le Floc'h
123684d80b file br.po was initially added on branch gnome-2-14. 2006-04-05 11:26:19 +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
Kjartan Maraas
cb109b9637 Updated Norwegian bokmål translation. Same.
2006-04-02  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.
	* no.po: Same.
2006-04-02 12:37:45 +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
Guntupalli Karunakar
82a6c99485 Added Dzongkha translation 2006-03-30 15:23:51 +00:00
Elijah Newren
d0564def9c Add bugs about pointer warping; update raise-on-click ones.
2006-03-29  Elijah Newren  <newren gmail com>

	* rationales.txt: Add bugs about pointer warping; update
	raise-on-click ones.
2006-03-30 02:56:17 +00:00
Thomas James Alexander Thurman
1f7446cd88 That was #305882, not what I said. 2006-03-29 18:46:23 +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
Elijah Newren
d75c170fef New file. #335026. ;-)
2006-03-28  Elijah Newren  <newren gmail com>

	* MAINTAINERS: New file.  #335026.  ;-)
2006-03-29 05:47:04 +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 James Alexander Thurman
9b6aeeef12 good grief, I always forget the bug number: #309567 2006-03-25 23:26:08 +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
Gora Mohanty
905b4e8e0d po/or.po: Updated Oriya translation.
po/Changelog: Changed to reflect this.
2006-03-23 18:54:56 +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
Priit Laes
c5d4cbd742 Translation updated by Ivar Smolin.
2006-03-21  Priit Laes  <amd@store20.com>

	* et.po: Translation updated by Ivar Smolin.
2006-03-21 08:01:11 +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
Priit Laes
bdb60c4e72 Translation updated by Ivar Smolin.
2006-03-17  Priit Laes  <amd@store20.com>

	* et.po: Translation updated by Ivar Smolin.
2006-03-17 08:17:29 +00:00
Thomas James Alexander Thurman
d07fccc8b1 Mentioned bug number (#315142) 2006-03-17 04:34:16 +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
Žygimantas Beručka
a401b82089 Updated Lithuanian translation.
2006-03-15  Žygimantas Beručka  <zygis@gnome.org>

        * lt.po: Updated Lithuanian translation.
2006-03-15 14:22:42 +00:00
Mugurel Tudor
54751db00a Updated Romanian translation
2006-03-14  Mugurel Tudor  <mugurelu@gnome.ro>

	* ro.po: Updated Romanian translation
2006-03-14 18:30:48 +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
Miloslav Trmac
5f30265879 Updated Czech translation.
2006-03-14  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2006-03-14 01:02:36 +00:00
Elijah Newren
0b5f11ae5a Update to reflect that we're now targetting 2.15 development.
2006-03-13  Elijah Newren  <newren gmail com>

        * README:
	* configure.in:
	Update to reflect that we're now targetting 2.15 development.
2006-03-13 23:11:33 +00:00
Jordi Mallach
6ef997d3ad Updated Catalan translation. 2006-03-13 18:58:52 +00:00
Vincent van Adrighem
369ab5bc2b Translation updated by Tino Meinen.
2006-03-13  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2006-03-13 18:56:58 +00:00
Thomas James Alexander Thurman
188bc50a35 Belated update of ChangeLog for #334332 2006-03-13 17:46:25 +00:00
Danilo Šegan
042f5e3e6b Updated Serbian translation. 2006-03-13 14:50:35 +00:00
Alexander Shopov
82a3cad018 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2006-03-13  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>
2006-03-13 12:09:47 +00:00
Laurent Dhima
c910286c02 Updated Albanian translation.
2006-03-13  Laurent Dhima  <laurenti@alblinux.net>

	* sq.po: Updated Albanian translation.
2006-03-13 11:56:30 +00:00
Francisco Javier F. Serrador
07ef2db60c Updated Spanish translation.
2006-03-13  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2006-03-13 10:45:45 +00:00
Maxim Dziumanenko
5f3b961989 Updated Ukrainian translation.
2006-03-13  Maxim Dziumanenko <mvd@mylinux.ua>

	* Updated Ukrainian translation.
2006-03-13 10:02:23 +00:00
Amanpreet Singh Alam
3393f4707c update translation for Punjabi (Gurmukhi) by apbrar gmail com 2006-03-13 10:01:11 +00:00
Rajesh Ranjan
77b8ed579a Updated Translation 2006-03-13 09:16:43 +00:00
Theppitak Karoonboonyanan
d02815b364 Updated Thai translation (merged from gnome-2-14 branch).
2006-03-13  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation (merged from gnome-2-14 branch).
2006-03-13 05:27:16 +00:00
Satoru SATOH
9cfa08d4f4 Updated Japanese translation.
2006-03-13  Satoru SATOH <ss@gnome.gr.jp>

	* ja.po: Updated Japanese translation.
2006-03-13 03:04:30 +00:00
Duarte Loreto
77440097e1 Updated Portuguese translation.
2006-03-13  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.
2006-03-13 01:42:39 +00:00
Guilherme de S. Pastore
985195858d Updated Brazilian Portuguese translation 2006-03-13 00:52:17 +00:00
Frank Arnold
d161ddcff8 Updated German translation.
2006-03-13  Frank Arnold  <farnold@cvs.gnome.org>

	* de.po: Updated German translation.
2006-03-12 23:25:02 +00:00
Daniel Nylander
e27bebc49b Updated Swedish translation.
2006-03-13  Daniel Nylander  <po@danielnylander.se>

        * sv.po: Updated Swedish translation.
2006-03-12 23:04:05 +00:00
Ignacio Casal Quinteiro
9ac0eab5c3 *** empty log message *** 2006-03-12 22:56:29 +00:00
Thomas James Alexander Thurman
4d220adc32 Marking string for translation. Closes #334332 2006-03-12 21:04:56 +00:00
Amanpreet Singh Alam
7750026603 update translation for Punjabi (Gurmukhi) by apbrar gmail com 2006-03-12 18:03:46 +00:00
Raphael Higino
92ac98ef47 Updated Brazilian Portuguese translation 2006-03-12 15:25:54 +00:00
Priit Laes
1161cfdeba Translation updated by Ivar Smolin.
2006-03-12  Priit Laes  <amd@store20.com>

	* et.po: Translation updated by Ivar Smolin.
2006-03-12 08:08:43 +00:00
Miloslav Trmac
8d0a3358c7 Updated Czech translation by Petr Tomeš.
2006-03-12  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation by Petr Tomeš.
2006-03-12 02:47:14 +00:00
Roozbeh Pournader
20c9efaf82 Updated Persian translation by Meelad Zakaria, Elnaz Sarbar, and Farzaneh
2006-03-12  Roozbeh Pournader  <roozbeh@farsiweb.info>

	* fa.po: Updated Persian translation by Meelad Zakaria,
	  Elnaz Sarbar, and Farzaneh Sarafraz.
2006-03-11 22:20:07 +00:00
Hendrik Richter
192943640e Updated German translation.
2006-03-09  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.
2006-03-09 20:34:29 +00:00
Laurent Dhima
46bdc87e94 Updated Albanian translation.
2006-03-09  Laurent Dhima  <laurenti@alblinux.net>

	* sq.po: Updated Albanian translation.
2006-03-09 17:00:13 +00:00
Laurent Dhima
35674ae862 Updated Albanian translation.
2006-03-08  Laurent Dhima  <laurenti@alblinux.net>

	* sq.po: Updated Albanian translation.
2006-03-08 19:02:06 +00:00
Gabor Kelemen
04433e5b9d Hungarian translation updated.
2006-03-08  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Hungarian translation updated.
2006-03-08 09:21:03 +00:00
Funda Wang
f8cd8ae75f Updated metacity zh_CN translation. 2006-03-07 05:03:56 +00:00
Daniel Nylander
94d4d039c2 Updated Swedish translation
2006-03-06  Daniel Nylander  <po@danielnylander.se>

        * sv.po: Updated Swedish translation
2006-03-06 17:27:20 +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
Mugurel Tudor
8c2a5dbc19 Updated Romanian translation
2006-03-05  Mugurel Tudor  <mugurelu@gnome.ro>

	* ro.po: Updated Romanian translation
2006-03-05 19:59:59 +00:00
Alexander Shopov
92971d6377 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2006-03-05  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>
2006-03-05 11:31:27 +00:00
Hendrik Richter
add8531eb4 Updated German translation.
2006-03-04  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.
2006-03-04 10:07:31 +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
Maxim Dziumanenko
7a8e3c94fd Updated Ukrainian translation.
2006-03-03  Maxim Dziumanenko <mvd@mylinux.ua>

	* Updated Ukrainian translation.
2006-03-03 14:18:35 +00:00
Hendrik Richter
4d0d192761 Updated German translation.
2006-03-02  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.
2006-03-02 22:14:16 +00:00
Hendrik Richter
c3ed3a3090 Updated German translation.
2006-03-02  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.
2006-03-02 21:50:37 +00:00
Rhys Jones
b7c040be26 Updated Welsh translation.
2006-03-02  Rhys Jones  <rhys@sucs.org>

	* cy.po: Updated Welsh translation.
2006-03-02 17:50:23 +00:00
Arangel Angov
e92403441a Updated Macedonian Translation <arangela@cvs.gnome.org> 2006-03-01 22:48:13 +00:00
Leonid Kanter
9232b75ef4 Updated Russian translation 2006-03-01 16:00:12 +00:00
Josep Puigdemont i Casamajó
1b7d0fbc87 Updated Catalan translation. 2006-03-01 00:29:49 +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
Leonid Kanter
d3e27ed02a Updated Russian translation 2006-02-28 18:27:31 +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
Elijah Newren
6a08faf99b Patch from Sylvain Bertrand to fix build issues with library search order.
2006-02-27  Elijah Newren  <newren gmail com>

        * configure.in:
        Patch from Sylvain Bertrand to fix build issues with library
        search order.  #330695.
2006-02-27 22:11:56 +00:00
Lasse Bang Mikkelsen
a3e7c9c222 Updated Danish translation 2006-02-27 20:03:30 +00:00
Lasse Bang Mikkelsen
1a430825c3 Updated Danish translation 2006-02-27 00:09:32 +00:00
Miloslav Trmac
82664c5d76 Updated Czech translation.
2006-02-25  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2006-02-25 22:59:37 +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
Inaki Larranaga
928364e915 Updated Basque translation.
2006-02-23  Inaki Larranaga  <dooteo@euskalgnu.org>

	* eu.po:  Updated Basque translation.
2006-02-23 12:19:42 +00:00
Clytie Siddall
78ce6d6a60 ka.po: Added Georgian translation. 2006-02-23 06:05:40 +00:00
Duarte Loreto
a6b60a2024 Updated Portuguese translation.
2006-02-23  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.
2006-02-23 01:57:49 +00:00
Žygimantas Beručka
f5fdb07165 Updated Lithuanian translation.
2006-02-23  Žygimantas Beručka  <zygis@gnome.org>

        * lt.po: Updated Lithuanian translation.
2006-02-22 23:25:40 +00:00
Vincent van Adrighem
f127b2bc98 Translation updated by Tino Meinen.
2006-02-21  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2006-02-21 12:17:22 +00:00
Clytie Siddall
5352caac31 vi.po: Updated Vietnamese translation. 2006-02-21 11:27:20 +00:00
Slobodan D. Sredojevic
d24fa066a4 Updated Serbian translation
2006-02-21  Slobodan D. Sredojevic  <slobo@akrep.be>

        * sr.po, sr@Latn.po: Updated Serbian translation
2006-02-21 00:51:09 +00:00
Ignacio Casal Quinteiro
d010bbb5ed *** empty log message *** 2006-02-21 00:09:18 +00:00
Ankitkumar Rameshchandra Patel
636da5ebff Updated Translation 2006-02-20 11:06:21 +00:00
Kostas Papadimas
a42e4dac42 Updated Greek translation 2006-02-20 09:43:26 +00:00
Ilkka Tuohela
f966ab041b Updated Finnish translation 2006-02-20 09:41:06 +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
Takeshi AIHANA
5a85bf18fe Updated Japanese translation for v2.13.89.
2006-02-19  Takeshi AIHANA <takeshi.aihana@gmail.com>

	* ja.po: Updated Japanese translation for v2.13.89.
2006-02-18 15:18:52 +00:00
Francisco Javier F. Serrador
833fc11c47 Updated Spanish translation.
2006-02-18  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2006-02-18 13:38:30 +00:00
Kjartan Maraas
8215a35993 Updated Norwegian bokmål translation. Same.
2006-02-18  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.
	* no.po: Same.
2006-02-18 13:15:48 +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
0610f92f0f post-release version bump to 2.13.144
2006-02-13  Elijah Newren  <newren gmail com>

	* configure.in: post-release version bump to 2.13.144
2006-02-13 19:46:13 +00:00
Elijah Newren
b3e0208afa 2.13.89 release
2006-02-13  Elijah Newren  <newren gmail com>

	* NEWS:	2.13.89 release
2006-02-13 19:45:02 +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
Miloslav Trmac
d0e8371494 Updated Czech translation.
2006-02-13  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2006-02-13 05:07:54 +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
0e8c8eb6b5 Add a man page for metacity. Original version taken from Debian (written
2006-02-11  Elijah Newren  <newren gmail com>

	Add a man page for metacity.  Original version taken from Debian
	(written by Thom May and Akira Tagoh) and updated by Luke Morton
	and Philip O'Brien.  Necessary auto-fu supplied by Philip O'Brien.
	Fixes #321279.
2006-02-12 00:55:57 +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
Kang Jeong-Hee
0654163d8a ko.po updated 2006-02-11 12:41:31 +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
Funda Wang
d49bb492fe Updated metacity zh_CN translation. 2006-02-05 19:09:25 +00:00
Kjartan Maraas
14f72c89e3 Updated Norwegian bokmål translation. Same.
2006-02-03  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.
	* no.po: Same.
2006-02-03 18:09:35 +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
Vincent van Adrighem
f839edda05 Translation updated by Tino Meinen.
2006-01-31  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2006-01-31 11:20:22 +00:00
Slobodan D. Sredojevic
d6ace0d2d4 Updated Serbian translation
2006-01-31  Slobodan D. Sredojevic  <slobo@akrep.be>

        * sr.po, sr@Latn.po: Updated Serbian translation
2006-01-31 03:14:11 +00:00
Elijah Newren
bcadc0ce3a Oops, I forgot to save the final changes before committing; fix that now 2006-01-30 17:50:03 +00:00
Elijah Newren
fdd47d79b4 post-release version bump to 2.13.89
2006-01-30  Elijah Newren  <newren gmail.com>

	* configure.in: post-release version bump to 2.13.89
2006-01-30 17:44:50 +00:00
Elijah Newren
891e59e597 2.13.55 release
2006-01-30  Elijah Newren  <newren gmail com>

	* NEWS:	2.13.55 release
2006-01-30 17:42:51 +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
Theppitak Karoonboonyanan
be036ca300 Updated Thai translation.
2006-01-28  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation.
2006-01-28 10:59:06 +00:00
Josep Puigdemont i Casamajó
5a49bc8f91 Updated Catalan translation. 2006-01-27 00:45:53 +00:00
Adam Weinberger
2360ba0aeb Updated Canadian English translation.
2006-01-26  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2006-01-26 18:09:53 +00:00
Evandro Fernandes Giovanini
2bcbabf6ec Updated Brazilian Portuguese translation.
2006-01-26  Evandro Fernandes Giovanini <evandrofg@ig.com.br>

	* pt_BR.po: Updated Brazilian Portuguese translation.
2006-01-26 07:49:44 +00:00
Ignacio Casal Quinteiro
e7675e8069 *** empty log message *** 2006-01-24 20:21:11 +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
Ankitkumar Rameshchandra Patel
9abec54da6 Updated Translation 2006-01-23 09:46:05 +00:00
Funda Wang
095359b58d Updated metacity translation. 2006-01-23 07:25:16 +00:00
Kjartan Maraas
99c3ce1ef9 Updated Norwegian bokmål translation. Same.
2006-01-22  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.
	* no.po: Same.
2006-01-22 19:15:13 +00:00
Ilkka Tuohela
0375976ef0 Updated Finnish translation 2006-01-22 07:33:08 +00:00
Clytie Siddall
9a91c8066a vi.po: Updated Vietnamese translation. 2006-01-22 05:28:42 +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
Ilkka Tuohela
8808c8b500 Updated Finnish translation 2006-01-21 20:07:31 +00:00
Francisco Javier F. Serrador
5c29242d4a Updated Spanish translation.
2006-01-21  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2006-01-21 19:25:13 +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
e44e8c93aa post-release version bump to 2.13.55
2006-01-20  Elijah Newren  <newren gmail.com>

	* configure.in: post-release version bump to 2.13.55
2006-01-21 01:36:01 +00:00
Elijah Newren
c8d135b353 2.13.34 release
2006-01-20  Elijah Newren  <newren gmail com>

	* NEWS:	2.13.34 release
2006-01-21 01:33:49 +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
Ignacio Casal Quinteiro
0ea8552531 *** empty log message *** 2006-01-21 00:08:11 +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
Vincent van Adrighem
1bce2c55fe Translation updated by Tino Meinen.
2006-01-20  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2006-01-20 12:50:15 +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
Funda Wang
59d7d891db Updated metacity translation. 2006-01-18 13:40:28 +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
Ignacio Casal Quinteiro
a42d6647b5 *** empty log message *** 2006-01-17 20:19:07 +00:00
Ilkka Tuohela
0a815fb8f8 Updated Finnish translation 2006-01-16 20:00:56 +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
Elijah Newren
4d868c1ddc post-release version bump to 2.13.34
2006-01-16  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.13.34
2006-01-16 17:14:20 +00:00
Elijah Newren
97981e4322 2.13.21 release
2006-01-16  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.13.21 release
2006-01-16 17:13:20 +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
Francisco Javier F. Serrador
d552ca35f6 Updated Spanish translation.
2006-01-15  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2006-01-15 19:32:28 +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
Takeshi AIHANA
5a652acf88 Updated Japanese translation for v2.13.13.
2006-01-14  Takeshi AIHANA <takeshi.aihana@gmail.com>

	* ja.po: Updated Japanese translation for v2.13.13.
2006-01-14 15:57:24 +00:00
Søren Sandmann
efe25a80ed Only update on damage events.
Fri Jan 13 16:37:26 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.c (update): Only update on damage events.
2006-01-13 21:38:56 +00:00
Elijah Newren
f9d11c0be6 Patch from Damien Carbery. Fixes #326746.
2006-01-13  Elijah Newren  <newren gmail com>

	Patch from Damien Carbery.  Fixes #326746.

	* src/util.c: explicitly #include Xlib.h to fix a compilation
	issue on Solaris.
2006-01-13 21:36:10 +00:00
Søren Sandmann
fea6191473 Add a dependency on libcm when building with compositor.
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.
2006-01-13 19:41:01 +00:00
Adam Weinberger
0eab7bd14c Updated Canadian English translation.
2006-01-11  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2006-01-11 17:51:22 +00:00
Elijah Newren
9ec589b3b8 Replace __PRETTY_FUNCTION__ with G_STRFUNC, because lesser compilers don't
2006-01-11  Elijah Newren  <newren gmail com>

	* src/textboxes.c (test_area, test_intersect, test_equal,
	  test_overlap_funcs, test_basic_fitting, test_merge_regions,
	  test_regions_okay, test_region_fitting, test_clamping_to_region,
	  test_clipping_to_region, test_shoving_into_region,
	  test_find_onscreen_edges,
	  test_find_nonintersected_xinerama_edges, test_gravity_resize,
	  test_find_closest_point_to_line):
	Replace __PRETTY_FUNCTION__ with G_STRFUNC, because lesser
	compilers don't support the former.  Caught by Damien Carbery, fix
	suggested by Ray Strode.  #326281.
2006-01-11 16:35:03 +00:00
Theppitak Karoonboonyanan
d0b1dab993 Updated Thai translation.
2006-01-11  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation.
2006-01-11 14:58:43 +00:00
Ankitkumar Rameshchandra Patel
4689944194 Updated Translation 2006-01-11 06:40:09 +00:00
Clytie Siddall
1f6dbf75fa vi.po: Updated Vietnamese translation. 2006-01-11 05:43:30 +00:00
Elijah Newren
51b8c402d8 post-release version bump to 2.13.21
2006-01-10  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.13.21
2006-01-10 20:08:27 +00:00
Elijah Newren
f0322ee76c 2.13.13 release
2006-01-10  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.13.13 release
2006-01-10 20:07:34 +00:00
Elijah Newren
5913b8c5ab Whoops, I forgot to keep my copyright info updated with my previous
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...
2006-01-10 19:43:21 +00:00
Elijah Newren
52df880f32 Add a raise on click option, basically only because all the major distros
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
2006-01-10 19:35:03 +00:00
Elijah Newren
f6270596de Don't "steal" focus from terminal windows for new window mappings as the
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
2006-01-10 18:33:53 +00:00
Elijah Newren
a4d1c6fd61 More thorough handling of source indication. Part of #326041.
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
2006-01-10 05:44:40 +00:00
Elijah Newren
0f8add8b37 Make the taskbar less flash happy and fix up some related stacking issues.
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
2006-01-10 05:14:48 +00:00
Elijah Newren
8c5b6c875a Fix window outline for minimized windows when using alt-esc. #325092.
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.
2006-01-10 05:05:40 +00:00
Elijah Newren
ae52d731be Fix reduced resources resize handling for windows with sizing or resizing
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.
2006-01-10 05:01:08 +00:00
Elijah Newren
d884f9ce8a Be more strict about what is considered a valid region with partial
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
2006-01-10 04:57:51 +00:00
Elijah Newren
ee54debd6a Use the right function to remove the timeout so that we don't crash if
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.
2006-01-10 04:50:17 +00:00
Elijah Newren
24cfed8cf0 Remove the "pull-away" edge resistance. Fixes another of the zillions of
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.
2006-01-10 04:46:45 +00:00
Elijah Newren
008a811e10 Revert to the old edge resistance behavior for keyboard movement/resizing
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.
2006-01-10 04:42:30 +00:00
Elijah Newren
de65967b62 Remove the timeout resistance at screen/xinerama edges for the whiners.
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.
2006-01-10 04:39:53 +00:00
Elijah Newren
35532d14cb Make extra timeout edge resistance apply even if one edge already
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.
2006-01-10 04:36:36 +00:00
Elijah Newren
9516694385 Allow edge resistance at both sides of a window and also when edges don't
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
2006-01-10 04:33:58 +00:00
Elijah Newren
9eb56f151c Plug a few leaks. Fixes #309178.
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
2006-01-10 04:18:09 +00:00
Kjartan Maraas
e3ff2316fe Updated Norwegian bokmål translation. Same
2006-01-06  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.
	* no.po: Same
2006-01-06 17:58:32 +00:00
Elijah Newren
ab0ba52f89 Clarify how/why metacity-message is used a little 2006-01-02 19:01:29 +00:00
Elijah Newren
339948fcf2 Patch from Björn Lindqvist to fix a logic error. #322149.
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 ||.
2006-01-02 18:48:30 +00:00
Elijah Newren
ebd0c7e9a6 Patch from Jens Granseuer to fix build with gcc 2.95. #322622.
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
2006-01-02 18:37:46 +00:00
Elijah Newren
d530c3e405 post-release version bump to 2.13.13
2006-01-02  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.13.13
2006-01-02 18:00:18 +00:00
Elijah Newren
be86740b3d 2.13.8 release
2006-01-02  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.13.8 release
2006-01-02 17:59:18 +00:00
Ilkka Tuohela
d4771cd9cf Updated Finnish translation 2005-12-30 14:03:29 +00:00
Clytie Siddall
a59f14adbc vi.po: Updated Vietnamese translation. 2005-12-30 07:49:05 +00:00
Elijah Newren
703f58cdf7 Make the workspace switcher work with dual-head (non-xinerama) setups.
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.
2005-12-28 06:24:30 +00:00
Elijah Newren
5e9f20e94c since the title is going to be treated as markup, escape it. Fixes
2005-12-27  Elijah Newren  <newren@gmail.com>

	* src/tabpopup.c (meta_ui_tab_popup_new): since the title is going
	to be treated as markup, escape it.  Fixes #324846.
2005-12-27 16:40:47 +00:00
Kang Jeong-Hee
a710235e86 ko.po updated 2005-12-25 14:27:11 +00:00
Elijah Newren
53cba6ed37 Oops, I only meant to commit the changes to rationales.txt in the last commit 2005-12-22 07:08:38 +00:00
Elijah Newren
7e821f37fd Add xinerama and multi-head tracker bugs 2005-12-22 06:18:38 +00:00
Arangel Angov
830baad257 Macedonian Translation update <arangela@cvs.gnome.org> 2005-12-18 23:17:08 +00:00
Kang Jeong-Hee
6a9242b192 compile with compositor enabled 2005-12-14 12:47:35 +00:00
Elijah Newren
013c8b82db post-release version bump to 2.13.8
2005-12-12  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.13.8
2005-12-12 18:44:32 +00:00
Elijah Newren
37fb0af742 2.13.5 release
2005-12-12  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.13.5 release
2005-12-12 18:41:02 +00:00
Elijah Newren
12193322a8 make the debugging message actually correspond to the code. Patch from
2005-12-12  Elijah Newren  <newren@gmail.com>

	* src/window.c (update_net_frame_extents): make the debugging
	message actually correspond to the code.  Patch from Björn
	Lindqvist.  Fixes #322051.
2005-12-12 18:22:40 +00:00
Miloslav Trmac
d9721257d2 Updated Czech translation.
2005-12-11  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-12-11 21:59:28 +00:00
Ankitkumar Rameshchandra Patel
c08a660368 Updated Gujarati Translation 2005-12-11 13:27:25 +00:00
Adam Weinberger
77b148afdc Updated Canadian English translation.
2005-12-03  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-12-03 21:02:19 +00:00
Kjartan Maraas
b4635f2143 Updated Norwegian bokmål translation. Same
2005-12-03  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.
	* no.po: Same
2005-12-03 10:59:44 +00:00
Kjartan Maraas
b3f465c727 Make the wireframe a bit slimmer 2005-11-29 21:36:12 +00:00
Davyd Madeley
616d778f6b display hostname in titlebar for remote X clients. Closes bug #322202.
2005-11-24  Davyd Madeley  <davyd@fugro-fsi.com.au>

        * src/window-props.c: display hostname in titlebar for remote X
          clients. Closes bug #322202.
2005-11-23 17:08:03 +00:00
Marcel Telka
6fa00967a5 Updated Slovak translation.
2005-11-22  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2005-11-22 23:08:02 +00:00
Elijah Newren
35925d1cf1 post-release version bump to 2.13.5
2005-11-22  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.13.5
2005-11-22 16:12:54 +00:00
Elijah Newren
d74b0ce151 2.13.3 release
2005-11-22  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.13.3 release
2005-11-22 16:11:53 +00:00
Alexander Shopov
ca6991d4a8 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2005-11-22  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>
2005-11-22 15:54:50 +00:00
Elijah Newren
ca2fe384bc Don't allow removing a window from maximized or fullscreened state to
2005-11-22  Elijah Newren  <newren@gmail.com>

	Don't allow removing a window from maximized or fullscreened state
	to place the titlebar under the top panel.  Fixes #322075.

	* src/display.c (handle_net_moveresize_window): fix up previous
	comments now that I know a little more, modify the code just
	slightly to clarify that this is NOT a manual user move/resize
	operation

	* src/window.c (meta_window_unmaximize,
	  meta_window_unmake_fullscreen,
	  meta_window_shove_titlebar_onscreen):
	don't claim that these are manual user move/resize operations
2005-11-22 15:48:30 +00:00
Theppitak Karoonboonyanan
65168cf8c9 Updated Thai translation.
2005-11-22  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation.
2005-11-22 06:03:52 +00:00
Elijah Newren
b03d82661f Relax the partially onscreen constraint to allow the titlebar to touch the
2005-11-21  Elijah Newren  <newren@gmail.com>

	* src/constraints.c (constrain_partially_onscreen): Relax the
	partially onscreen constraint to allow the titlebar to touch the
	bottom panel in order to make the new constraints code function
	the same as the old version.  Fixes #322071.
2005-11-22 00:22:41 +00:00
Francisco Javier F. Serrador
20e6b8d2f8 Updated Spanish translation.
2005-11-21  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-11-21 22:20:32 +00:00
Elijah Newren
3426844ad5 When updating the xinerama due to placement, update which maximal/spanning
2005-11-21  Elijah Newren  <newren@gmail.com>

	* src/constraints.c (place_window_if_needed): When updating the
	xinerama due to placement, update which maximal/spanning rect set
	to use as well
2005-11-21 21:35:31 +00:00
Elijah Newren
a3902fb922 Oops, missed a couple cleanups in this documentation 2005-11-21 18:19:58 +00:00
Elijah Newren
0fdbdbd236 It took me a little while to figure out how struts & workareas are updated
2005-11-21  Elijah Newren  <newren@gmail.com>

	* doc/strut-and-related-updating.txt: It took me a little while to
	figure out how struts & workareas are updated and to learn what
	all the related functions were used for so I thought I'd clean up
	my notes and make them available.  This will probably be more
	useful now since regions and edges are also computed and stored at
	the some time as the workareas.
2005-11-21 18:16:52 +00:00
Elijah Newren
9641bc5ee7 compute the frame geometry due to maximization only after actually
2005-11-20  Elijah Newren  <newren@gmail.com>

	* src/constraints.c (place_window_if_needed): compute the frame
	geometry due to maximization only after actually maximizing.
	Fixes #321902.
2005-11-21 06:00:18 +00:00
Davyd Madeley
d1da3438d4 Use GPOINTER_TO_INT() macro instead of cast to allow compilation on 64-bit
2005-11-21  Davyd Madeley  <davyd@fugro-fsi.com.au>

        * src/edge-resistance.c (meta_display_compute_resistance_and_snap):
          Use GPOINTER_TO_INT() macro instead of cast to allow compilation on
          64-bit architectures without warning.
2005-11-21 02:58:36 +00:00
Francisco Javier F. Serrador
f9a4aea0cf Updated Spanish translation.
2005-11-20  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-11-20 18:04:11 +00:00
Ignacio Casal Quinteiro
0ac220aecd *** empty log message *** 2005-11-20 11:31:22 +00:00
Elijah Newren
075d6d34db differentiate between movement towards an edge and movement away from one.
2005-11-19  Elijah Newren  <newren@gmail.com>

	* src/edge-resistance.c (apply_edge_resistance): differentiate
	between movement towards an edge and movement away from one.  Pick
	smaller constants for movement away from an edge.
2005-11-20 04:02:46 +00:00
Takeshi AIHANA
dfbec3a4c3 Updated Japanese translation for v2.13.2.
2005-11-20  Takeshi AIHANA <aihana@gnome.gr.jp>

	* ja.po: Updated Japanese translation for v2.13.2.
2005-11-20 02:58:03 +00:00
Elijah Newren
466ce4a936 Add another fixed bug to the ChangeLog and NEWS that I missed earlier 2005-11-19 21:53:12 +00:00
Elijah Newren
c78a98e066 post-release version bump to 2.13.3
2005-11-19  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.13.3
2005-11-19 16:54:03 +00:00
Elijah Newren
a5165ee24d 2.13.2 release
2005-11-19  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.13.2 release
2005-11-19 16:52:25 +00:00
Elijah Newren
a7201d27d1 Merge of all the changes on the constraints_experiments branch. This is
2005-11-18  Elijah Newren  <newren@gmail.com>

	Merge of all the changes on the constraints_experiments branch.
	This is just a summary, to get the full ChangeLog of those
	changes (approx. 2000 lines):
	  cvs -q -z3 update -Pd -r constraints_experiments
	  cvs -q -z3 diff -pu -r CONSTRAINTS_EXPERIMENTS_BRANCHPOINT ChangeLog

	Bugs fixed:
	  unfiled - constraints.c is overly complicated[1]
	  unfiled - constraints.c is not robust when all constraints
	            cannot simultaneously be met (constraints need to be
	            prioritized)
	  unfiled - keep-titlebar-onscreen constraint is decoration
	            unaware (since get_outermost_onscreen_positions()
	            forgets to include decorations)
	  unfiled - keyboard snap-moving and snap-resizing snap to hidden
	            edges
	   109553 - gravity w/ simultaneous move & resize doesn't work
	   113601 - maximize vertical and horizontal should toggle and be
	            constrained
	   122196 - windows show up under vertical panels
	   122670 - jerky/random resizing of window via keyboard[2]
	   124582 - keyboard and mouse snap-resizing and snap-moving
	            erroneously moves the window multidimensionally
	   136307 - don't allow apps to resize themselves off the screen
	            (*cough* filechooser *cough*)
	   142016, 143784 - windows should not span multiple xineramas
	            unless placed there by the user
	   143145 - clamp new windows to screensize and force them
	            onscreen, if they'll fit
	   144126 - Handle pathological strut lists sanely[3]
	   149867 - fixed aspect ratio windows are difficult to resize[4]
	   152898 - make screen edges consistent; allow easy slamming of
	            windows into the left, right, and bottom edges of the
	            screen too.
	   154706 - bouncing weirdness at screen edge with keyboard moving
	            or resizing
	   156699 - avoid struts when placing windows, if possible (nasty
	            a11y blocker)
	   302456 - dragging offscreen too restrictive
	   304857 - wireframe moving off the top of the screen is misleading
	   308521 - make uni-directional resizing easier with
	            alt-middle-drag and prevent the occasional super
	            annoying resize-the-wrong-side(s) behavior
	   312007 - snap-resize moves windows with a minimum size
	            constraint
	   312104 - resizing the top of a window can cause the bottom to
	            grow
	   319351 - don't instantly snap on mouse-move-snapping, remove
	            braindeadedness of having order of releasing shift and
	            releasing button press matter so much

	   [1] fixed in my opinion, anyway.
	   [2] Actually, it's not totally fixed--it's just annoying
	       instead of almost completely unusable.  Matthias had a
	       suggestion that may fix the remainder of the problems (see
	       http://tinyurl.com/bwzuu).
	   [3] This bug was originally about not-quite-so-pathological
	       cases but was left open for the worse cases. The code from
	       the branch handles the remainder of the cases mentioned in
	       this bug.
	   [4] Actually, although it's far better there's still some minor
	       issues left: a slight drift that's only noticeable after
	       lots of resizing, and potential problems with partially
	       onscreen constraints due to not clearing any
	       fixed_directions flags (aspect ratio windows get resized in
	       both directions and thus aren't fixed in one of them)

	New feature:
	    81704 - edge resistance for user move and resize operations;
	            in particular 3 different kinds of resistance are
	            implemented:
             	 Pixel-Distance: window movement is resisted when it
	     	   aligns with an edge unless the movement is greater than
	     	   a threshold number of pixels
             	 Timeout: window movement past an edge is prevented until
	     	   a certain amount of time has elapsed during the
	     	   operation since the first request to move it past that
	     	   edge
             	 Keyboard-Buildup: when moving or resizing with the
	     	   keyboard, once a window is aligned with a certain edge
	     	   it cannot move past until the correct direction has
	     	   been pressed enough times (e.g. 2 or 3 times)

	Major changes:
	  - constraints.c has been rewritten; very few lines of code from
	    the old version remain.  There is a comment near the top of
	    the function explaining the basics of how the new framework
	    works.  A more detailed explanation can be found in
	    doc/how-constraints-works.txt
	  - edge-resistance.[ch] are new files implementing edge-resistance.
	  - boxes.[ch] are new files containing low-level error-prone
	    functions used heavily in constraints.c and edge-resistance.c,
	    among various places throughout the code.  testboxes.c
	    contains a thorough testsuite for the boxes.[ch] functions
	    compiled into a program, testboxes.
	  - meta_window_move_resize_internal() *must* be told the gravity
	    of the associated operation (if it's just a move operation,
	    the gravity will be ignored, but for resize and move+resize
	    the correct value is needed)
	  - the craziness of different values that
	    meta_window_move_resize_internal() accepts has been documented
	    in a large comment at the beginning of the function.  It may
	    be possible to clean this up some, but until then things will
	    remain as they were before--caller beware.
	  - screen and xinerama usable areas (i.e. places not covered by
	    e.g. panels) are cached in the workspace now, as are the
	    screen and xinerama edges.  These get updated with the
	    workarea in src/workspace.c:ensure_work_areas_validated()
2005-11-19 14:58:50 +00:00
Vincent van Adrighem
cfb3bd081a Translation updated by Wouter Bolsterlee.
2005-11-17  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Wouter Bolsterlee.
2005-11-16 23:22:35 +00:00
Elijah Newren
d0095e947f post-release version bump to 2.13.2
2005-11-14  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.13.2
2005-11-14 18:28:32 +00:00
Elijah Newren
ef486d855c 2.13.1 release
2005-11-14  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.13.1 release
2005-11-14 18:27:22 +00:00
Theppitak Karoonboonyanan
2e10145b33 Updated Thai translation.
2005-11-13  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation.
2005-11-13 06:20:15 +00:00
Aidan Delaney
6677b55cd5 Changed the 'minimized' field of the MetaTabEntry struct to 'hidden'.
2005-11-11 Aidan Delaney <a.j.delaney@brighton.ac.uk>

       * src/tabpopup.h: (struct _MetaTabEntry):
       * src/tabpopup.c: (meta_ui_tab_popup_new):
       * src/screen.c: (meta_screen_ensure_tab_popup):
       Changed the 'minimized' field of the MetaTabEntry struct to
       'hidden'.  Fixes reopened bug #168455.
2005-11-12 00:34:32 +00:00
Norayr Chilingaryan
7c1aa16c3b bugfix ;) 2005-11-08 14:18:08 +00:00
Miloslav Trmac
e2e2c6401b Updated Czech translation.
2005-11-03  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-11-02 23:02:27 +00:00
Kjartan Maraas
4752ef55c7 Merge fix for bug #320050 from stable.
2005-10-29  Kjartan Maraas  <kmaraas@gnome.org>

	* src/eventqueue.c: (meta_event_queue_new): Merge fix
	for bug #320050 from stable.
2005-10-29 07:37:45 +00:00
Francisco Javier F. Serrador
55f62585d0 Updated Spanish translation.
2005-10-28  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-10-28 20:07:07 +00:00
Takeshi AIHANA
a11e758b4b Updated Japanese translation for v2.13.0.
2005-10-29  Takeshi AIHANA <aihana@gnome.gr.jp>

	* ja.po: Updated Japanese translation for v2.13.0.
2005-10-28 15:07:54 +00:00
Erdal Ronahi
828d2ca01e Added Kurdish translation 2005-10-27 18:20:58 +00:00
Philip O'Brien
064303e98e add handling for META_PREF_CURSOR_THEME and META_PREF_CURSOR_SIZE for more
2005-10-25  Philip O'Brien  <philip.obrien@dal.ca>

	* src/prefs.c (meta_preference_to_string): add handling for
	META_PREF_CURSOR_THEME and META_PREF_CURSOR_SIZE for more complete
	debug info
2005-10-25 16:43:01 +00:00
Elijah Newren
094449d097 post-release version bump to 2.13.1
2005-10-24  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.13.1
2005-10-24 22:40:49 +00:00
Elijah Newren
ddd1d6616d 2.13.0 release
2005-10-24  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.13.0 release
2005-10-24 22:39:15 +00:00
Elijah Newren
f2acdda740 Fix edge snapping for multi-screen (non-xinerama) setups. #319425
2005-10-23  Elijah Newren  <newren@gmail.com>

	Fix edge snapping for multi-screen (non-xinerama) setups.  #319425

	* src/place.c (get_windows_showing_on_same_screen,
	get_vertical_edges, get_horizontal_edges): rename
	get_windows_on_same_workspace() to
	get_windows_showing_on_same_screen()

	* src/place.c (get_windows_showing_on_same_screen): exclude windows
	in the list that are on a different screen
2005-10-23 21:19:22 +00:00
Elijah Newren
7c70749ae8 Clarify why METACITY_VERBOSE=1 is bad without META_USE_LOGFILE=1; point to
2005-10-20  Elijah Newren  <newren@gmail.com>

	* HACKING: Clarify why METACITY_VERBOSE=1 is bad without
	META_USE_LOGFILE=1; point to bug 305091 for details.
2005-10-21 00:22:38 +00:00
Marcel Telka
37ced4cc32 Updated Slovak translation.
2005-10-17  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2005-10-17 04:28:32 +00:00
Vincent van Adrighem
0bf176de5b Translation updated.
2005-10-15  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated.
2005-10-15 12:57:14 +00:00
Vincent van Adrighem
f4a587f05e Translation updated.
2005-10-14  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated.
2005-10-14 12:25:09 +00:00
Kostas Papadimas
27b0a5e0b0 Updated Greek translation 2005-10-14 09:38:59 +00:00
Muktha
62fb5e6eb4 Make the unfocussed Simple window border visible with high contrast
2005-10-13  Muktha  <muktha.narayan@wipro.com>

        * src/themes/Simple/metacity-theme-1.xml: Make the unfocussed
        Simple window border visible with high contrast inverse theme.
        Fixes #121361.
2005-10-13 05:51:24 +00:00
Priit Laes
9292fe606a Translation updated by Ivar Smolin.
2005-10-10  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-10-10 19:36:56 +00:00
Elijah Newren
7ef871f73a Fix a crash that occurs when removing some virtual desktops and windows
2005-10-08  Elijah Newren  <newren@gmail.com>

	Fix a crash that occurs when removing some virtual desktops and
	windows happen to be on those desktops.  #318306.

	* src/workspace.c (meta_workspace_relocate_windows): Since windows
	cannot be on more than one workspace at a time, remove the window
	from the old workspace before adding it to the new one.
2005-10-08 23:18:05 +00:00
Elijah Newren
29e38a2f53 Add my copyright notice to a number of files on which it should already
2005-10-08  Elijah Newren  <newren@gmail.com>

	Add my copyright notice to a number of files on which it should
	already exist.
2005-10-08 19:38:54 +00:00
Alexander Shopov
3e77dd1ace Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2005-10-04  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>
2005-10-04 07:42:02 +00:00
Funda Wang
5b28d889fa Updated Simplified Chinese translation 2005-10-04 06:49:38 +00:00
Adam Weinberger
fcf89cc2fa Updated Canadian English translation.
2005-10-04  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-10-04 04:06:13 +00:00
Elijah Newren
0a13bf3270 clarify the meaning of the auto_raise preference. Fixes one of the issues
2005-10-03  Elijah Newren  <newren@gmail.com>

	* src/metacity.schemas.in: clarify the meaning of the auto_raise
	preference.  Fixes one of the issues in #312421.
2005-10-03 20:10:56 +00:00
Elijah Newren
4aaf6e3eb4 Patch from Ross Cohen to make alt-esc consistent with alt-tab by leaving
2005-10-03  Elijah Newren  <newren@gmail.com>

	Patch from Ross Cohen to make alt-esc consistent with alt-tab by
	leaving stacking of unselected windows unchanged.  Fixes #314285.

	* src/keybindings.c (process_tab_grab): before raising and showing
	the next candidate, reset the stack positions to what they were
	at the beginning of the grab
2005-10-03 20:05:44 +00:00
Elijah Newren
12daca5cb1 Patch from Ross Cohen to make alt-esc (show windows instantly) actually
2005-10-03  Elijah Newren  <newren@gmail.com>

	Patch from Ross Cohen to make alt-esc (show windows instantly)
	actually show minimized windows too.  Fixes #107072.

	* src/keybindings.c (process_tab_grab): initialize tab_unminimized
	to FALSE for the target window when starting the grab, when
	advancing through the list check to find the previous window and
	re-minimize it if it was tab-unminimized, unminimize the new
	window we're alt-esc'ing to if it's minimized, (do_choose_window):
	raise and unminimize the initial window as well in alt-esc'ing

	* src/window.h (struct _MetaWindow): add a tab_unminimized field

	* src/window.c (meta_window_new_with_attrs): initialize
	tab_unminimized to false
2005-10-03 20:02:31 +00:00
Elijah Newren
1a8c2aa027 Branched for Gnome 2.13. :-)
2005-10-03  Elijah Newren  <newren@gmail.com>

	Branched for Gnome 2.13.  :-)

	* configure.in: bump version to 2.13.0.  Add UNSTABLE warning.
	* README: add 2.13.x to the list of unstable branches
2005-10-03 19:53:55 +00:00
Elijah Newren
26dbf9856b A combination of a couple memory leaks fixes, from Kjartan, Soeren, and I.
2005-10-03  Elijah Newren  <newren@gmail.com>

	A combination of a couple memory leaks fixes, from Kjartan,
	Soeren, and I.  Fixes #313030.

	* src/bell.c (meta_bell_flash_screen): call XFreeGC()

	* src/frames.c (invalidate_cache): free pixels

	* src/window.c (meta_window_show_menu): call
	meta_screen_free_workspace_layout()
2005-10-03 19:22:40 +00:00
Elijah Newren
ea4cd88285 Patch from Björn Lindqvist fix the workspace switcher tabpopup to display
2005-10-03  Elijah Newren  <newren@gmail.com>

	Patch from Björn Lindqvist fix the workspace switcher tabpopup to
	display the right windows and to fix the
	pick-a-new-window-to-focus algorithm in order to not select
	windows that aren't showing.  Fixes #170475.

	* src/tabpopup.c (meta_convert_meta_to_wnck,
	meta_select_workspace_expose_event): factor out conversion code
	from meta_select_workspace_expose_event() into the new
	meta_convert_meta_to_wnck() function

	* src/tabpopup.c (meta_select_workspace_expose_event):
	* src/workspace.c (focus_ancestor_or_mru_window):
	replace the buggy window->minimized logic with
	!meta_window_showing_on_its_workspace (window)
2005-10-03 19:06:17 +00:00
Elijah Newren
47f1a8634b Patch from Björn Lindqvist to have ancestors come along with the
2005-10-03  Elijah Newren  <newren@gmail.com>

	Patch from Björn Lindqvist to have ancestors come along with the
	transient when moving the window from one workspace to another.
	Fixes #314977.

	* src/window.c (meta_window_change_workspace): have all ancestors
	change workspaces too
2005-10-03 19:00:01 +00:00
Elijah Newren
c3624745ae post-release version bump to 2.12.2
2005-10-03  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.12.2
2005-10-03 18:35:55 +00:00
Elijah Newren
2aee817a56 2.12.1 release
2005-10-03  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.12.1 release
2005-10-03 18:34:18 +00:00
Elijah Newren
ef5299ee92 Truncate ridiculously long titles to avoid crashing or letting the pager
2005-10-03  Elijah Newren  <newren@gmail.com>

	Truncate ridiculously long titles to avoid crashing or letting the
	pager crash.  Based on patch from Ray, incorporating suggestions
	from Havoc and some extensions of my own.  Fixes #315070.

	* src/display.c (set_utf8_string_hint, meta_display_open):
	* src/xprops.[ch] (meta_prop_set_utf8_string_hint):
	Move set_utf8_string_hint() to props.[ch], namespace it
	("meta_prop_"), and make it public

	* src/tabpopup.c (utf8_strndup, meta_ui_tab_popup_new):
	* src/util.[ch] (meta_g_utf8_strndup):
	Move utf8_strndup() to util.[ch], namespace it ("meta_g_"), and
	make it public

	* src/display.c (meta_display_open):
	* src/display.h (struct _MetaDisplay):
	add net_wm_visible_name and net_wm_visible_icon_name atoms to the
	list of atoms we work with

	* src/window-props.c (set_window_title, set_icon_title): If title
	length is greater than 512, truncate it and set
	_NET_WM_VISIBLE_NAME or _NET_WM_VISIBLE_ICON_NAME accordingly
2005-10-03 18:13:45 +00:00
Elijah Newren
fcba59e685 Get the tabbing window outline to work with gtk+ 2.8.4 again. Fixes
2005-10-03  Elijah Newren  <newren@gmail.com>

	Get the tabbing window outline to work with gtk+ 2.8.4 again.
	Fixes #317528.

	* src/tabpopup.c (display_entry): gtk+ 2.8.4 needs to know the
	mapped state of its windows (see bug 316180), and since we
	manually map with gdk_window_show_unraised() we need to manually
	set the mapped state too
2005-10-03 17:11:49 +00:00
Runa Bhattacharjee
662da0ec3c Added Entry for Updation of Bengali (bn) Translation:10/03 2005-10-03 05:46:53 +00:00
Runa Bhattacharjee
66c5548061 Updated Bengali (bn) Translation:10/03 2005-10-03 05:46:30 +00:00
Christian Rose
9503b4ba21 Fix the date in the ChangeLog entry. 2005-10-02 21:45:32 +00:00
Christian Rose
72c5649bc3 Reverted unauthorized changes made by user 'kloczek'.
2005-09-29  Christian Rose  <menthos@menthos.com>

	* sv.po: Reverted unauthorized changes made by
	user 'kloczek'.
2005-10-02 21:37:52 +00:00
Alessio Frusciante
43d72674e9 Updated Italian translation. 2005-09-26 20:07:26 +00:00
Funda Wang
943f4f66fb Updated Simplified Chinese translation 2005-09-24 15:17:34 +00:00
Francisco Javier F. Serrador
997b5dcccf Updated Spanish translation.
2005-09-21  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-09-21 18:35:16 +00:00
Christian Rose
94da2b94d7 Updated Swedish translation.
2005-09-20  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2005-09-20 19:59:25 +00:00
Tomasz Kłoczko
c502053ffc removed outdated strings and run "make update-po". 2005-09-19 14:25:36 +00:00
Nguyen Thai Ngoc Duy
213833f333 Fixed Kông 2005-09-17 05:40:13 +00:00
Clytie Siddall
9136686aa4 vi.po: Updated Vietnamese translation. 2005-09-16 07:45:55 +00:00
Inaki Larranaga
8eed998780 Updated Basque translation.
2005-09-08  Inaki Larranaga  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.
2005-09-08 18:52:51 +00:00
Priit Laes
0d1c28948d Translation updated by Ivar Smolin.
2005-09-07  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-09-07 05:18:49 +00:00
Elijah Newren
d02dc0e89a file constraints-ideas.txt was initially added on branch constraints_experiments. 2005-09-06 21:51:06 +00:00
Elijah Newren
b4f123c332 post-release version bump to 2.12.1
2005-09-05  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.12.1
2005-09-05 23:29:24 +00:00
Elijah Newren
422ee61608 2.12.0 release
2005-09-05  Elijah Newren  <newren@gmail.com>

	* configure.in:
	* README:
	* NEWS:
	2.12.0 release
2005-09-05 23:28:16 +00:00
Danilo Šegan
06df0d64ad Added Armenian translation. 2005-09-04 16:19:12 +00:00
Ignacio Casal Quinteiro
4c96a68427 *** empty log message *** 2005-09-04 09:26:15 +00:00
Elijah Newren
86bbde337c Add tips on how to more easily get the ids of windows, and how to shorten
2005-09-03  Elijah Newren  <newren@gmail.com>

	* HACKING: Add tips on how to more easily get the ids of windows,
	and how to shorten xprop output.
2005-09-03 23:33:27 +00:00
Danilo Šegan
809a1c173f Updated Serbian translation. 2005-09-03 19:07:50 +00:00
Amanpreet Singh Alam
735188fd2b update by amanpreetalam@yahoo.com 2005-09-02 19:45:30 +00:00
Brent Smith
6bb6566b86 Moved the call to meta_screen_get_natural_xinerama_list to earlier in
2005-09-02  Brent Smith  <gnome@nextreality.net>

        * src/place.c: (meta_window_place): Moved the call to
        meta_screen_get_natural_xinerama_list to earlier in
        function so that xineramas_list is allocated before
        find_first_fit is called.  Fixes #315000
2005-09-02 15:54:34 +00:00
Leonid Kanter
304a05b9a3 Updated Russian translation 2005-09-02 10:48:31 +00:00
Baris Cicek
7f90738dba Updated Turkish translation 2005-09-01 16:09:45 +00:00
Žygimantas Beručka
909de04b89 Updated Lithuanian translation.
2005-08-31  Žygimantas Beručka  <zygis@gnome.org>

	* lt.po: Updated Lithuanian translation.
2005-08-31 07:49:41 +00:00
Hendrik Richter
b751ceb159 Updated German translation.
2005-08-30  Hendrik Richter  <hendi@gnome-de.org>

	* de.po: Updated German translation.
2005-08-30 14:56:26 +00:00
Jens Seidel
feebb2f42e Typo corrections 2005-08-29 21:40:20 +00:00
Changwoo Ryu
2139d4e25e Updated Korean translation by Young-Ho Cha.
2005-08-30  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation by Young-Ho Cha.
2005-08-29 17:35:59 +00:00
Telsa Gwynne
3ed91c8e14 Updated Welsh translation 2005-08-29 16:03:54 +00:00
Christophe Merlet
02d6e62aec Updated French translation. 2005-08-28 11:56:46 +00:00
Vincent van Adrighem
8126d0953d Translation updated by Michiel Sikkes.
2005-08-25  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Michiel Sikkes.
2005-08-25 16:03:03 +00:00
Elijah Newren
fc6dbd84b9 post-release version bump to 2.11.5
2005-08-22  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.11.5
2005-08-22 19:05:18 +00:00
Elijah Newren
e16863f783 2.11.3 release
2005-08-22  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.11.3 release
2005-08-22 19:03:58 +00:00
Elijah Newren
96c238bbc6 Patch from Björn Lindqvist to check for the appropriate versions of glib
2005-08-22  Elijah Newren  <newren@gmail.com>

	* configure.in: Patch from Björn Lindqvist to check for the
	appropriate versions of glib and gtk.  Fixes #314116.
2005-08-22 18:40:07 +00:00
Josep Puigdemont i Casamajó
2df2e18a9b Updated Catalan translation. 2005-08-20 14:00:55 +00:00
Priit Laes
5305e17392 Translation updated by Ivar Smolin.
2005-08-19  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-08-19 05:55:01 +00:00
Laurent Dhima
cb19fdc3ce Updated Albanian translation.
2005-08-17  Laurent Dhima  <laurenti@alblinux.net>

	* sq.po: Updated Albanian translation.
2005-08-17 10:04:01 +00:00
Maxim Dziumanenko
7d1e1b042f Updated Ukrainian translation.
2005-08-15  Maxim Dziumanenko <mvd@mylinux.ua>

	* Updated Ukrainian translation.
2005-08-15 21:39:07 +00:00
Gabor Kelemen
4b4d6cac42 Hungarian translation updated.
2005-08-15  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Hungarian translation updated.
2005-08-14 22:13:03 +00:00
Mugurel Tudor
905a92a20a Updated Romanian translation
2005-08-15  Mugurel Tudor  <mugurelu@gnome.ro>

        * ro.po: Updated Romanian translation
2005-08-14 21:51:32 +00:00
Mohammad DAMT
f1bcb6b51a Updated Indonesian translation
2005-08-14  Mohammad DAMT  <mdamt@gnome.org>

  * id.po: Updated Indonesian translation
2005-08-14 07:28:08 +00:00
Kostas Papadimas
a39cb116c7 Updated Greek Translation 2005-08-13 10:08:17 +00:00
Elijah Newren
87f613fbbe Avoid obscuring centered-on-desktop windows which are denied focus. Fixes
2005-08-12  Elijah Newren  <newren@gmail.com>

        * src/place.c (meta_window_place): Avoid obscuring
        centered-on-desktop windows which are denied focus.  Fixes
        #313234.
2005-08-13 03:58:24 +00:00
Duarte Loreto
f38e760506 Updated Portuguese translation.
2005-08-11  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.
2005-08-11 16:16:20 +00:00
Alexander Shopov
05dcc58174 Updated Bulgarian translation by Rostislav Raykov <zbrox@i-space.org>
2005-08-10  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Rostislav Raykov <zbrox@i-space.org>
2005-08-10 19:38:56 +00:00
Elijah Newren
ce42492db4 Use consistent notation; [#bug-number] not [bug-number] 2005-08-08 23:03:28 +00:00
Elijah Newren
893fadf7d6 post-release version bump to 2.11.3
2005-08-08  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.11.3
2005-08-08 21:49:50 +00:00
Elijah Newren
a182b353ce 2.11.2 release
2005-08-08  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.11.2 release
2005-08-08 21:48:08 +00:00
Elijah Newren
f335b0c381 Patch from Brent Smith to fix a duplicate string. Fixes #309774.
2005-08-08  Elijah Newren  <newren@gmail.com>

	Patch from Brent Smith to fix a duplicate string.  Fixes #309774.

	* src/theme-parser.c (parse_toplevel_element, parse_draw_op_element):

	Change "No \"%s\" attribute on element <%s>" string to "No \"%s\"
	attribute on <%s> element"
2005-08-08 21:31:31 +00:00
Ray Strode
2972ab6df6 Improve the behavior of keyboard move/resize and edge snapping. Still not
2005-08-03  Ray Strode  <rstrode@redhat.com>

	Improve the behavior of keyboard move/resize and edge
	snapping.  Still not perfect, bug 310888.

	* src/effects.c (draw_xor_rect): Make the outside of a
	wireframe rectangle line up with the outside edge of its
	window, instead of centering the wireframe edges on the
	window edges.

	* src/keybindings.c (process_keyboard_move_grab): allow
	edge snapping in wireframe mode.  Adjust code to take
	into account changed semantics of find_next_*_edge
	functions.
	(process_keyboard_resize_grab_op_change): new function
	to take some orthogonal logic out of
	process_keyboard_resize_grab_op.  Only allow keyboard
	resize cursor to go to flat edges, not corners.
	(process_keyboard_resize_grab):  allow edge snapping in
	wireframe mode.  Fix up snapping logic.

	* src/place.c (get_{vertical,horizontal}_edges): use
	GArray instead of int *, since the number of output
	edges isn't known until the middle of the function now.
	Use xor rect extents instead of window extends if in
	wireframe mode.
	(meta_window_find_next_{vertical,horizontal}_edge: add
	new source_edge_position parameter to specify which edge
	on the active window to start from when looking for next
	edge on the screen. Return the coordinate of the edge
	found and not the coordinate of where the window should be
	moved to snap to where the edge was found.

	* src/window.c (update_move): all the user to specify
	an edge to resize with mouse in keyboard resize mode.
	window
2005-08-03 02:22:00 +00:00
Chao-Hsiung Liao
8e927fd300 Updated Traditional Chinese translation.
2005-08-02  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>

	* zh_TW.po: Updated Traditional Chinese translation.
2005-08-02 12:30:10 +00:00
Elijah Newren
c50c8e6f7d Change default theme from "Simple" to "Clearlooks".
2005-08-01  Elijah Newren  <newren@gmail.com>

	* src/metacity.schemas.in: Change default theme from "Simple" to
	"Clearlooks".
2005-08-01 14:56:24 +00:00
Rajesh Ranjan
d8a1b9750b upded by rranjan@redhat.com 2005-08-01 09:41:23 +00:00
Elijah Newren
1b2e5e56a8 use only the expected_focus_window instead of both the focused_window and
2005-07-31  Elijah Newren  <newren@gmail.com>

	* src/stack.c (is_focused_foreach, get_standalone_layer): use only
	the expected_focus_window instead of both the focused_window and
	the expected_focus_window.  Removes an infinite flicker loop in
	sloppy and mouse focus, and an ugly one time flicker in click to
	focus.  Fixes #311400.
2005-08-01 04:58:58 +00:00
Yair Hershkovitz
7a9be72bdf Updated Hebrew translation by Yuval Tanai.
2005-07-31  Yair Hershkovitz  <yairhr@gmail.com>

	* he.po: Updated Hebrew translation by Yuval Tanai.
2005-07-31 12:52:13 +00:00
Elijah Newren
d5705ef576 Patch from Jaap Haitsma to make sure that Metacity dialogs have icons.
2005-07-30  Elijah Newren  <newren@gmail.com>

        Patch from Jaap Haitsma to make sure that Metacity dialogs have
        icons.  Fixes #309876.

        * src/metacity-dialog.c (kill_window_question,
        warn_about_no_sm_support, error_about_command): call
        gtk_window_set_icon_name() to set the dialog icon
2005-07-30 15:18:01 +00:00
Elijah Newren
20b7ee18ef remove some unneeded debug spew that was causing crashes. Fixes #311819.
2005-07-28  Elijah Newren  <newren@gmail.com>

	* src/place.c (avoid_being_obscured_as_second_modal_dialog):
	remove some unneeded debug spew that was causing crashes.  Fixes
	#311819.
2005-07-28 19:05:28 +00:00
Artur Flinta
7311386172 Updated Polish translation by GNOME PL Team.
2005-07-28  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.
2005-07-28 13:11:23 +00:00
Raphael Higino
91e594863c Converted to UTF-8 2005-07-26 15:12:11 +00:00
Raphael Higino
455dbdf67a Updated pt_BR translation 2005-07-26 15:06:48 +00:00
Elijah Newren
7f1fd68952 post-release version bump to 2.11.2
2005-07-24  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.11.2
2005-07-25 03:36:53 +00:00
Elijah Newren
9c97fd2b9b 2.11.1 release
2005-07-24  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.11.1 release
2005-07-25 03:32:50 +00:00
Elijah Newren
266f78d9a8 try to place windows denied focus near the focus window and fix a xinerama
2005-07-24  Elijah Newren  <newren@gmail.com>

	* src/place.c (find_most_freespace): try to place windows denied
	focus near the focus window and fix a xinerama bug with the
	placement, (avoid_being_obscured_as_a_second_modal_dialog): avoid
	modal dialogs being obscured in somewhat pathologically strange
	circumstances that Eclipse seems to be good at triggering,
	(meta_window_place): have dialog windows make use of
	avoid_being_obscured_as_a_second_modal_dialog().  Fixes one of the
	issues found in #307875.
2005-07-25 02:12:58 +00:00
Elijah Newren
c25b8ec616 raise the window as well as its ancestor; fixes a stacking bug with an
2005-07-24  Elijah Newren  <newren@gmail.com>

	* src/window.c (meta_window_raise): raise the window as well as
	its ancestor; fixes a stacking bug with an ancestor that has more
	than one child window.  Fixes one of the issues in #307875.
2005-07-25 01:52:50 +00:00
Elijah Newren
c64bda776b restore original window size if the window was maximized, as the FIXME
2005-07-24  Elijah Newren  <newren@gmail.com>

	* src/window.c (meta_window_free): restore original window size if
	the window was maximized, as the FIXME says.  ;-) Fixes #137185.
2005-07-25 01:39:24 +00:00
Ilkka Tuohela
ef5c3f976a Updated Finnish translation 2005-07-24 18:16:22 +00:00
Kjartan Maraas
7e2a44039f Updated Norwegian bokmål translation. Same
2005-07-24  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.
	* no.po: Same
2005-07-24 17:02:05 +00:00
Elijah Newren
225407f3b3 revert the patch from #128380--change _NET_ACTIVE_WINDOW behavior to what
2005-07-23  Elijah Newren  <newren@gmail.com>

	* src/window.c: (meta_window_activate): revert the patch from
	#128380--change _NET_ACTIVE_WINDOW behavior to what it originally
	was.
2005-07-24 01:13:41 +00:00
Clytie Siddall
845a7fe554 vi.po: Updated Vietnamese translation. 2005-07-23 11:19:42 +00:00
Funda Wang
969a4ab3ef Updated Simplified Chinese translation 2005-07-23 08:11:47 +00:00
Nguyen Thai Ngoc Duy
10ea37ec4a Merged from gnome-2.10 2005-07-21 11:47:47 +00:00
Ankitkumar Rameshchandra Patel
b102891467 updated Translations 2005-07-21 07:48:29 +00:00
Marcel Telka
4c143b3635 Updated Slovak translation.
2005-07-20  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2005-07-20 21:36:56 +00:00
Ivan Stojmirov
eb04fe1ec7 done 2005-07-20 21:35:12 +00:00
Adam Weinberger
2126caf511 Updated Canadian English translation.
2005-07-18  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-07-18 09:02:10 +00:00
Matthias Clasen
b6fa0deff3 Forgotten configure changes for the cursor theme changes. 2005-07-18 04:13:12 +00:00
Christophe Merlet
10ee3e89dc Updated French translation. 2005-07-17 17:25:06 +00:00
Francisco Javier F. Serrador
364b402e8d Updated Spanish translation.
2005-07-17  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-07-17 10:49:34 +00:00
Theppitak Karoonboonyanan
65e2f2ba4b Updated Thai translation.
2005-07-17  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation.
2005-07-17 02:25:42 +00:00
Nikos Charonitakis
4c7dc0bbb4 Updated Greek translation 2005-07-16 22:52:06 +00:00
Takeshi AIHANA
1b52fa05e6 Fixed encoding to UTF-8.
2005-07-16  Takeshi AIHANA <aihana@gnome.gr.jp>

	* ja.po: Fixed encoding to UTF-8.
2005-07-16 01:18:02 +00:00
Takeshi AIHANA
3f214dd33d Updated Japanese translation for v2.11.0.
2005-07-16  Takeshi AIHANA <aihana@gnome.gr.jp>

	* ja.po: Updated Japanese translation for v2.11.0.
2005-07-16 01:13:57 +00:00
Ignacio Casal Quinteiro
b54ff6be9f *** empty log message *** 2005-07-15 15:05:38 +00:00
Yair Hershkovitz
c62efca089 Updated Hebrew translation.
2005-07-14  Yair Hershkovitz  <yairhr@gmail.com>

	* he.po: Updated Hebrew translation.
2005-07-14 21:02:35 +00:00
Elijah Newren
6c023bfef7 Patch from Ken Harris to provide a more lenient threshold for drawing
2005-07-14  Elijah Newren  <newren@gmail.com>

	Patch from Ken Harris to provide a more lenient threshold for
	drawing rounded corners.  Fixes #122065.

	* src/theme.c (meta_frame_layout_calc_geometry): use height +
	width > 5 instead of height > 3 && width > 3 as criterion
2005-07-14 21:00:26 +00:00
Miloslav Trmac
020736a42f Updated Czech translation.
2005-07-14  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-07-14 09:06:43 +00:00
Elijah Newren
c635ac51cb Fix a slight bug (causing possible miscoloring of parts of the titlebar)
2005-07-13  Elijah Newren  <newren@gmail.com>

	Fix a slight bug (causing possible miscoloring of parts of the
	titlebar) introduced by the patch from #169982.

	* src/gradient.c:
	(meta_gradient_create_interwoven):
	(meta_gradient_create_multi_vertical):

	bitshifting operators do not take precedence over typecasting, so
	make sure to use parentheses to get the right operation order.
2005-07-13 18:24:56 +00:00
Marcel Telka
053c1b9d19 Updated Slovak translation.
2005-07-13  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2005-07-13 05:11:19 +00:00
Elijah Newren
241a44e69c post-release version bump to 2.11.1
2005-07-12  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.11.1
2005-07-12 23:19:16 +00:00
Elijah Newren
b22e85f81a 2.11.0 release
2005-07-12  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.11.0 release
2005-07-12 23:18:04 +00:00
Elijah Newren
7bda73a415 Patch from Andrew Johnson to speed up vertical gradients. Fixes #169982.
2005-07-12  Elijah Newren  <newren@gmail.com>

	Patch from Andrew Johnson to speed up vertical gradients.  Fixes
	#169982.

	* src/gradient.c:
	(meta_gradient_create_interwoven):
	(meta_gradient_create_vertical):
	(meta_gradient_create_multi_vertical):

	use memcpy instead of really long loops to set values in memory to
	a given pattern.
2005-07-12 22:34:25 +00:00
Elijah Newren
0e956c674f Patch from Björn Lindqvist to split up main() into more manageable chunks
2005-07-12  Elijah Newren  <newren@gmail.com>

	Patch from Björn Lindqvist to split up main() into more manageable
	chunks and make use of GOpt.  Closes #305331.

	* src/main.c (usage): remove this function,
	(meta_print_compilation_info): new function taken from main(),
	(meta_print_self_identity): new function taken from main(),
	(struct MetaArguments) new struct to replace some free variables,
	(meta_parse_options): new funcion taken from main() but now using
	GOpt, (meta_select_display): new function taken from main()
2005-07-12 20:54:34 +00:00
Aivars Kalvans
d09fb9f806 free ->xinerama_infos Closes bug#307884
2005-07-12  Aivars Kalvans <aivars.kalvans@inbox.lv>

        * src/screen.c (meta_screen_free): free ->xinerama_infos
        Closes bug#307884
2005-07-12 19:01:38 +00:00
Priit Laes
61c6519798 Translation updated by Ivar Smolin.
2005-07-12  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-07-11 21:36:13 +00:00
Elijah Newren
786af7ea61 Stuff I forgot to do when I branched an hour or so ago before Matthias'
2005-07-11  Elijah Newren  <newren@gmail.com>

        Stuff I forgot to do when I branched an hour or so ago before
        Matthias' commit...

        * configure.in: bump version to 2.11.0.  Add UNSTABLE warning.
        * README: add 2.11.x to the list of unstable branches
2005-07-11 13:31:53 +00:00
Matthias Clasen
8ce054b21b React to cursor theme changes: (#308106)
2005-07-11  Matthias Clasen  <mclasen@redhat.com>

	React to cursor theme changes: (#308106)

	* src/prefs.h:
	* src/prefs.c: Expose the GConf keys for cursor theme
	and size as preferences META_PREF_CURSOR_THEME and
	META_PREF_CURSOR_SIZE with getters meta_prefs_get_cursor_theme()
	and meta_prefs_get_cursor_size().

	* src/display.c (meta_display_open): Initialize the cursor
	theme and size.

	* src/display.h:
	* src/display.c (meta_display_set_cursor_theme): New function
	to change the cursor theme and update all cursors.

	* src/screen.h
	* src/screen.c (meta_screen_update_cursor): New function to
	refesh the root cursor of a screen.

	* src/main.c (prefs_changed_callback): Update the cursor
	theme when the cursor preferences change.
2005-07-11 13:25:08 +00:00
Clytie Siddall
7335b44d3e vi.po: Updated Vietnamese translation.CVS: ---------------------------------------------------------------------- 2005-07-08 06:55:05 +00:00
Christian Rose
e4bd174a7b Updated Galician translation by Ignacio Casal Quinteiro
2004-07-06  Christian Rose  <menthos@menthos.com>

	* gl.po: Updated Galician translation by
	Ignacio Casal Quinteiro <nacho.resa@gmail.com>.
2005-07-06 06:24:12 +00:00
Hendrik Richter
3a6a4966e2 Fixed German translation by Jens Seidel <jensseidel@users.sf.net>.
2005-07-04  Hendrik Richter  <hendi@gnome-de.org>

	* de.po: Fixed German translation by
	Jens Seidel <jensseidel@users.sf.net>.
2005-07-04 18:03:31 +00:00
Ivan Stojmirov
14d54719d7 translated 98% 2005-07-03 11:52:06 +00:00
Elijah Newren
bd56f4ec07 post-release version bump to 2.10.3
2005-06-27  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.10.3
2005-06-27 23:27:33 +00:00
Elijah Newren
3b6f14fa6f 2.10.2 release
2005-06-27  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.10.2 release
2005-06-27 23:26:24 +00:00
Soeren Sandmann
947e45d27d Add a cache of pixmaps for recently exposed frame areas. Makes metacity a
Sun Jun 26 11:19:18 2005  Soeren Sandmann  <sandmann@redhat.com>

	* src/frames.c: Add a cache of pixmaps for recently exposed frame
	areas. Makes metacity a bit faster when dragging windows around.
	See bug 141813.
2005-06-26 21:58:37 +00:00
Rajesh Ranjan
a85aea8b18 updted by rranjan@redhat.com 2005-06-24 07:53:13 +00:00
Ignacio Casal Quinteiro
c35bc07c74 *** empty log message *** 2005-06-23 17:22:46 +00:00
Kwok-Koon Cheung
4f98706852 fix language team reference 2005-06-23 01:22:12 +00:00
Rajesh Ranjan
b5b0255e4c updtaed by rranjan@redhat.com 2005-06-15 06:09:12 +00:00
Ryan Lortie
e003ba87d1 Prevent using the address of a local variable as a hash key. (Bug #307209)
2005-06-10  Ryan Lortie  <desrt@desrt.ca>

        * src/frames.c: Prevent using the address of a local variable
          as a hash key.  (Bug #307209)

        * src/xprops.c (meta_prop_get_values): Fix a small leak in the
          case of a SYNC_COUNTER property value and HAVE_XSYNC not
          defined.  (Bug #307214)
2005-06-11 02:28:04 +00:00
Ray Strode
064a86e620 Cleanup font data when done with it (bug 306720).
2005-06-07  Ray Strode  <rstrode@redhat.com>

	Cleanup font data when done with it (bug 306720).

	* src/effects.c (draw_xor_rect): free font info structure.
	* src/screen.c (meta_screen_new): pass a 1 not a 0 to
	XFreeFontInfo to free font info structure.
	(meta_screen_free): call XUnloadFont on GC font before freeing
	the GC.
2005-06-07 15:52:56 +00:00
Theppitak Karoonboonyanan
1ff193b819 Updated Thai translation.
2005-06-05  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation.
2005-06-05 16:26:46 +00:00
Elijah Newren
3fdf721286 If a window requests to be raised and is denied, set the demands attention
2005-06-02  Elijah Newren  <newren@gmail.com>

	* src/window.c (meta_window_configure_request): If a window
	requests to be raised and is denied, set the demands attention
	hint.  Fixes #305882.
2005-06-02 15:47:37 +00:00
Elijah Newren
90dc2116ad if the window has a modal transient which is being unmanaged, don't focus
2005-06-02  Elijah Newren  <newren@gmail.com>

	* src/window.c (meta_window_focus): if the window has a modal
	transient which is being unmanaged, don't focus it.  Fixes the
	Metacity issue reported in #305362.
2005-06-02 15:24:40 +00:00
Priit Laes
d5eaa386dd Translation updated.
2005-06-01  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated.
2005-06-01 20:10:27 +00:00
Ray Strode
14b8de3727 Bug 305564 again.
2005-05-30  Ray Strode  <rstrode@redhat.com>

	Bug 305564 again.

	When drawing XOR resize popup use "fixed" font instead of
	-misc-fixed-*-16-* xlfd.  Should work on more xservers.

	Also take steps to fail better if the xserver isn't
	cooperating.

	* src/effects.c (draw_xor_rect): if we can't draw font box
	for whatever reason, at least draw grid frames.

	* src/screen.c (meta_screen_new): use fixed alias instead
	of a xfld.  Don't pass GCFont to XCreateGC if font couldn't
	be loaded.  Print a warning if font couldn't be loaded.
2005-05-30 20:15:26 +00:00
Elijah Newren
1799ef6006 Add a clarification that METACITY_VERBOSE needs to be accompanied by
2005-05-26  Elijah Newren  <newren@gmail.com>

	* HACKING: Add a clarification that METACITY_VERBOSE needs to be
	accompanied by METACITY_USE_LOGFILE
2005-05-26 22:05:04 +00:00
Elijah Newren
be49961944 Patch from Greg Hudson to make sure window position is calculated
2005-05-26  Elijah Newren  <newren@gmail.com>

	* src/window.c (meta_window_configure_request): Patch from Greg
	Hudson to make sure window position is calculated correctly for
	reconfigure requests when part of the XWindowChanges structure is
	uninitialized.  Fixes #305257.
2005-05-26 20:14:15 +00:00
Ray Strode
7b416a0a2d Actually commit the stuff mentioned in the last ChangeLog entry.
2005-05-26  Ray Strode  <rstrode@redhat.com>

	Actually commit the stuff mentioned in the last
	ChangeLog entry.
2005-05-26 19:58:17 +00:00
Ray Strode
2e0d27d0f1 Add a resize popup when resizing constrained windows, (bug 305564).
2005-05-26  Ray Strode  <rstrode@redhat.com>

	Add a resize popup when resizing constrained
	windows, (bug 305564).

	* src/display.c:
	(meta_display_begin_grab_op),
	(meta_display_end_grab_op):
	* src/keybindings.c (process_keyboard_move_grab),
	(process_keyboard_resize_grab): Call
	meta_window_{begin,update,end}_wireframe convenience
	functions instead of the meta_effects counterparts.

	* src/display.h: keep track of old wireframe geometry to
	clean up xor popup on resize

	* src/effects.[ch] (meta_effects_begin_wireframe),
	(meta_effects_update_wireframe),
	(meta_effects_end_wireframe),
	(draw_xor_rect): take optional width and height arguments
	to show to user in resize popup. Draw resize popup if
	width and height >= 0 and wireframe isn't smaller than
	the popup would be.

	* src/screen.c (meta_screen_new): load a largish font for
	the resize popup

	* src/window.[ch]
	(meta_window_move_resize_internal): update
	wireframe resize popup when the window is resized.
	(meta_window_get_wireframe_geometry): new function to
	calculate the numbers to display in resize popup
	(meta_window_begin_wireframe),
	(meta_window_update_wireframe),
	(meta_window_end_wireframe): new functions to reduce
	repetitive wireframe code.  Functions handle updating
	wireframe and resize popup geometry.
	(update_move), (update_resize),
	(meta_window_refresh_resize_popup): remove fixme and
	add debug message.
2005-05-26 19:27:01 +00:00
Elijah Newren
e1891161d0 don't accidentally treat maximize vertically as maximize in both
2005-05-26  Elijah Newren  <newren@gmail.com>

	* src/window.c (check_maximize_to_work_area): don't accidentally
	treat maximize vertically as maximize in both directions.  Fixes
	#302204.
2005-05-26 18:42:55 +00:00
Elijah Newren
eb46b01e97 put all transients of the new window, if any exist, in the calc_showing
2005-05-26  Elijah Newren  <newren@gmail.com>

	* src/window.c: (meta_window_new_with_attrs): put all transients
	of the new window, if any exist, in the calc_showing queue.  Fixes
	#303284.
2005-05-26 17:15:56 +00:00
Nikos Charonitakis
b71671f94f updated Greek translation 2005-05-19 20:35:22 +00:00
Kostas Papadimas
5f23d91c39 Updated Greek Translation. 2005-05-11 11:28:03 +00:00
Adi Attar
54f2bb3648 Updated Xhosa translation.
2005-05-10  Adi Attar  <aattar@cvs.gnome.org>

	* xh.po: Updated Xhosa translation.
2005-05-10 14:41:38 +00:00
Kostas Papadimas
4223bc53f8 Updated Greek Translation. 2005-04-28 11:17:20 +00:00
Priit Laes
7b1f4e8a8b Translation updated by Ivar Smolin.
2005-04-25  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-04-25 09:43:56 +00:00
Pauli Virtanen
18f7f5f76d Fix a small mistranslation.
2005-04-17  Pauli Virtanen <pauli.virtanen@hut.fi>

	 * fi.po: Fix a small mistranslation.
2005-04-17 17:30:58 +00:00
Søren Sandmann Pedersen
9c4d95d9c8 file lmctypes.h was initially added on branch spiffifity. 2005-04-13 19:04:26 +00:00
Søren Sandmann Pedersen
6f5fedcc7c file lmcbits.c was initially added on branch spiffifity. 2005-04-13 18:45:19 +00:00
Søren Sandmann Pedersen
da578b2e4a file lmcbits.h was initially added on branch spiffifity. 2005-04-13 18:45:19 +00:00
Søren Sandmann Pedersen
030ad7c7fc file lmctexture.c was initially added on branch spiffifity. 2005-04-13 18:45:19 +00:00
Søren Sandmann Pedersen
2876a8ea4d file lmctexture.h was initially added on branch spiffifity. 2005-04-13 18:45:19 +00:00
Elijah Newren
a11aaf96c7 post-release version bump to 2.10.2
2005-04-11  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.10.2
2005-04-11 22:29:44 +00:00
Elijah Newren
b49c0ec888 2.10.1 release
2005-04-11  Elijah Newren  <newren@gmail.com>

	* NEWS:	2.10.1 release
2005-04-11 22:28:04 +00:00
Christopher Orr
1ba71ab9ff Updated British English translation.
2005-04-09  Christopher Orr  <chris@protactin.co.uk>

	* en_GB.po: Updated British English translation.
2005-04-09 14:13:24 +00:00
Dan Winship
82c8ca4588 Make sure the "Close" button has the focus, not the table. (#172703)
* src/metacity-dialog.c (warn_about_no_sm_support): Make sure the
        "Close" button has the focus, not the table. (#172703)
2005-04-08 14:49:01 +00:00
Roozbeh Pournader
7d9d9f52cd Updated Persian translation by Elnaz Sarbar <elnaz@farsiweb.info>.
2005-04-06  Roozbeh Pournader  <roozbeh@farsiweb.info>

	* fa.po: Updated Persian translation by
	  Elnaz Sarbar <elnaz@farsiweb.info>.
2005-04-06 14:52:45 +00:00
Pawan Chitrakar
9cb157caf8 Added Nepali Translation
2005-04-05  Pawan Chitrakar  <pawan@nplinux.org>

	* ne.po: Added Nepali Translation

	* configure.in: Added ne in ALL_LINGUAS
2005-04-05 04:12:43 +00:00
Gabor Kelemen
8eb38bb871 Hungarian translation updated.
2005-04-03  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Hungarian translation updated.
2005-04-03 14:15:50 +00:00
Steven Michael Murphy
2b86f5d870 Added new Language, Kinyarwanda (rw), to this package 2005-04-01 01:32:22 +00:00
Adi Attar
0a7bbc9b06 Updated Xhosa translation.
2005-03-29  Adi Attar  <aattar@cvs.gnome.org>

	* xh.po: Updated Xhosa translation.
2005-03-29 13:47:28 +00:00
Adam Weinberger
16012cb7f2 Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2005-03-17 05:26:21 +00:00
Lex Hider
c9592c587e add doc/code-overview.txt and doc/how-to-get-focus-right.txt
2005-03-17  Lex Hider  <Lex.Hider@gmail.com>

	* doc/Makefile.am (EXTRA_DIST): add doc/code-overview.txt and
	doc/how-to-get-focus-right.txt
2005-03-17 00:01:15 +00:00
Baris Cicek
c48b52456b Updated Turkish Translation
* tr.po: Updated Turkish Translation
2005-03-13 01:35:40 +00:00
Adi Attar
48fa3d5fcb Added Xhosa translation. Added "xh" to ALL_LINGUAS.
2005-03-10  Adi Attar  <aattar@cvs.gnome.org>

	* xh.po: Added Xhosa translation.
	* configure.in: Added "xh" to ALL_LINGUAS.
2005-03-10 15:17:34 +00:00
Elijah Newren
5b2061b520 post-release version bump to 2.10.1
2005-03-07  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.10.1
2005-03-07 16:12:32 +00:00
Elijah Newren
c16108aba3 2.10.0 release
2005-03-07  Elijah Newren  <newren@gmail.com>

	* configure.in:
	* README:
	* NEWS:
	2.10.0 release
2005-03-07 16:11:28 +00:00
Vincent van Adrighem
de4ab5cede Translation updated by Reinout van Schouwen.
2005-03-07  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Reinout van Schouwen.
2005-03-07 13:14:14 +00:00
Mugurel Tudor
1a9d5ef701 Updated Romanian translation
2005-03-07  Mugurel Tudor  <mugurelu@go.ro>

        * ro.po: Updated Romanian translation
2005-03-06 22:07:39 +00:00
Laszlo Dvornik
4fd7ed876d Hungarian translation updated by Gabor Kelemen.
2005-03-04  Laszlo Dvornik  <dvornik@gnome.hu>

	* hu.po: Hungarian translation updated by Gabor Kelemen.
2005-03-04 15:10:20 +00:00
Alexander Shopov
8c2b7c174c Updated Bulgarian translation by Vladimir Petkov <vpetkov@i-space.org>
2005-03-03  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Vladimir Petkov <vpetkov@i-space.org>
2005-03-03 15:06:41 +00:00
Amanpreet Singh Alam
c56b7d8334 update by amanpreetalam@yahoo.com 2005-03-03 12:09:03 +00:00
Žygimantas Beručka
c897d3f17c Updated Lithuanian translation.
2005-03-03  Žygimantas Beručka  <uid0@akl.lt>

        * lt.po: Updated Lithuanian translation.
2005-03-03 11:41:59 +00:00
Danilo Šegan
f58cf15ac2 Updated Serbian translation. 2005-03-02 22:36:11 +00:00
Kwok-Koon Cheung
e881c2dbda Updated traditional Chinese translation from GNOME HK Team
* zh_TW.po: Updated traditional Chinese translation from GNOME HK Team
2005-03-02 13:58:09 +00:00
Elijah Newren
73b36aa64d post-release version bump to 2.9.55
2005-02-28  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.9.55
2005-02-28 21:54:29 +00:00
Elijah Newren
3b00d7a6a8 Metacity 2.9.34 unstable release
2005-02-21  Elijah Newren  <newren@gmail.com>

	* NEWS: Metacity 2.9.34 unstable release
2005-02-28 21:53:19 +00:00
Elijah Newren
c7ebe972e6 Patch from Aidan Delaney to make sure that icons in the alt-tab popup are
2005-02-28  Elijah Newren  <newren@gmail.com>

	Patch from Aidan Delaney to make sure that icons in the alt-tab
	popup are dimmed for all hidden windows, not just minimized ones.
	Fixes #168455.

	* src/screen.c: (meta_screen_ensure_tab_popup): make use
	meta_window_showing_on_its_workspace() instead of just checking if
	the window is minimized.
2005-02-28 21:34:48 +00:00
Vincent van Adrighem
fae2f68f24 Translation updated by Reinout van Schouwen.
2005-02-28  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Reinout van Schouwen.
2005-02-28 01:19:22 +00:00
Alessio Frusciante
63d8f5faf6 Updated Italian translation. 2005-02-27 16:22:05 +00:00
Elijah Newren
bea407e309 Prevent the visual bell from changing the focus window. Fixes #123366.
2005-02-25  Elijah Newren  <newren@gmail.com>

	Prevent the visual bell from changing the focus window.  Fixes
	#123366.

	* src/bell.c: (meta_bell_flash_screen): if not in click-to-focus
	mode and mouse_mode is also false, increment the focus sentinel so
	that we can ignore spurious EnterNotify and LeaveNotify events.

	* src.display.c: (event_callback): make sure to also ignore
	LeaveNotify events when the focus sentinel isn't clear
2005-02-25 20:14:08 +00:00
Artur Flinta
6375bee8a2 Updated Polish translation by GNOME PL Team.
2005-02-24  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.
2005-02-24 16:21:39 +00:00
Ankitkumar Rameshchandra Patel
3c1a7cc190 ankit@redhat.com * Updated Gujarati Translation 2005-02-24 12:43:40 +00:00
Elijah Newren
ebae340a1e Fix crash that occurs when stupid apps claim that a window is its own
2005-02-23  Elijah Newren  <newren@gmail.com>

	* src/window.c: (meta_window_new_with_attrs): Fix crash that
	occurs when stupid apps claim that a window is its own parent.
	#168207
2005-02-23 17:42:51 +00:00
Amanpreet Singh Alam
8ac94e45b5 update by amanpreetalam@yahoo.com 2005-02-23 09:38:17 +00:00
Vincent van Adrighem
3a0277561a Translation updated by Michiel Sikkes.
2005-02-23  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Michiel Sikkes.
2005-02-23 00:33:52 +00:00
Roozbeh Pournader
15e8482635 Updated Persian translation by Elnaz Sarbar <elnaz@farsiweb.info>.
2004-02-22  Roozbeh Pournader  <roozbeh@farsiweb.info>

	* fa.po: Updated Persian translation by
	  Elnaz Sarbar <elnaz@farsiweb.info>.
2005-02-22 18:26:49 +00:00
Raphael Higino
882432372a Updated pt_BR translation 2005-02-22 16:15:30 +00:00
Elijah Newren
0df4e194d3 post-release version bump to 2.9.34
2005-02-21  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.9.34
2005-02-22 02:48:45 +00:00
Elijah Newren
6e40e576a4 Metacity 2.9.21 unstable release
2005-02-21  Elijah Newren  <newren@gmail.com>

	* NEWS: Metacity 2.9.21 unstable release
2005-02-22 02:47:08 +00:00
Elijah Newren
612507260a Handle keynav vs. mousenav in mouse and sloppy focus modes. Fixes #167545.
2005-02-21  Elijah Newren  <newren@gmail.com>

	Handle keynav vs. mousenav in mouse and sloppy focus modes.  Fixes
	#167545.

	* doc/how-to-get-focus-right.txt: Update due to this new method
	for handling keynav vs. mousenav, plus various other updates that
	I previously forgot.

	* src/display.h: (struct _MetaDisplay): add a mouse_mode boolean

	* src/display.c: (meta_display_open): initialize mouse_mode to
	true, (event_callback): have EnterNotify and LeaveNotify events
	set mouse_mode to true when focusing a window

	* src/keybindings.c: (process_tab_grab): set mouse_mode to false
	when using alt-tab/alt-esc, (do_choose_window): likewise,
	(do_handle_move_to_workspace): set mouse_mode to false on
	move-window-to-workspace-<n> keybindings

	* src/window.c (idle_calc_showing): if we're in keynav mode while
	using sloppy or mouse focus, use metacity_sentinel to avoid
	EnterNotify events being generated from events other than mouse
	movement.

	* src/workspace.c (meta_workspace_activate_with_focus): add a
	FIXME in a potentially duplicate section of code,
	(meta_workspace_focus_default_window): use the same focus choice
	as click-to-focus if in keynav mode.
2005-02-22 02:11:25 +00:00
Christophe Merlet
ad99427b49 Updated french translation. 2005-02-21 22:58:34 +00:00
Bastien Nocera
480c8bb085 the file is actually in UTF-8
2005-02-21  Bastien Nocera  <hadess@hadess.net>

	* en_GB.po: the file is actually in UTF-8
2005-02-21 22:04:09 +00:00
Leonid Kanter
53a6545b04 fixed typo 2005-02-21 13:35:57 +00:00
Martin Willemoes Hansen
84fe920ff1 Updated Danish translation.
* da.po: Updated Danish translation.
2005-02-21 13:11:11 +00:00
Priit Laes
987514c702 Translation updated by Tõivo Leedjärv.
2005-02-21  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Tõivo Leedjärv.
2005-02-21 07:10:35 +00:00
Elijah Newren
992f237090 Handle _NET_CURRENT_DESKTOP messages that come with timestamps. Fixes the
2005-02-20  Elijah Newren  <newren@gmail.com>

	* src/display.c: (event_callback): Handle _NET_CURRENT_DESKTOP
	messages that come with timestamps.  Fixes the metacity portion of
	#161361 other than the portion handled by #128380.
2005-02-20 23:38:31 +00:00
Elijah Newren
8de466b582 when receiving a _NET_ACTIVE_WINDOW message, switch to the desktop where
2005-02-20  Elijah Newren  <newren@gmail.com>

	* src/window.c: (meta_window_activate): when receiving a
	_NET_ACTIVE_WINDOW message, switch to the desktop where the window
	is located before activating instead of moving the window to the
	current desktop.  Thanks to Lubos Lunak for catching this issue.
	Fixes #128380.
2005-02-20 22:44:15 +00:00
Elijah Newren
79f2b91679 Ignore all focus and focus-stealing-prevention code in meta_window_show
2005-02-20  Elijah Newren  <newren@gmail.com>

	* src/window.c (meta_window_show): Ignore all focus and
	focus-stealing-prevention code in meta_window_show when not
	showing the window for the first time.  Fixes #167199.
2005-02-20 22:40:08 +00:00
Elijah Newren
b93960ac9d Fix an obscure xinerama placement bug with windows that are too large to
2005-02-20  Elijah Newren  <newren@gmail.com>

	Fix an obscure xinerama placement bug with windows that are too
	large to fit in the workarea in both dimensions.  #166757

	* src/place.c: (meta_window_place): use the current xinerama
	instead of arbitrarily resetting to 0
2005-02-20 22:38:05 +00:00
Elijah Newren
1f0fd137f5 Patch from Joe Marcus Clarke to fix a possible crash on logout. #167935.
2005-02-20  Elijah Newren  <newren@gmail.com>

	Patch from Joe Marcus Clarke to fix a possible crash on logout.
	#167935.  Thanks for fixing my mistakes, Joe!

	* src/display.c: (meta_display_open): initialize
	display->grab_old_window_stacking to NULL.
2005-02-20 17:23:20 +00:00
Elijah Newren
50312dd0e8 Big patch to cover about 6 different issues in order to correct rare
2005-02-20  Elijah Newren  <newren@gmail.com>

	Big patch to cover about 6 different issues in order to correct
	rare problems with timestamps (make sure window selected in
	tasklist actually gets focus, sanity check timestamps to avoid
	rogue apps hosing the system, correct the updating of
	net_wm_user_time, correctly handle timestamps of 0 when comparing
	xserver timestamps for those who have had their systems up for
	over 25 days or so, add some debugging information to verbose
	logs, some code cleanups).  Fixes all issues listed in #167358.

	* src/display.h: (struct _MetaDisplay): clarify comment on
	last_focus_time, introduce a new variable--last_user_time,
	(XSERVER_TIME_IS_BEFORE macro): put this functionality into a
	separate macro and then introduce a new macro with this name that
	uses the old one but adds additional special-case checks for
	timestamps that are 0, (comment to
	meta_display_set_input_focus_window): add information about how
	last_user_time should be used in this function

	* src/display.c (santiy_check_timestamps): new function,
	(meta_display_open): intialize display->last_user_time,
	(meta_display_get_current_time_roundtrip): use the timestamp,
	which is known to be good, in order to sanity_check_timestamps,
	(event_callback): use the new meta_window_ste_user_time() function
	in order to correct problems, use the timestamp of KeyPress and
	ButtonPress events, which are known to be good, in order to
	sanity_check_timestamps, (timestamp_too_old): new function for
	common behavior of meta_display_focus_the_no_focus_window and
	meta_display_set_input_focus_window, with added checking for
	display->last_user_time in addition to display->last_focus_time,
	(meta_display_set_input_focus_window): replace some of the code
	with a call to timestamp_too_old(),
	(meta_display_focus_the_no_focus_window): replace some of th ecode
	with a call to timestamp_too_old()

	* src/window.h: (meta_window_set_user_time): new function to
	abstract the many things that need to be done when updating the
	net_wm_user_time of any window

	* src/window.c: (meta_window_activate): add debugging spew, make
	sure the comparison is made with last_user_time NOT
	last_focus_time, use meta_window_set_user_time() function in order
	to correct problems, (meta_window_client_message): add a newline
	to a debugging message to make them easier to read,
	(meta_window_set_user_time): new function

	* src/window-props.c (reload_net_wm_user_time): use the new
	meta_window_ste_user_time() function in order to correct problems
2005-02-20 17:14:16 +00:00
Changwoo Ryu
11508ce27e Updated Korean translation.
2005-02-18  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.
2005-02-18 13:24:11 +00:00
Duarte Loreto
0b3e902319 Updated Portuguese translation.
2005-02-18  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.
2005-02-18 00:40:00 +00:00
Vincent van Adrighem
5e1b0c8764 Translation updated by Tino Meinen.
2005-02-17  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2005-02-17 13:29:47 +00:00
Laurent Dhima
7d2f2fe632 Updated Albanian translation.
2005-02-17  Laurent Dhima  <laurenti@alblinux.net>

	* sq.po: Updated Albanian translation.
2005-02-17 10:00:48 +00:00
Elijah Newren
754a75546d trivial fix to a log message: change %d to %lu (see debugging log from bug
2005-02-16  Elijah Newren  <newren@gmail.com>

	* src/display.c: (event_callback): trivial fix to a log message:
	change %d to %lu (see debugging log from bug 167358).
2005-02-16 09:36:24 +00:00
Jordi Mallach
d1e630235d Updated Catalan translation. 2005-02-16 09:24:41 +00:00
Maxim Dziumanenko
37becd9a79 Update Ukrainian translation.
2005-02-15  Maxim Dziumanenko <mvd@mylinux.com.ua>

	* Update Ukrainian translation.
2005-02-15 19:21:52 +00:00
Kjartan Maraas
626c5fcf54 s/applikasjon/program Same
2005-02-15  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: s/applikasjon/program
	* no.po: Same
2005-02-15 16:42:33 +00:00
Marcel Telka
3fb2eb0856 Updated Slovak translation.
2005-02-12  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2005-02-12 16:14:30 +00:00
Takeshi AIHANA
c729adfc5e Updated Japanese translation for v2.9.13.
2005-02-12  Takeshi AIHANA <aihana@gnome.gr.jp>
	* ja.po: Updated Japanese translation for v2.9.13.
2005-02-12 14:05:43 +00:00
Elijah Newren
0488efc8c1 Raise the ancestor of a window instead of the window itself. Fixes
2005-02-12  Elijah Newren  <newren@gmail.com>

	Raise the ancestor of a window instead of the window itself.
	Fixes #166894.

	* src/window.c: (find_root_ancestor): new function,
	(meta_window_raise): get the ancestor of the given window and
	raise it if possible instead of the window
2005-02-12 07:34:30 +00:00
Elijah Newren
9fa5c1d4b9 Don't unconditionally place splashscreens (and other not-to-befocused
2005-02-12  Elijah Newren  <newren@gmail.com>

	Don't unconditionally place splashscreens (and other
	not-to-befocused windows) below the focus window.  Fixes #167042.

	* src/window.c: (intervening_user_event_occurred): new function
	taken from the timestamp comparison portion of the old
	window_takes_focus_on_map function, (window_state_on_map): new
	function with remainder of old window_takes_focus_on_map function
	that determines both whether the window will take focus and
	whether it should be placed on top, (meta_window_show): use
	place_on_top_on_map to determine window stacking instead of trying
	to infer it from takes_focus_on_map
2005-02-12 07:19:41 +00:00
Elijah Newren
d31a0829be Avoid new windows being obscured by the focus window (and thus possibly
2005-02-11  Elijah Newren  <newren@gmail.com>

	Avoid new windows being obscured by the focus window (and thus
	possibly lost).  Fixes #166524.

	* src/place.c: new MetaWindowDirection enum,
	(find_most_freespace): new function to find where there is the
	most space available around the focused window,
	(meta_window_place): if a window is denied focus and the window
	overlaps the focused window, retry the first-fit algorithm only
	paying attention to the focus window position and if that fails
	just find the location on the screen with the most space
	available.

	* src/window.h: (struct MetaWindow): new
	denied_focus_and_not_transient bitfield

	* src/window.c: (meta_window_new_with_attrs): initialize
	denied_focus_and_not_transient, (meta_window_show): set and unset
	the denied_focus_and_not_transient field appropriately
2005-02-11 19:20:44 +00:00
Kostas Papadimas
f8c41ca016 Updated Greek Translation. 2005-02-11 10:49:47 +00:00
Francisco Javier F. Serrador
450cee78b5 Updated Spanish translation.
2005-02-10  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-02-10 11:43:28 +00:00
Aidan Delaney
f7aad0d647 Removed useless function call. #166730
2005-02-08  Aidan Delaney  <adelaney@cs.may.ie>

	Removed useless function call.  #166730

	* src/tabpopup.c: (outline_window_expose): Removed unused
	references to variables and an unnecessary function call to
	gdk_window_get_size().
2005-02-09 16:07:56 +00:00
Elijah Newren
fe1416c65f Avoid using CurrentTime when focusing, handle it better in case we miss
2005-02-08  Elijah Newren  <newren@gmail.com>

	Avoid using CurrentTime when focusing, handle it better in case we
	miss any cases.  Fixes #166732.

	* src/window.c: (meta_window_shade): use
	meta_display_get_current_time_roundtrip() to ensure we have a
	valid timestamp, (meta_window_unshade): same

	* src/display.c: (meta_display_set_input_focus_window): If
	CurrentTime was passed, get one from the XServer in addition to
	throwing a warning, (meta_display_focus_the_no_focus_window): same
2005-02-09 03:18:46 +00:00
Elijah Newren
454e595ef8 If we're not passed a timestamp, make sure to manually get one. Fixes
2005-02-08  Elijah Newren  <newren@gmail.com>

	* src/window.c: (meta_window_activate): If we're not passed a
	timestamp, make sure to manually get one.  Fixes #166728.
2005-02-09 03:15:11 +00:00
Leonid Kanter
50596a6f97 Updated Russian translation 2005-02-08 15:06:49 +00:00
Kjartan Maraas
4726d89661 Update Update
2005-02-08  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Update
	* no.po: Update
2005-02-08 12:48:56 +00:00
Elijah Newren
ffceb7819f post-release version bump to 2.9.21
2005-02-07  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.9.21
2005-02-07 18:07:54 +00:00
Elijah Newren
249c105d01 Metacity 2.9.13 unstable release
2005-02-07  Elijah Newren  <newren@gmail.com>

	* NEWS: Metacity 2.9.13 unstable release
2005-02-07 18:06:29 +00:00
David Lodge
a7116f94a6 Updated British translation.
2005-02-07  David Lodge <dave@cirt.net>

        * en_GB.po: Updated British translation.
2005-02-07 12:38:45 +00:00
Elijah Newren
0aa903f0d4 Set a _METACITY_VERSION property (a utf8 string) on the WM check window.
2005-02-06  Elijah Newren  <newren@gmail.com>

	Set a _METACITY_VERSION property (a utf8 string) on the WM check
	window.  #165350.

	* src/display.h: (struct MetaDisplay): add a atom_metacity_version
	field

	* src/display.c: (meta_display_open): initialize the
	_METACITY_VERSION property on the WM check window to the current
	version of Metacity.
2005-02-07 04:37:35 +00:00
Adam Weinberger
a0b192aa5e Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2005-02-06 23:27:09 +00:00
Elijah Newren
459c6668fb Ignore xconfigurerequest events for stacking when it should be safe to do
2005-02-06  Elijah Newren  <newren@gmail.com>

	Ignore xconfigurerequest events for stacking when it should be
	safe to do so.  Again, thanks to Crispin Flowerday for the test
	case.  Thanks to KWin for the inspiration (and to Google for
	indexing their source code).  Fixes the other half of #166395.

	* src/window.c: (meta_window_configure_request): if the
	active_window is from a separate application than the one getting
	the configure request and the net_wm_user_time of the active
	window is later than that of the window getting the configure
	request, then ignore the request.
2005-02-06 17:01:41 +00:00
Elijah Newren
d11681e505 If activation requests are too old, set the demands_attention hint instead
2005-02-06  Elijah Newren  <newren@gmail.com>

	If activation requests are too old, set the demands_attention hint
	instead of actually activating.  Thanks to Crispin Flowerday for
	the test case and for testing the patch.  Fixes half of #166395.

	* src/window.c: (meta_window_activate): if the request came before
	the last focus time, set the demands attention hint instead
2005-02-06 16:52:26 +00:00
Miloslav Trmac
114c7c0be5 Updated Czech translation.
2005-02-06  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-02-06 16:31:22 +00:00
Funda Wang
10c6e1de17 Updated Simplified Chinese translation 2005-02-06 16:15:29 +00:00
Alexander Shopov
0bde8fe275 Updated Bulgarian translation by Vladimir Petkov <vpetkov@i-space.org>
2005-02-06  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Vladimir Petkov <vpetkov@i-space.org>
2005-02-06 09:30:25 +00:00
Pauli Virtanen
2b2b70e80e Updated Finnish translation.
2005-02-06  Pauli Virtanen <pauli.virtanen@hut.fi>

	 * fi.po: Updated Finnish translation.
2005-02-06 01:15:51 +00:00
Frank Arnold
6679c6cd9c Updated German translation.
2005-02-05  Frank Arnold  <farnold@cvs.gnome.org>

	* de.po: Updated German translation.
2005-02-05 19:55:52 +00:00
Francisco Javier F. Serrador
7aab9f97d9 Updated Spanish translation.
2005-02-05  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-02-05 15:29:29 +00:00
Žygimantas Beručka
9057b7112e Updated Lithuanian translation.
2005-02-05  Žygimantas Beručka  <uid0@akl.lt>

        * lt.po: Updated Lithuanian translation.
2005-02-05 10:49:48 +00:00
Dave Ahlswede
959a997eba Add period to the end of reduced_resources' description. Fixes #165780.
2005-02-04  Dave Ahlswede  <mightyquinn@letterboxes.org>

	* src/metacity.schemas.in: Add period to the end of
	reduced_resources' description.  Fixes #165780.
2005-02-05 03:57:41 +00:00
Elijah Newren
84312194e8 Make sure window->border_only is initialized so we don't get random
2005-02-04  Elijah Newren  <newren@gmail.com>

	Make sure window->border_only is initialized so we don't get
	random windows without decorations.  Thanks to Sinisa Segvic and
	Owen Taylor for providing test cases.  Fixes #145131.

	* src/window.c: (update_mwm_hints): Be sure to call
	recalc_window_features even if no MWM hints are set
2005-02-05 03:02:42 +00:00
Francisco Javier F. Serrador
58b323e4cc Updated Spanish translation.
2005-02-04  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-02-04 21:01:51 +00:00
Changwoo Ryu
c39fb62e1d Updated Korean translation.
2005-02-04  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.
2005-02-03 22:07:29 +00:00
Miloslav Trmac
e25ed00bfb Updated Czech translation.
2005-02-02  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-02-02 20:37:27 +00:00
Elijah Newren
de5588c10e Focus parents of dismissed transient windows in preference to the window
2005-02-02  Elijah Newren  <newren@gmail.com>

	Focus parents of dismissed transient windows in preference to the
	window that most recently had keyboard focus.  Fixes #157360.

	* doc/how-to-get-focus-right.txt: Note the distinction between
	"most recently used window" and "most recent to have keyboard
	focus" that we are now making.

	* src/workspace.c: (focus_ancestor_or_mru_window): rename from
	meta_workspace_focus_mru_window, and first check whether we need
	to focus an ancestor window before looking for the mru window,
	(record_ancestor): helper function for
	focus_ancestor_or_mru_window,
	(meta_workspace_focus_default_window): update due to the function
	rename from meta_workspace_focus_mru_window to
	focus_ancestor_or_mru_window
2005-02-02 18:46:09 +00:00
Frank Arnold
03adcdac31 Updated German translation.
2005-02-02  Frank Arnold  <farnold@cvs.gnome.org>

	* de.po: Updated German translation.
2005-02-02 08:56:20 +00:00
Søren Sandmann Pedersen
36b0b6d4d5 file snow.c was initially added on branch spiffifity. 2005-02-01 21:26:19 +00:00
Søren Sandmann Pedersen
bb1783b999 file snow.h was initially added on branch spiffifity. 2005-02-01 21:26:19 +00:00
Kjartan Maraas
05928106c5 Update Update
2005-02-01  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Update
	* no.po: Update
2005-02-01 12:24:19 +00:00
Funda Wang
3489defbe8 Updated Simplified Chinese translation 2005-02-01 10:48:36 +00:00
Adam Weinberger
490fe640ab Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2005-02-01 07:40:38 +00:00
Žygimantas Beručka
017aa0dfd5 Updated Lithuanian translation.
2005-02-01  Žygimantas Beručka  <uid0@akl.lt>

        * lt.po: Updated Lithuanian translation.
2005-01-31 23:26:28 +00:00
Christian Rose
7961c987a7 Updated Swedish translation.
2005-01-31  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2005-01-31 22:19:14 +00:00
Elijah Newren
77854b808a Some dufus forgot to save the ChangeLog before committing... :-/ 2005-01-31 20:43:23 +00:00
Elijah Newren
e2eb979ecd Try 2 to correct misleading and inaccurate wording. Hopefully, really
2005-01-31  Elijah Newren  <newren@gmail.com>

	Try 2 to correct misleading and inaccurate wording.  Hopefully,
	really fixes #165380.

	* src/menu.c: Change wording of menu from "Always on Current
	Workspace" to "Always on Visible Workspace".  "Always on Current
	Workspace" could sound like a synonym of "Only on This Workspace"
	when it was supposed to be the opposite.
2005-01-31 20:41:33 +00:00
Elijah Newren
51bbd0e1a8 Correct the stacking when return from fullscreen mode. Fixes #165718.
2005-01-31  Elijah Newren  <newren@gmail.com>

	Correct the stacking when return from fullscreen mode.  Fixes
	#165718.

	* src/window.c: (meta_window_unmake_fullscreen): Update the layer
	after resizing the window
2005-01-31 16:49:23 +00:00
Miloslav Trmac
595c86f427 Updated Czech translation.
2005-01-31  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-01-31 10:00:59 +00:00
Muktha
a7c2bacd64 src/themes/Atlanta/metacity-theme-1.xml:
2005-01-31  Muktha  <muktha.narayan@wipro.com>

        src/themes/Atlanta/metacity-theme-1.xml:
        src/themes/Simple/metacity-theme-1.xml:
        src/themes/Bright/metacity-theme-1.xml:
        Make the unfocussed title bar distinguishable. Fixes #125291.
2005-01-31 09:54:34 +00:00
Christian Rose
dab5dc2c70 Updated Swedish translation.
2005-01-31  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2005-01-31 09:16:38 +00:00
Žygimantas Beručka
5d8da70f33 Updated Lithuanian translation.
2005-01-30  Žygimantas Beručka  <uid0@akl.lt>

        * lt.po: Updated Lithuanian translation.
2005-01-30 01:22:31 +00:00
Francisco Javier F. Serrador
2f0f36eea0 Updated Spanish translation.
2005-01-29  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-01-29 17:36:06 +00:00
Miloslav Trmac
4e3243b122 Updated Czech translation.
2005-01-29  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-01-29 14:47:28 +00:00
Marcel Telka
a1caa2ae9e Updated Slovak translation.
2005-01-29  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2005-01-29 14:43:29 +00:00
Funda Wang
194eee175d Updated Simplified Chinese translation 2005-01-29 08:36:17 +00:00
Adam Weinberger
2aae99381f Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2005-01-29 05:08:11 +00:00
Elijah Newren
aa2da7d82e Patch from RHEL-3 (Havoc doesn't remember how it got there) that Havoc
2005-01-28  Elijah Newren  <newren@gmail.com>

	Patch from RHEL-3 (Havoc doesn't remember how it got there) that
	Havoc posted in bug 156511 to fix the problem with fullscreen
	windows on a different xinerama monitor not staying on top.  I
	updated to HEAD.  Should fix #156511.

	* src/stack.c: (windows_on_different_xinerama): new function,
	(get_standalone_layer): let windows on a different screen than the
	one with the focus window stay in the fullscreen layer
2005-01-28 18:42:14 +00:00
Elijah Newren
9221a550db make this dialog be sticky. Fixes #164745.
2005-01-28  Elijah Newren  <newren@gmail.com>

	* src/metacity-dialog.c: (warn_about_no_sm_support): make this
	dialog be sticky.  Fixes #164745.
2005-01-28 16:49:36 +00:00
Elijah Newren
c66adff00d Patch from Tim Herold to handle xcomposite pkgconfig version regression.
2005-01-28  Elijah Newren  <newren@gmail.com>

	Patch from Tim Herold to handle xcomposite pkgconfig version
	regression.  Fixes #149368.

	* configure.in: Change XCOMPOSITE_VERSION from 1.0 to 0.2
2005-01-28 16:45:48 +00:00
Elijah Newren
7d0ef20a9c Change wording of menu to "Always on Current Workspace" from "Put on All
2005-01-28  Elijah Newren  <newren@gmail.com>

	* src/menu.c: Change wording of menu to "Always on Current
	Workspace" from "Put on All Workspaces", remove a quick-key
	conflict between "On _Top" and "Only on _This Workspace" by
	switching the latter to "_Only on This Workspace"

	* src/window.c: Remove a comment that is no longer necessary
	(since bug 87531 has been fixed)
2005-01-28 16:36:14 +00:00
Kjartan Maraas
cabf4fc359 Update Update
2005-01-28  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Update
	* no.po: Update
2005-01-28 16:03:44 +00:00
Elijah Newren
5389f135ce Take into account the appropriate list of windows when placing a new one.
2005-01-28  Elijah Newren  <newren@gmail.com>

	Take into account the appropriate list of windows when placing a
	new one.  Fixes #165381.

	* src/place.c: (meta_window_place): use
	meta_window_showing_on_its_workspace(w) instead of !w->minimzed,
	also take into account sticky windows

	* src/window.[ch]: rename window_showing_on_its_workspace to
	meta_window_showing_on_its_workspace and export it
2005-01-28 14:48:47 +00:00
Elijah Newren
1e580d1e52 Plug a pair of leaks. Fixes #165378
2005-01-27  Elijah Newren  <newren@gmail.com>

	Plug a pair of leaks.  Fixes #165378

	* src/place.c: (meta_window_place, get_windows_on_same_workspace):
	free list returned by meta_display_list_windows.
2005-01-27 18:30:27 +00:00
Elijah Newren
d93d26aaeb Treat splashscreens same as other windows for stacking. Fixes #165243.
2005-01-27  Elijah Newren  <newren@gmail.com>

	Treat splashscreens same as other windows for stacking.  Fixes
	#165243.

	* src/stack.h: (MetaStackLayer enum): remove META_LAYER_SPLASH
	from the list

	* src/stack.c: (get_standalone_layer): remove the special casing
	of META_WINDOW_SPLASHSCREEN
2005-01-27 18:28:06 +00:00
Elijah Newren
0a95c706bf shaded windows should not show up in pagers. Fixes #165377.
2005-01-27  Elijah Newren  <newren@gmail.com>

	* src/window.c: (set_net_wm_state): shaded windows should not show
	up in pagers.  Fixes #165377.
2005-01-27 18:23:51 +00:00
Adam Weinberger
b0d15aa44f Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2005-01-27 03:25:26 +00:00
Elijah Newren
5fe06b5fff Stick and unstick transients with their parent automatically. Fixes
2005-01-26  Elijah Newren  <newren@gmail.com>

	Stick and unstick transients with their parent automatically.
	Fixes #152283.

	* src/window.c: (window_stick_impl, window_unstick_impl): rename
	from meta_window_stick and meta_window_unstick respectively,
	(stick_foreach_func): a function to assist calling
	window_(un)stick_impl on each transient, (meta_window_stick,
	meta_window_unstick): new functions that call window_stick_impl or
	window_unstick_impl for the window and each of its transients.
2005-01-26 23:25:05 +00:00
Francisco Javier F. Serrador
fa5bc6ff51 Updated Spanish translation.
2005-01-26  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-01-26 21:58:35 +00:00
Elijah Newren
893309b372 Patch from John Paul Wallington to keep tooltip on screen horizontally for
2005-01-26  Elijah Newren  <newren@gmail.com>

	Patch from John Paul Wallington to keep tooltip on screen
	horizontally for xinerama.  Fixes #165261.

	* src/fixedtip.c: (meta_fixed_tip_show): rename screen_width and
	screen_height to screen_right_edge and screen_bottom_edge, set
	them using xinerama info instead of just screen geometry, and use
	them to determine where to place the tooltip window.
2005-01-26 20:56:15 +00:00
Arvind Samptur
cf102c12f4 Don't wireframe when accessibility is on, it apparently causes a desktop
2005-01-26  Arvind Samptur  <arvind.samptur@wipro.com>

        Don't wireframe when accessibility is on, it apparently
        causes a desktop wide freeze.

        * src/prefs.[ch] (meta_prefs_init) (change_notify)
        (update_gnome_accessibility) (meta_preference_to_string)
        (meta_prefs_get_gnome_accessibility) : Add code to monitor
        accessibility status.

        * src/display.c (meta_display_begin_grab_op): Check
        accessibility status before going ahead with wireframe.
        Fixes #159538
2005-01-26 08:43:38 +00:00
Elijah Newren
ebaa77c312 ignore sticky windows for non-active workspaces. Fixes #165259.
2005-01-25  Elijah Newren  <newren@gmail.com>

	* src/tabpopup.c: (meta_select_workspace_expose_event): ignore
	sticky windows for non-active workspaces.  Fixes #165259.
2005-01-26 02:51:31 +00:00
Elijah Newren
bb03725397 set the window state hints _after_ applying session information. Fixes
2005-01-25  Elijah Newren  <newren@gmail.com>

	* src/window.c: (meta_window_new_with_attrs): set the window state
	hints _after_ applying session information.  Fixes #164677.
2005-01-26 02:47:49 +00:00
Duarte Loreto
49479d9b67 Updated Portuguese translation.
2005-01-26  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.
2005-01-26 01:02:23 +00:00
Elijah Newren
ea4d4b7b3e Add man pages for metacity-window-demo and metacity-theme-viewer. Man
2005-01-25  Elijah Newren  <newren@gmail.com>

	Add man pages for metacity-window-demo and metacity-theme-viewer.
	Man pages from Jose Moya, auto-fu from Dave Ahlswede. (#143513)

	* doc/man/metacity-theme-viewer.1:
	* doc/man/metacity-window-demo.1:

	New man pages

	* doc/man/Makefile.am:
	* doc/Makefile.am:
	* configure.in:

	Make sure to install the man pages

	* doc/man/.cvsignore:

	Silence cvs
2005-01-25 23:28:55 +00:00
Benjamin Kahn
f388d1111f New 48x48 default icon as specified in bug #160660 2005-01-25 18:47:57 +00:00
Elijah Newren
f5984f4365 Patch from Stephane LOEUILLET in bug #151850.
2005-01-25  Elijah Newren  <newren@math.utah.edu>

	Patch from Stephane LOEUILLET in bug #151850.

	* src/metacity.desktop.in: specify encoding
2005-01-25 18:27:43 +00:00
Balamurali Viswanathan
a8347dfd2f Get gconf to load the terminal dir so that we get the notifications when
2005-01-25  Balamurali Viswanathan <balamurali.viswanathan@wipro.com>

 	* src/prefs.c (meta_prefs_init): Get gconf to load the
 	terminal dir so that we get the notifications when
 	the command is changed. Fixes bug #160934
2005-01-25 18:02:39 +00:00
Elijah Newren
f31c57a049 Refuse to focus a window with a modal transient, and focus the transient
2005-01-25  Elijah Newren  <newren@gmail.com>

	Refuse to focus a window with a modal transient, and focus the
	transient instead.  Fixes #164716.

	* src/window.c: (get_modal_transient): new function,
	(meta_window_focus): if the window has a modal transient, make
	sure it is on the current workspace and then focus it instead.
2005-01-25 17:26:06 +00:00
Theppitak Karoonboonyanan
3afcb9c963 Updated Thai translation.
2005-01-25  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation.
2005-01-25 13:42:35 +00:00
Elijah Newren
640d793ce4 post-release version bump to 2.9.13
2005-01-24  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.9.13
2005-01-24 18:10:54 +00:00
Elijah Newren
b5529bc5e8 Metacity 2.9.8 unstable release
2005-01-24  Elijah Newren  <newren@gmail.com>

	* NEWS: Metacity 2.9.8 unstable release
2005-01-24 18:09:46 +00:00
Elijah Newren
2dcaa941b4 don't forget to initialize display->grab_old_window_stacking. Thanks to
2005-01-24  Elijah Newren  <newren@gmail.com>

	* src/display.c: (meta_display_begin_grab_op): don't forget to
	initialize display->grab_old_window_stacking.  Thanks to Sebastien
	Bacher and the bleeding edge Ubuntu users for catching the
	occasional crash this could cause so quickly, and for verifying
	that the patch worked (I couldn't duplicate).  Fixes #165093.
2005-01-24 17:39:26 +00:00
Elijah Newren
145d134095 post-release version bump to 2.9.8
2005-01-23  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.9.8
2005-01-24 06:55:48 +00:00
Elijah Newren
1a5d738e68 Metacity 2.9.5 unstable release there are more stable releases beyond
2005-01-23  Elijah Newren  <newren@gmail.com>

	* NEWS: Metacity 2.9.5 unstable release
	* README: there are more stable releases beyond 2.8.6...
2005-01-24 06:44:16 +00:00
Elijah Newren
2d0d5e8cac Restore original stacking when aborting an alt-esc window switch
2005-01-23  Elijah Newren  <newren@gmail.com>

	Restore original stacking when aborting an alt-esc window switch
	operation.  Fixes #123576.

	* src/display.c: (GRAB_OP_IS_WINDOW_SWITCH): new macro,
	(meta_display_close): clear grab_old_window_stacking if non-NULL,
	(event_callback): restore stack positions if alt-esc op cancelled
	with button press, (meta_display_begin_grab_op): store the old
	stacking positions, (meta_display_end_grab_op): free the old stack
	positions

	* src/display.h: (struct _MetaDisplay): add a
	grab_old_window_stacking list

	* src/keybindings.c: (process_tab_grab): restore stack positions
	if alt-esc op cancelled with an errant key press

	* src/stack.c: (compare_just_window_stack_position): new
	GCompareFunc function, (meta_stack_get_positions): get current
	stack positions, (compare_pointers): new GCompareFunc function,
	(lists_contain_same_windows): simple utility func to see if two
	lists contains the same windows, (meta_stack_set_positions): new
	function to set the positions of all the windows in the stack

	* src/stack.h: (meta_stack_get_postions,
	meta_stack_set_positions): new functions
2005-01-24 05:58:30 +00:00
Elijah Newren
814cc4b698 Patch from John Paul Wallington to fix #163420.
2005-01-23  Elijah Newren  <newren@gmail.com>

	Patch from John Paul Wallington to fix #163420.

	* src/window.c: (check_maximize_to_work_area): fix vertical
	maximization for second screen
2005-01-24 04:21:14 +00:00
Funda Wang
6630963a1d Updated Simplified Chinese translation 2005-01-23 16:06:54 +00:00
Elijah Newren
667796d53b Add a tracker bug for modal dialog issues
2005-01-21  Elijah Newren  <newren@gmail.com>

	* rationales.txt: Add a tracker bug for modal dialog issues
2005-01-21 18:08:19 +00:00
Kjartan Maraas
686ce45a7b Update this too while we're at it.
2005-01-21  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Update this too while we're at it.
2005-01-21 12:54:55 +00:00
Kjartan Maraas
11dc788fbe Update
2005-01-21  Kjartan Maraas  <kmaraas@gnome.org>

	* nn.po: Update
2005-01-21 12:41:24 +00:00
Elijah Newren
a1cdbf6d03 use pixbuf, not dimmed_pixbuf (which isn't defined yet). Fixes crash from
2005-01-20  Elijah Newren  <newren@gmail.com>

	* src/tabpopup.c (dimm_icon): use pixbuf, not dimmed_pixbuf (which
	isn't defined yet).  Fixes crash from #136666.
2005-01-21 01:58:10 +00:00
Vincent Noel
46ededed08 Show labels in bold for windows that demand attention. Fixes #164590.
2005-01-20  Vincent Noel  <vnoel@cox.net>

	* src/screen.c: (meta_screen_ensure_tab_popup),
	(meta_screen_ensure_workspace_popup):
	* src/tabpopup.c: (meta_ui_tab_popup_new), (display_entry):
	* src/tabpopup.h: Show labels in bold for windows that demand
	attention. Fixes #164590.
2005-01-20 16:41:29 +00:00
Vincent Noel
47221dcce2 In the tab task switcher popup, dim the window icon and put its name
2005-01-18  Vincent Noel  <vnoel@cox.net>

	* src/screen.c: (meta_screen_ensure_tab_popup),
	(meta_screen_ensure_workspace_popup):
	* src/tabpopup.c: (dimm_icon), (meta_ui_tab_popup_new),
	(free_entry):
	* src/tabpopup.h: In the tab task switcher popup, dim the window
	icon and put its name between brackets when the window is
	minimized. Fixes #136666.
2005-01-18 16:48:53 +00:00
Frank Arnold
48a6dd603a Updated German translation.
2005-01-15  Frank Arnold  <farnold@cvs.gnome.org>

	* de.po: Updated German translation.
2005-01-15 22:11:17 +00:00
Søren Sandmann Pedersen
89dd94bf1e file cwindow.c was initially added on branch spiffifity. 2005-01-13 23:51:00 +00:00
Søren Sandmann Pedersen
b8c8000b44 file cwindow.h was initially added on branch spiffifity. 2005-01-13 23:51:00 +00:00
Søren Sandmann Pedersen
00f7c002ba file matrix.c was initially added on branch spiffifity. 2005-01-13 23:51:00 +00:00
Søren Sandmann Pedersen
7dce1a4b6f file matrix.h was initially added on branch spiffifity. 2005-01-13 23:51:00 +00:00
Elijah Newren
2e465de233 Correct highlighting of windows in workspace switcher popup. Fixes
2005-01-11  Elijah Newren  <newren@gmail.com>

	Correct highlighting of windows in workspace switcher popup.
	Fixes #163450.

	* src/tabpopup.c (meta_select_workspace_expose_event): Remove race
	between FocusIn/FocusOut events and the expose event by replacing
	window->has_focus with
	window==window->display->expected_focus_window.
2005-01-11 19:54:14 +00:00
Elijah Newren
1830a35000 post-release version bump to 2.9.5
2005-01-09  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.9.5
2005-01-10 05:10:33 +00:00
Elijah Newren
d9e622b375 Metacity 2.9.3 unstable release
2005-01-09  Elijah Newren  <newren@gmail.com>

	* NEWS: Metacity 2.9.3 unstable release
2005-01-10 05:09:25 +00:00
Elijah Newren
7d747092a6 Remove the hack from bug 128200; it isn't needed anymore with the fix from
2005-01-09  Elijah Newren  <newren@gmail.com>

	* src/display.c (meta_display_open):
	* src/display.h (struct _MetaDisplay):
	* src/window.c (meta_window_free, meta_window_client_message,
	meta_window_notify_focus):

	Remove the hack from bug 128200; it isn't needed anymore with the
	fix from bug #160470.
2005-01-10 00:27:00 +00:00
Elijah Newren
be29c69653 Don't focus the panel on click. Fixes #160470 (and 100470 and removes the
2005-01-09  Elijah Newren  <newren@gmail.com>

	Don't focus the panel on click.  Fixes #160470 (and 100470 and
	removes the need for the hack from 128200)

	* doc/how-to-get-focus-right.txt: Update section on focusing
	non-decorated windows (specifically, DOCKS and DESKTOPS)

	* src/display.c (event_callback): don't focus dock windows on
	click
2005-01-09 19:27:22 +00:00
Elijah Newren
c0924402d4 Make sure the save session dialog appears focused. Fixes #162983.
2005-01-06  Elijah Newren  <newren@gmail.com>

	Make sure the save session dialog appears focused.  Fixes #162983.

	* src/session.c (warn_about_lame_clients_and_finish_inter): Get a
	timestamp by explicit request from Xserver, since none is
	available otherwise.
2005-01-07 05:19:26 +00:00
Leena Gunda
7549d1511a Restore the wireframe rectangle co-ordinates to saved window co-ordinates.
2005-01-06  Leena Gunda  <leena.gunda@wipro.com>

        * src/window.c (meta_window_unmaximize): Restore the wireframe
        rectangle co-ordinates to saved window co-ordinates. Fixes
        bug #161236.
2005-01-06 05:24:59 +00:00
Thomas Fitzsimmons
7c8faf3eda Install schema data from builddir not srcdir.
2005-01-03  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* src/Makefile.am (install-data-local): Install schema data from
	builddir not srcdir.
2005-01-03 23:50:10 +00:00
Elijah Newren
68b14b6b9a Oops, that was doc/code-overview.txt not src/code-overview.txt 2005-01-02 22:01:03 +00:00
Elijah Newren
9382d5810f Provide more documentation to make it easier for people to contribute to
2005-01-02  Elijah Newren  <newren@gmail.com>

	Provide more documentation to make it easier for people to
	contribute to Metacity

	* HACKING: Add lots of information to extend this document: more
	on relevant standards and X properties, lots of information on
	debugging and testing, and add a list of some other important
	things to read; also move some information to
	src/code-overview.txt and organize this file into sections.

	* src/code-overview.txt: New file including some small parts from
	the old HACKING file and lots of new stuff.  This file gives a
	brief overview of some of the bigger structures and files, with
	guides for a variety of task categories providing places to start
	looking in the code and things to look for.
2005-01-02 21:59:05 +00:00
Francisco Javier F. Serrador
890ffe18f2 Updated Spanish translation.
2005-01-01  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-01-01 13:10:20 +00:00
Elijah Newren
78e54ee7ee Allow users to move the window around immediately after double-clicking to
2004-12-28  Elijah Newren  <newren@gmail.com>

	Allow users to move the window around immediately after
	double-clicking to shade (#90290)

	* src/display.c (event_callback): only end the grab op if either
	there is no frame or else the frame is not mapped
2004-12-28 22:31:10 +00:00
Christian Rose
4e636d0951 Updated Swedish translation.
2004-12-28  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2004-12-28 22:29:41 +00:00
Elijah Newren
c74ab35c6c Focus windows that manually position themselves too (fixes #107347).
2004-12-27  Elijah Newren  <newren@gmail.com>

	Focus windows that manually position themselves too (fixes
	#107347).

	* src/window.h (struct _MetaWindow): add a new
	showing_for_first_time flag

	* src/window.c (meta_window_new_with_attrs): initialize
	showing_for_first_time flag to !mapped, (meta_window_show):
	replace did_placement with showing_for_first_time in the section
	to decided whether to focus since did_placement isn't quite what
	we want
2004-12-28 06:01:42 +00:00
Elijah Newren
0bf6bffb16 Spew warning if CurrentTime is passed to the function, but don't exit
2004-12-27  Elijah Newren  <newren@gmail.com>

	* src/display.c (meta_display_set_input_focus_window,
	meta_display_focus_the_no_focus_window): Spew warning if
	CurrentTime is passed to the function, but don't exit prematurely.
	(fixes #162353)
2004-12-28 05:55:58 +00:00
Miloslav Trmac
1ce080d733 Updated Czech translation.
2004-12-25  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2004-12-25 15:04:08 +00:00
Elijah Newren
aab8f21475 Don't show menu if all options are invalid (fixes #148915)
2004-12-24  Elijah Newren  <newren@gmail.com>

	* src/window.c (meta_window_show_menu): Don't show menu if all
	options are invalid (fixes #148915)
2004-12-24 19:40:09 +00:00
Elijah Newren
ce8c2d9463 Fix error in distinguishing < vs. <= introduced by the patch in #154598,
2004-12-24  Elijah Newren  <newren@gmail.com>

	* src/window.c (window_takes_focus_on_map): Fix error in
	distinguishing < vs. <= introduced by the patch in #154598,
	restructure code so that verbose log matches code better in order
	ensure such mistakes are harder to make in the future (fixes
	#162172)
2004-12-24 17:27:29 +00:00
Elijah Newren
d5a484479f Thanks to mild7@users.sourceforge.net for this fix.
2004-12-24  Elijah Newren  <newren@gmail.com>

	Thanks to mild7@users.sourceforge.net for this fix.

	* src/window.h: (META_WINDOW_IN_NORMAL_TAB_CHAIN): Excludes
	windows with skip_taskbar hint set from the alt-tab list; they'll
	appear in the ctrl-alt-tab list instead. (fixes #106249)
2004-12-24 15:43:46 +00:00
Elijah Newren
892cb8a8dd Wrap XSetInputFocus, making display->expected_focus_window a little more
2004-12-22  Elijah Newren  <newren@gmail.com>

	Wrap XSetInputFocus, making display->expected_focus_window a
	little more reliable (see #154598)

	* src/display.h: (struct _MetaDisplay): add a large comment about
	the expected_focus_window, add a last_focus_time field,
	(XSERVER_TIME_IS_BEFORE): new macro moved from window.c but fixed
	for 64-bit systems, (meta_display_set_input_focus_window): new
	function

	* src/display.c (meta_display_open): initialize last_focus_time,
	add a comment about brokenness of trying to set intial focus
	window, (meta_display_set_input_focus_window): new function that
	wraps XSetInputFocus,
	(meta_display_focus_the_no_focus_window): make this function
	closer to a wrapping of XSetInputFocus for the no_focus_window.

	* src/window.c (XSERVER_TIME_IS_LATER): remove this macro in favor
	of the improved one added to display.h

	* src/display.c (meta_display_open):
	* src/window.c (meta_window_focus):
	use meta_display_focus_the_no_focus_window and
	meta_display_set_input_focus instead of XSetInputFocus
2004-12-23 06:44:56 +00:00
Elijah Newren
e46fc46701 Rename meta_window_visible_on_workspace to
2004-12-22  Elijah Newren  <newren@gmail.com>

	* src/core.c (meta_core_user_lower_and_unfocus):
	* src/display.c (meta_display_get_current_tab):
	* src/stack.c (get_default_focus_window, meta_stack_list_windows):
	* src/window.c (set_net_wm_state, meta_window_should_be_showing,
	implement_showing, meta_window_activate,
	meta_window_notify_focus):
	* src/window.h:
	* src/workspace.c (meta_workspace_list_windows):

	Rename meta_window_visible_on_workspace to
	meta_window_located_on_workspace (whether or not the window was
	showing wasn't taken into account, which made "visible"
	confusing).  Fixes #136314.
2004-12-23 00:20:33 +00:00
Elijah Newren
f4f8699d84 Partially resolve the conflicting requirements of windows on multiple
2004-12-22  Elijah Newren  <newren@gmail.com>

	Partially resolve the conflicting requirements of windows on
	multiple workspaces and hidden being a global quantity for windows
	(fixes bug 156182; the remainder of the work is bug 87531 and is a
	libwnck issue)

	* src/display.c (event_callback):
	* src/window.c (meta_window_visible_on_workspace, meta_window_unstick):
	* src/workspace.c (meta_workspace_add_window,
	meta_workspace_contains_window,
	meta_workspace_queue_calc_showing):
	* src/workspace.h:

	Remove meta_workspace_contains_window, replace with simple
	comparison utilizing window->workspace

	* src/place.c (meta_window_place):
	* src/window.c (meta_window_shares_some_workspace):
	* src/window.h:

	Remove meta_window_shares_some_workspace, replace with a simple
	comparison utilizing window->workspace

	* src/session.c (save_state),
	* src/window.c (meta_window_new_with_attrs,
	meta_window_apply_session_info, meta_window_free,
	window_showing_on_its_workspace,
	meta_window_change_workspace_without_transients,
	meta_window_unstick, meta_window_set_current_workspace_hint,
	meta_window_get_workspaces):
	* src/window.h:
	* src/workspace.c (meta_workspace_free, meta_workspace_add_window,
	meta_workspace_remove_window):

	Only one workspace now
2004-12-22 23:52:52 +00:00
Updated ja.po. T.Aihana
85d4c396d0 2004-12-21 Updated ja.po. T.Aihana <aihana@gnome.gr.jp> 2004-12-21 05:30:32 +00:00
Elijah Newren
575bbe7342 post-release version bump to 2.9.3
2004-12-20  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.9.3
2004-12-20 22:08:02 +00:00
Elijah Newren
80ced567d3 Metacity 2.9.2 unstable release
2004-12-20  Elijah Newren  <newren@gmail.com>

	* NEWS: Metacity 2.9.2 unstable release
2004-12-20 22:06:32 +00:00
Elijah Newren
dbbe2854fe re-add the note about Fibonacci sequence micro version numbers that was
2004-12-20  Elijah Newren  <newren@gmail.com>

	* configure.in: re-add the note	about Fibonacci sequence micro
	version numbers that was lost at version 2.8.5
2004-12-20 20:42:21 +00:00
Adam Weinberger
cf74d02ef0 Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2004-12-20 14:29:31 +00:00
Nguyen Thai Ngoc Duy
548638f0fc Updated vi.po 2004-12-20 13:42:26 +00:00
Nguyen Thai Ngoc Duy
cda3904b93 Updated vi.po 2004-12-20 13:15:07 +00:00
Elijah Newren
e7deeb609d Thanks to Baptiste Mille-Mathias for this fix.
2004-12-19  Elijah Newren  <newren@gmail.com>

	Thanks to Baptiste Mille-Mathias for this fix.

	* src/metacity.schemas.in: Add a missing period at the end of a
	sentence.
2004-12-20 05:25:47 +00:00
Elijah Newren
d178f5e330 When snap-moving, don't snap to transients of minimized windows since they
2004-12-19  Elijah Newren  <newren@gmail.com>

	When snap-moving, don't snap to transients of minimized windows
	since they are hidden.  Fixes #157180

	* src/place.c (get_windows_on_same_workspace): make the logic to
	determine hidden windows more thorough by calling
	meta_window_should_be_showing()

	* src/window.c (meta_window_should_be_showing): rename this
	function from window_should_be_showing and also export it,
	(implement_showing):
	s/window_should_be_showing/meta_window_should_be_showing/,
	(idle_calc_showing):
	s/window_should_be_showing/meta_window_should_be_showing/

	* src/window.h (meta_window_should_be_showing): Add this function
	to the list so that it can be used in src/place.c
2004-12-20 02:53:08 +00:00
Elijah Newren
d8d77bd65b Focus the desktop when showing it. Fixes #159257.
2004-12-19  Elijah Newren  <newren@gmail.com>

	Focus the desktop when showing it.  Fixes #159257.

	* src/display.c (event_callback): obtain a timestamp to pass to
	meta_screen_show_desktop

	* src/keybindings.c (handle_toggle_desktop): obtain a timestamp to
	pass to meta_screen_show_desktop

	* src/screen.c (meta_screen_show_desktop): add a timestamp
	parameter, get the most recently used window of type DESKTOP (if
	there is one) and focus it

	* src/screen.h (meta_screen_show_desktop): add a timestamp
	parameter
2004-12-20 02:46:42 +00:00
Elijah Newren
c3a607f999 Thanks to ash@contact.bg for this fix.
2004-12-19  Elijah Newren  <newren@gmail.com>

	Thanks to ash@contact.bg for this fix.

	* po/POTFILES.in: Remove reference to metacity-properties.* files
	since Alex removed them in his 2004-12-07 commit.
2004-12-20 02:41:22 +00:00
Alexander Shopov
1e8fd966b7 Updated Bulgarian translation by Vladimir Petkov <vpetkov@i-space.org>
2004-12-16  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Vladimir Petkov <vpetkov@i-space.org>
2004-12-16 07:37:42 +00:00
Elijah Newren
c654b7c502 post-release version bump to 2.9.2 that I forgot to do last week (oops)
2004-12-13  Elijah Newren  <newren@math.utah.edu>

	* configure.in: post-release version bump to 2.9.2 that I forgot
	to do last week (oops)
2004-12-14 00:26:52 +00:00
Alex Duggan
8235fa831f Remove deprecated capplet from GNOME 2.0
2004-12-07  Alex Duggan  <aldug@astrolinux.com>

	* configure.in:
	* src/tools/Makefile.am:

	Remove deprecated capplet from GNOME 2.0

	* src/tools/metacity-properties.c:
	* src/tools/metacity-properties.desktop.in:
	* src/tools/metacity-properties.glade:
	* src/tools/metacity-properties.png:

	Removed from cvs
2004-12-13 19:00:14 +00:00
Martin Willemoes Hansen
d9f4f54b7d Updated Danish translation.
* da.po: Updated Danish translation.
2004-12-07 13:30:44 +00:00
Elijah Newren
28b7e937d1 Metacity 2.9.1 unstable release
2004-11-01  Elijah Newren  <newren@math.utah.edu>

	* NEWS: Metacity 2.9.1 unstable release
2004-12-06 19:34:39 +00:00
Benjamin Kahn
86ba6115d4 Use a better default application icon. Fixes bug #160373
* src/default_icon.png: Use a better default application
icon.  Fixes bug #160373
2004-12-06 18:55:43 +00:00
Martin Willemoes Hansen
d34fe419b7 Updated Danish translation.
* da.po: Updated Danish translation.
2004-11-23 12:50:02 +00:00
Marco Pesenti Gritti
60789cdec4 Fix build out of src directory. Bug #158325
2004-11-16  Marco Pesenti Gritti  <marco@gnome.org>

        * src/Makefile.am:

        Fix build out of src directory. Bug #158325
2004-11-16 16:30:57 +00:00
Christophe Merlet
73d9932081 Updated French translation. 2004-11-14 09:32:19 +00:00
Žygimantas Beručka
3942bebc1e Updated Lithuanian translation.
2004-11-13  Žygimantas Beručka  <uid0@akl.lt>

	* lt.po: Updated Lithuanian translation.
2004-11-13 10:23:33 +00:00
James Henstridge
bae7135b48 fix so that autoheader is called after my changes. 2004-11-10 10:51:38 +00:00
James Henstridge
bc9e517842 remove intltool stuff on distclean.
2004-11-10  James Henstridge  <james@jamesh.id.au>

	* Makefile.am (DISTCLEANFILES): remove intltool stuff on distclean.

	* src/themes/Makefile.am (uninstall-local): add uninstall rule.

	* src/Makefile.am (libmetacity_private_la_CFLAGS): set this
	variable so that the files shared with metacity get compiled with
	different names.

	* configure.in: use more modern macros in some places, and make
	sure that $ACLOCAL_AMFLAGS is set so that rebuilds work better.

	* autogen.sh (conf_flags): use newer automake.
2004-11-10 07:59:38 +00:00
Vincent Untz
f3743bc494 gnome-panel-screenshot was renamed to gnome-screenshot
2004-11-06  Vincent Untz  <vincent@vuntz.net>

	* src/metacity.schemas.in: gnome-panel-screenshot was renamed to
	gnome-screenshot
2004-11-06 19:43:04 +00:00
Updated ja.po. T.Aihana
122d6ddd35 2004-11-04 Updated ja.po. T.Aihana <aihana@gnome.gr.jp> 2004-11-04 13:13:46 +00:00
Elijah Newren
f45682efbd bump version to 2.9.1
2004-11-01  Elijah Newren  <newren@math.utah.edu>

	* configure.in: bump version to 2.9.1
2004-11-01 15:33:40 +00:00
183 changed files with 90406 additions and 57615 deletions

View File

@@ -15,6 +15,7 @@ ltconfig
ltmain.sh
stamp-h
stamp-h.in
stamp-h1
stamp.h
version.h
config.h.in

3043
ChangeLog

File diff suppressed because it is too large Load Diff

343
HACKING
View File

@@ -1,109 +1,294 @@
Making a release
===
Intro...
To make a release of metacity, do the following:
Window managers have a few ways in which they are significantly different
from other applications. This file, combined with the code overview in
doc/code-overview.txt, should hopefully provide a series of relatively
quick pointers (hopefully only a few minutes each) to some of the places
one can look to orient themselves and get started. Some of this will be
general to window managers on X, much will be specific to Metacity, and
there's probably some information that's common to programs in general but
is nonetheless useful.
- check out a fresh copy from CVS
Overview
Administrative issues
Minimal Building/Testing Environment
Relevant standards and X properties
Debugging and testing
Debugging logs
Adding information to the log
Valgrind
Testing Utilities
Technical gotchas to keep in mind
Other important reading
Extra reading
Ideas for tasks to work on
- increment the version number in configure.in,
see the comment above the version for the next fibonacci number
- update the file NEWS based on the ChangeLog
Administrative issues
Don't commit substantive code in here without asking hp@redhat.com.
Adding translations, no-brainer typo fixes, etc. is fine.
- add a ChangeLog entry containing the version number
you're releasing ("Released 2.5.4" or something)
so people can see which changes were before and after
a given release.
The code could use cleanup in a lot of places, feel free to do so.
- "make distcheck" (DO NOT just "make dist" - pass the check!)
See http://developer.gnome.org/dotplan/for_maintainers.html for
information on how to make a release. The only difference from those
instructions is that the minor version number of a Metacity release
should always be a number from the Fibonacci sequence.
- if make distcheck fails, fix it.
Minimal Building/Testing Environment
You do not need to _install_ a development version of Metacity to
build, run and test it; you can run it from some temporary
directory. Also, you do not need to build all of Gnome in order to
build a development version of Metacity -- odds are, you can build
metacity from CVS without building any other modules.
- once distcheck succeeds, "cvs commit"
As long as you have gtk+ >= 2.6 with your distro, you should be able
to install your distro's development packages (e.g. gtk2-devel,
GConf2-devel, and startup-notification-devel on Fedora) and be ready
to build and test Metacity. Steps to do so:
- if someone else made changes and the commit fails,
you have to "cvs up" and run "make distcheck" again
$ cvs -q -z3 -d :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome \
checkout metacity
$ cd metacity
$ ./autogen.sh --prefix /usr
$ make
$ ./src/metacity --replace
- once the commit succeeds, WITHOUT cvs updating, "cvs tag
METACITY_X_Y_Z" where
X_Y_Z map to version X.Y.Z
Again, note that you do not need to run 'make install'.
- scp the tarball to master.gnome.org
Relevant standards and X properties
There are two documents that describe some basics about how window
managers should behave: the ICCCM (Inter-Client Communication Conventions
Manual) and EWMH (Extended Window Manager Hints). You can find these at
the following locations:
ICCCM - http://tronche.com/gui/x/icccm/
EWMH - :pserver:anoncvs@pdx.freedesktop.org:/cvs
The ICCCM is usually available in RPM or DEB format as well. There is
actually an online version of the EWMH, but it is almost always woefully
out of date. Just get it from cvs with these commands (the backslash
means include the stuff from the next line):
cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/icccm-extensions login
cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/icccm-extensions \
checkout wm-spec
- run install-module on master.gnome.org to install the tarball
on the ftp site
DO NOT GO AND READ THOSE THINGS. THEY ARE REALLY, REALLY BORING.
Misc stuff
===
If you do, you'll probably end up catching up on your sleep instead of
hacking on Metacity. ;-) Instead, just look at the table of contents and
glance at a page or two to get an idea of what's in there. Then only
refer to it if you see something weird in the code and you don't know
what it is but has some funny looking name like you see in one of those
two documents.
Don't commit substantive code in here without asking me,
hp@redhat.com. Adding translations, no-brainer typo fixes, etc. is
fine.
You can refer to the COMPLIANCE file for additional information on these
specifications and Metacity's compliance therewith.
The script src/run-metacity.sh is useful to hack on the window manager.
It runs metacity in an Xnest. e.g.:
CLIENTS=3 ./run-metacity.sh
or
DEBUG=memprof ./run-metacity.sh
or
DEBUG_TEST=1 ./run-metacity-sh
or whatever.
One of the major things those documents cover that are useful to learn
about immediately are X properties. The right way to learn about those,
though, is through hand on experimentation with the xprop command (and
then look up things you find from xprop in those two manuals if you're
curious enough). First, try running
xprop
in a terminal and click on one of the windows on your screen. That gives
you the x properties for that window. Look through them and get a basic
idea of what's there for kicks. Note that you can get rid of some of the
verboseness by grepping out the _NET_WM_ICON stuff, i.e.
xprop | grep -v _NET_WM_ICON
Next, try running
xprop -root
in a terminal. There's all the properties of the root window (which you
can think of as the "main" Xserver window). You can also manually
specify individual windows that you want the properties of with
xprop -id <id>
if you know the id of the window in question. You can get the id of a
given window by either running xwininfo, e.g.
xwininfo | grep "Window id" | cut -f 4 -d ' '
or by looking at the _NET_CLIENT_STACKING property of the root
window. Finally, it can also be useful to add "-spy" (without the
quotes) to the xprop command to get it to continually monitor that
window and report any changes to you.
The tool metacity-message can be used as follows:
metacity-message reload-theme
metacity-message restart
metacity-message enable-keybindings
metacity-message disable-keybindings
Debugging information
Trying to run a window manager under a typical debugger, such as gdb,
unfortunately just doesn't work very well. So, we have to resort to
other methods.
metacity-window-demo is good for trying behavior of various kinds of window
without launching a full desktop.
Debugging logs
src/window.c is where all the guts of the window manager live. This is
basically the only remotely scary file.
First, note that you can start a new version of metacity to replace the
existing one by running
metacity --replace
(which also comes in handy in the form "./src/metacity --replace" when
trying to quickly test a small change while hacking on metacity without
doing a full "make install", though I'm going off topic...) This will
allow you to see any warnings printed at the terminal. Sometimes it's
useful to have these directed to a logfile instead, which you can do by
running
METACITY_USE_LOGFILE=1 metacity --replace
The logfile it uses will be printed in the terminal. Sometimes, it's
useful to get more information than just warnings. You can set
METACITY_VERBOSE to do that, like so:
METACITY_VERBOSE=1 METACITY_USE_LOGFILE=1 metacity --replace
(note that METACITY_VERBOSE=1 can be problematic without
METACITY_USE_LOGFILE=1; avoid it unless running in from something that
won't be managed by the new Metacity--see bug 305091 for more details).
There are also other flags, such as METACITY_DEBUG, most of which I
haven't tried and don't know what they do. Go to the source code
directory and run
grep "METACITY_" * | grep getenv
to find out what the other ones are.
src/frames.c is the GtkWidget that handles drawing window frames.
Adding information to the log
src/core.h defines the interface used by the GTK portion of the window
manager to talk to the other portions. There's some cruft in here
that's unused, since nearly all window operations have moved out of
this file so frameless apps can have window operations.
Since we can't single step with a debugger, we often have to fall back to
the primitive method of getting information we want to know: adding
"print" statements. Metacity has a fairly structured way to do this,
using the functions meta_warning, meta_topic, and meta_verbose. All
three have the same basic format as printf, except that meta_topic also
takes a leading enumeration parameter to specify the type of message
being shown (makes it easier for grepping in a verbose log). You'll find
tons of examples in the source code if you need them; just do a quick
grep or look in most any file. Note that meta_topic and meta_verbose
messages only appear if verbosity is turned on. I tend to frequently add
temporary meta_warning statements (or switch meta_topic or meta_verbose
ones to meta_warning ones) and then undo the changes once I've learned
the info that I needed.
src/ui.h defines the interface the plain Xlib portion of the window
manager uses to talk to the GTK portion.
There is also a meta_print_backtrace (which again is only active if
verbosity is turned on) that can also be useful if you want to learn how
a particular line of code gets called. And, of course, there's always
g_assert if you want to make sure some section isn't executed (or isn't
executed under certain conditions).
Files that include gdk.h or gtk.h are not supposed to include
display.h or window.h or other core files.
Valgrind
Files in the core (display.[hc], window.[hc]) are not supposed to
include gdk.h or gtk.h.
Valgrind is awesome for finding memory leaks or corruption and
uninitialized variables. But I also tend to use it in a non-traditional
way as a partial substitute for a normal debugger: it can provide me with
a stack trace of where metacity is crashing if I made a change that
caused it to do so, which is one of the major uses of debuggers. (And,
what makes it cooler than a debugger is that there will also often be
warnings pinpointing the cause of the crash from either some kind of
simple memory corruption or an uninitialized variable). Sometimes, when
I merely want to know what is calling a particular function I'll just
throw in an "int i; printf("%d\n", i);" just because valgrind will give
me a full stacktrace whenever it sees that uninitialized variable being
used (yes, I could use meta_print_backtrace, but that means I have to
turn verbosity on).
src/theme.c and src/theme-parser.c have the theme system; this is
well-modularized from the rest of the code, since the theme viewer app
links to these files in addition to the WM itself.
To run metacity under valgrind, use options typical for any Gnome
program, such as
valgrind --logfile=metacity.log --tool=memcheck --num-callers=48 \
--leak-check=yes --leak-resolution=high --show-reachable=yes \
./src/metacity --replace
where, again, the backslashes mean to join all the stuff on the following
line with the previous one.
When hacking, remember that you can have multiple screens. The code is
also written to support multiple displays, but this is useless, since
you can just run two copies of the WM. Also, an XKillClient() or
shutdown on any display causes Xlib to exit the app, so it would be
broken. So the multi-display thing is mostly just for code
cleanliness. Multi-screen on the other hand is important for some
people.
However, there is a downside. Things run a little bit slowly, and it
appears that you'll need about 1.5GB of ram, which unfortunately prevents
most people from trying this.
Remember that strings stored in X properties are not in UTF-8, and
they have to end up in UTF-8 before we try putting them through Pango.
Testing Utilities
If you make any X request involving a client window, you have to
meta_error_trap_push() around the call; this is not necessary for
X requests on the frame windows.
src/run-metacity.sh
The script src/run-metacity.sh is useful to hack on the window manager.
It runs metacity in an Xnest. e.g.:
CLIENTS=3 ./run-metacity.sh
or
DEBUG=memprof ./run-metacity.sh
or
DEBUG_TEST=1 ./run-metacity-sh
or whatever.
Remember that not all windows have frames, and window->frame can
be NULL.
metacity-message
The tool metacity-message can be used as follows:
metacity-message reload-theme
metacity-message restart
metacity-message enable-keybindings
metacity-message disable-keybindings
The first of these is useful for testing themes, the second is just
another way (besides the --restart flag to metacity itself) of
restarting metacity, and the third is useful for testing Metacity when
running it under an Xnest (typically, the Metacity under the Xnest
wouldn't get keybinding notifications--making keyboard navigation not
work--but if you disable the keybindings for the global Metacity then
the Metacity under the Xnest can then get those keybinding notifications).
The code could use cleanup in a lot of places, feel free to do so.
metacity-window-demo
metacity-window-demo is good for trying behavior of various kinds
of window without launching a full desktop.
Metacity is ideally a fully ICCCM and EWMH-compliant window manager.
Reading these specifications is a useful first step to understanding
the role of a window manager on an X11 desktop and the standards and
conventions on which X11 desktops are based. Please refer to the
COMPLIANCE file for additional information on these specifications and
metacity's compliance therewith.
Technical gotchas to keep in mind
Files that include gdk.h or gtk.h are not supposed to include
display.h or window.h or other core files. Files in the core
(display.[hc], window.[hc]) are not supposed to include gdk.h or
gtk.h. Reasons:
"Basically you don't want GDK most of the time. It adds
abstractions that cause problems, because they aren't designed to
be used in a WM where we do weird stuff (display grabs, and just
being the WM). At best GDK adds inefficiency, at worst it breaks
things in weird ways where you have to be a GDK guru to figure
them out. Owen also told me that they didn't want to start adding
a lot of hacks to GDK to let a WM use it; we both agreed back in
the mists of time that metacity would only use it for the "UI"
bits as it does.
Having the split in the source code contains and makes very clear
the interface between the WM and GDK/GTK. This keeps people from
introducing extra GDK/GTK usage when it isn't needed or
appropriate. Also, it speeds up the compilation a bit, though this
was perhaps more relevant 5 years ago than it is now.
There was also a very old worry that the GDK stuff might have to
be in a separate process to work right; that turned out to be
untrue. Though who knows what issues the CM will introduce."
Remember that strings stored in X properties are not in UTF-8, and they
have to end up in UTF-8 before we try putting them through Pango.
If you make any X request involving a client window, you have to
meta_error_trap_push() around the call; this is not necessary for X
requests on the frame windows.
Remember that not all windows have frames, and window->frame can be NULL.
Other important reading & where to get started
Extra reading
There are some other important things to read to get oriented as well.
These are:
http://pobox.com/~hp/features.html
rationales.txt
doc/code-overview.txt
It pays to read http://pobox.com/~hp/features.html in order
to understand the philosophy of Metacity.
The rationales.txt file has two things: (1) a list of design choices with
links in the form of bugzilla bugs that discuss the issue, and (2) a list
outstanding bug categories, each of which is tracked by a particular
tracker bug in bugzilla from which you can find several closely related
bug reports.
doc/code-overview.txt provides a fairly good overview of the code,
including coverage of the function of the various files, the main
structures and their relationships, and places to start looking in the
code tailored to general categories of tasks.
Ideas for tasks to work on
There are a variety of things you could work on in the code. You may
have ideas of your own, but in case you don't, let me provide a list of
ideas you could choose from:
If you're ambitious, there's a list of things Havoc made that he'd really
like to see tackled, which you can find at
http://log.ometer.com/2004-05.html. Be sure to double check with someone
to make sure the item is still relevant if you're interested in one of
these. Another place to look for ideas, of course, is bugzilla. One can
just do queries and look for things that look fixable.
However, perhaps the best way of getting ideas of related tasks to work
on, is to look at the second half of the rationales.txt file, which tries
to group bugs by type.

11
MAINTAINERS Normal file
View File

@@ -0,0 +1,11 @@
Currently active maintainers
----------------------------
Havoc Pennington
E-mail: hp@redhat.com
Elijah Newren
E-mail: newren@gmail.com
Søren Sandmann
E-mail: sandmann@redhat.com

View File

@@ -3,3 +3,5 @@ SUBDIRS=src po doc
EXTRA_DIST=HACKING rationales.txt \
intltool-extract.in intltool-merge.in intltool-update.in
DISTCLEANFILES = intltool-extract intltool-merge intltool-update po/stamp-it po/.intltool-merge-cache

957
NEWS
View File

@@ -1,3 +1,952 @@
2.15.2
==
Here's hoping that "third time's a charm." ;-) This release just
fixes the translations-not-included issue. See
http://mail.gnome.org/archives/desktop-devel-list/2006-April/msg00483.html
for more details.
- Use gnome-autogen.sh like most other modules (Rodney)
2.15.1
==
This release just fixes the control-center build (which depends upon
libmetacity-private). Thanks to Vincent for catching the problem.
- Include boxes.h in the includes dir (Elijah) [#339708]
2.15.0
==
Thanks to Thomas Thurman, Elijah Newren, Havoc Pennington, Björn
Lindqvist, Gora Mohanty, Alejandro Andres, Andy Morum, Dan Sanders,
Thomas Andersen, Brian Pepple, and Søren Sandmann for improvements in
this release. (Note that "Thomas" below refers to Thomas Thurman if
last name isn't specified)
- An endless array of compositor updates, not all of which are well
explained in the ChangeLog. ;-) Includes an ability to enable and
disable the compositor at runtime, fixed up wobbling effect and new
explosion effect, special magnification handling, different opacity
for different window types like menus, a way of scaling windows,
handling of foreign displays, improved handling of window
moving/resizing, various code restructuring, special runtime checks
for correct extensions and other compositors, lots of bug fixes,
and possibly other stuff I'm missing or not understanding (Søren)
- Removed "move to another workspace" menu when there are exactly two
workspaces (Thomas) [#151183]
- fix type for compositing_manager schema entry (Elijah) [#335901]
- Port more properties to our async system for code cleanliness and
speed improvements (Havoc, Thomas)
- Lots of code cleanup, even more code cleanup, wow our code was
messy (Björn) [#335177, #337507, #336890, #338359]
- Abstract out the functions for setting/unsetting demands attention
hint and avoid doing it when the window isn't obscured (Thomas)
[#305882]
- Change strings to make them more readable, and more
translatable (Gora) [#335720]
- Reduce compiling warnings -- add a number of casts and change
signedness on a number of variables (Björn) [#336032]
- Fixed broken links in README (Alejandro) [#333303]
- Add a tabbing function, bound to alt-f6 by default, to cycle
through the windows of the current application (Thomas) [#94682]
- Fix the build with --disable-xsync (Andy) [#336605]
- Raise windows on maximize/unmaximize (Dan) [#335076]
- Don't have confirmation windows make applications appear to be
locked when closing via the window list (Dan) [#334899]
- Allow any keybinding pref to be specified either with <foo>, a
string, or <foo>_list, a list of strings, or both (Thomas)
[#164831]
- warn and ignore if transient_for is set to a non-top-level window
(Thomas Andersen) [#335524]
- Use po/LINGUAS for listing supported languages (Brian) [#337951]
Translations
Vladimir Petkov (bg), Jordi Mallach (ca), Miloslav Trmac (cs), Rhys
Jones (cy), Lasse Bang Mikkelsen (da), Frank Arnold (de), Kostas
Papadimas (el), Francisco Javier F. Serrador (es), Ivar Smolin (et), Iñaki
Larrañaga (eu), Farzaneh Sarafraz (fa), Ilkka Tuohela (fi), Ignacio Casal
Quinteiro (gl), Ankit Patel (gu), Rajesh Ranjan (hi), Gabor Kelemen (hu),
Satoru SATOH (ja), Alexander Didebulidze (ka), Žygimantas Beručka (lt),
Kjartan Maraas (nb), Michiel Sikkes (nl), Åsmund Skjæveland (nn), Gora
Mohanty (or), Raphael Higino (pt_BR), Duarte Loreto (pt), Mugurel Tudor (ro),
Leonid Kanter (ru), Steve Murphy (rw), Laurent Dhima (sq), Слободан Д.
Средојевић (sr), Daniel Nylander (sv), Theppitak Karoonboonyanan (th), Maxim
Dziumanenko (uk), Clytie Siddall (vi), Funda Wang (zh_CN)
2.14.3
==
This release just reverts the widely hated new focus behavior of Metacity
2.14.x to the behavior found in 2.12.x. Patch came from Ron Yorston.
See http://blogs.gnome.org/view/newren/2006/04/13/0 and
http://mail.gnome.org/archives/release-team/2006-April/msg00025.html for
more details.
- Add a focus_new_windows gconf key, change the default to 'smart' (2.12
behavior) and add a 'strict' option to get 2.14 behavior. (Ron)
[#326159]
Translations
Vladimir Petkov (bg), Miloslav Trmac (cs), Frank Arnold (de), Francisco
Javier F. Serrador (es), Ilkka Tuohela (fi), Tino Meinen (nl), Åsmund
Skjæveland (nn), Raphael Higino (pt_BR), Daniel Nylander (sv)
2.14.2
==
Thanks to Thomas Thurman, Paolo Borelli, Björn Lindqvist, and
Elijah Newren for fixes in this release.
- Fix constraints bug causing negative width windows and crashes
(Elijah) [#336651]
- Fix window grouping with parent/child windows (Björn) [#336184]
- use g_str_has_prefix instead of a local copy of the function
(Paolo) [#334643]
- Make sure pager can refresh when window is minimized on a different
workspace (Thomas) [#315142]
- Add debugging information for edge resistance (Elijah)
Translations
Vladimir Petkov (bg), tangi.bzh (br), Jordi Mallach (ca), Miloslav
Trmac (cs), Rhys Jones (cy), Lasse Bang Mikkelsen (da), Frank
Arnold (de), Mindu Dorji (dz), Kostas Papadimas (el), Francisco
Javier F. Serrador (es), Ivar Smolin (et), Iñaki Larrañaga
Murgoitio (eu), Elnaz Sarbar (fa), Ilkka Tuohela (fi),
Ignacio Casal Quinteiro (gl), Ankit Patel (gu), Rajesh Ranjan (hi)
Gabor Kelemen (hu), Luca Ferretti (it), Satoru SATOH (ja), Vladimer
Sichinava (ka), Žygimantas Beručka (lt), Kjartan Maraas (nb),
Tino Meinen (nl), Kjartan Maraas (no), Gora Mohanty (or), Gnome PL
Team (pl), Evandro Fernandes Giovanini (pt_BR), Duarte Loreto (pt),
Mugurel Tudor (ro), Leonid Kanter (ru), Laurent Dhima (sq),
Слободан Д. Средојевић (sr), Daniel Nylander (sv), Theppitak
Karoonboonyanan (th), Maxim Dziumanenko (uk), Clytie Siddall (vi),
Funda Wang (zh_CN)
2.14.1
==
The only change since 2.14.0 is to remove the "This is the UNSTABLE
branch" warning from configure for those compiling Metacity from
source.
2.14.0
==
Thanks to Ryan Lortie and Thomas Thurman for fixes in this release.
- Mark the app-running-remotely-window-title string for translation
(Thomas) [#334332]
- Only unmaximise window before freeing if the window is actually
maximised (Ryan) [#333563]
Translations
Jordi Mallach (ca), Frank Arnold (de), Luca Ferretti (it), Evandro
Fernandes Giovanini (pt_BR), Theppitak Karoonboonyanan (th)
2.13.144
==
Thanks to Jens Granseuer, Kristian, Søren Sandmann, Sylvain
Bertrand, and Thomas Thurman for improvements in this release.
- Fix build with gcc 2.95 (Jens) [#331166]
- Compositor improvements [remember, still off by default]: add
unused wobbly (un)minimize animation (Kristian), add support for
turning updates on and off (Søren), use sync counter to make
composited resizing tear free (Søren), add ability to unmanage
the screen (Søren),
- Fix build issue with library search order (Sylvain) [#330695]
- Work around buggy application grouping with transient windows
(Thomas) [#328211]
- Prevent setting cycle_windows to keybindings that won't work.
(Thomas) [#329676]
2.13.89
==
Thanks to Søren Sandmann, Thomas Thurman, Thom May, Akira Tagoh,
Luke Morton, and Philip O'Brien for improvements in this release.
- Compositor improvements [remember that the compositor is still
disabled by default]: New fancy minimize animation that fades in
and out, new debug stuff, various bug fixes (Søren)
- When buggy apps create synthetic button or keypresses without a
timestamp, produce a warning instead of failing an assertion
(Thomas) [#313490]
- Avoid a memory leak when checking which workspace(s) a window is
on (Thomas) [#322059]
- Add a man page for metacity (Thom, Akira, Luke, Philip) [#321279]
- Disable alt-f7 if a window can't be moved, and alt-f8 if it can't
be resized (Thomas) [#328920]
- Allow alt-escape to cancel alt-tabbing, and vice versa (Thomas)
[#141425]
Translations
Miloslav Trmac (cs), Kjartan Maraas (nb), Tino Meinen (nl),
Kjartan Maraas (no), Слободан Д. Средојевић (sr), Funda Wang (zh_CN)
2.13.55
==
Thanks to Dick Marinus, Christian Kirbach, and Elijah Newren for
improvements in this release.
- Add a minimize and none double-click-titlebar-action (Dick)
[#300210]
- Prevent a critical warning crasher when switching themes
(Christian) [#327847]
- Fix some uninitialized value problems (Elijah)
- If the mouse enters a window on a different screen, activate the
default window on the new screen (Elijah) [#319348]
Translations
Jordi Mallach (ca), Adam Weinberger (en_CA), Francisco Javier
F. Serrador (es), Ilkka Tuohela (fi), Ignacio Casal Quinteiro (gl),
Ankit Patel (gu), Kjartan Maraas (nb), Kjartan Maraas (no), Evandro
Fernandes Giovanini (pt_BR), Theppitak Karoonboonyanan (th), Clytie
Siddall (vi), Funda Wang (zh_CN)
2.13.34
==
Thanks to Damien Carbery, Havoc Pennington, Søren Sandmann,
Björn Lindqvist, Kjartan Maraas, Elijah Newren for improvements in
this release.
- manually define HOST_NAME_MAX if not already defined to fix Solaris
compilation issue (Damien, Havoc) [#326745]
- compositor improvements: port to changes in libcm, do it again, fix
unrefing, make minimize animation update again (all done by Søren)
- make sure an outline border is shown even if a window decoration's
width is 0 (Björn) [#98340]
- correctly handle window alt-tab outlines in showing desktop mode
(Björn) [#98340]
- fix lots of tiny issues spotted by the intel compiler (Kjartan)
[#321439]
- prevent rapidly repeated visual bells from hanging metacity
(Elijah) [#322032]
- more careful error handling of values returned by GConf (Elijah)
[#326615]
- fix various initialization and default issues, especially for
running with --disable-gconf. Make --disable-gconf actually work.
(Elijah) [#326661]
- fix some reading-from-free'd-data errors (Søren) [#327575]
- fix an unitialized value problem when in raise-on-click mode
(Søren) [#327572]
- avoid flashing original-sized window when closing a maximized
window (Elijah) [#317254]
- prevent windows from sometimes getting shoved and smashed by
sliding (and possibly auto-hiding) panels (Elijah) [#327822]
Translations
Ilkka Tuohela (fi), Ignacio Casal Quinteiro (gl), Tino Meinen (nl),
Funda Wang (zh_CN)
2.13.21
==
Thanks to Damien Carbery, Ray Strode, Søren Sandmann, Elijah
Newren, Jens Granseuer, and Kyle Ambroff for improvements in this
release.
- Fix Solaris compilation issues (Ray, Damien) [#326281, #326746]
- Merge compositor work from branches to get the beginnings of an openGL
based compositor. Still not ready and thus disabled by default.
(Søren)
- Composite fixes: Only update composite on damage events (Søren), get
non-composite compilation working again (Elijah), Really turn off
draw-in-a-loop (Søren)
- Don't dereference a NULL string (Elijah) [#327013]
- GCC 2.95 fix; remove more C99 style variable initiailizations (Jens)
[#327050]
- Fix accidental overzealous focus holding by the terminal (introduced in
last release) so that windows launched from panel icons, the panel
menu, or global keybindings should get focus now. (Elijah) [#326159]
- If no valid window is found in the MRU list, then set focus to the
desktop window. (Kyle) [#317405]
Translations
Adam Weinberger (en_CA), Francisco Javier F. Serrador (es), Ankit
Patel (gu), Takeshi AIHANA (ja), Theppitak Karoonboonyanan (th),
Clytie Siddall (vi)
2.13.13
==
Thanks to Jens Granseuer, Björn Lindqvist, and Elijah Newren for
improvements in this release.
- Remove C99 style variable initiailization (Jens) [#322622]
- Fix a logic error (Björn) [#322149]
- Plug a few leaks (Elijah) [#309178]
- 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 (Elijah)
[part of #321905]
- Remove the timeout resistance at screen/xinerama edges (Elijah)
[part of #321905]
- Revert to the old edge resistance behavior for keyboard
movement/resizing based resistance (Elijah) [part of #321905]
- Remove the "pull-away" edge resistance (Elijah) [part of #321905]
- Avoid crashing when visual bell is in use and focus window is
closed (Elijah) [#322031]
- Be more strict about what is considered a valid region with partial
struts (Elijah) [#322070]
- Fix reduced resources resize handling for windows with sizing or
resizing constraints (Elijah) [#325774]
- Fix window outline for minimized windows when using alt-esc
(Elijah) [#325092]
- Make the taskbar less flash happy and fix up some related stacking
issues (Elijah) [#326035]
- More thorough handling of source indication (Elijah) [part of #326041]
- 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 bug #326159 for
details, feedback welcome (Elijah) [#326159]
- Add a raise on click option, basically only because all the major
distros are patching it in anyway (though each and every one of
them has bugs in their implementations). (Elijah) [#326156]
Translations
Kjartan Maraas (nb), Kjartan Maraas (no)
2.13.8
==
Thanks to Kang Jeong-Hee and Elijah Newren for improvements in this
release.
- Fix some compilation warnings and issues (Kang)
- Escape the title since it is going to be treated as Markup (Elijah)
[#324846]
- Make the workspace switcher work with dual-head (non-xinerama)
setups (Elijah) [#319423]
Translations
Ilkka Tuohela (fi), Ankit Patel (gu), Kang Joeng-Hee (ko)
2.13.5
==
Thanks to Davyd Madeley, Kjartan Maraas, and Björn Lindqvist for
improvements in this release.
- Make a debugging message actually correspond to the code (Björn)
[#322051]
- Make the wireframe a bit slimmer (Kjartan) [#320051]
- Display hostname in titlebar for remote X clients (Davyd) [#322202]
Translations
Miloslav Trmac (cs), Adam Weinberger (en_CA), Ankit Patel (gu),
Kjartan Maraas (nb), Kjartan Maraas (no), Marcel Telka (sk)
2.13.3
==
This is a special edition release just for gicmo, code-named 'elijah,
please do a release so magic seb can bring it to me'. It fixes a
number of issues due to the major constraints changes found since the
last release.
Thanks to Davyd Madeley and Elijah Newren for improvements in this release.
- Differentiate between movement towards an edge and movement away from
one for edge-resistance. Pick smaller constants for movement away from
an edge (Elijah)
- Use GPOINTER_TO_INT() macro instead of cast to allow compilation on
64-bit architectures without warning (Davyd)
- compute the frame geometry due to maximization only after actually
maximizing (Elijah) [#321902]
- add some developer documentation on updating struts, workareas, regions,
and edges (Elijah)
- When updating the xinerama due to placement, update which
maximal/spanning rect set to use as well (Elijah) [#322068]
- Relax the partially onscreen constraint to allow the titlebar to touch
the bottom panel in order to make the new constraints code function the
same as the old version (Elijah) [#322071]
- Don't allow removing a window from maximized or fullscreened state to
place the titlebar under the top panel (Elijah) [#322075]
Translations
Vladimir Petkov (bg), Francisco Javier F. Serrador (es), Ignacio Casal
Quinteiro (gl), Takeshi AIHANA (ja), Theppitak Karoonboonyanan (th)
2.13.2
==
This release just contains a merge of all the changes on the
constraints_experiments branch.
Thanks to Havoc Pennington for reviewing the gargantuan patch and
suggesting lots of little fixes for making it better, to Rob Adams and
Soeren Sandmann for grilling me on how some of the difficult internals work
-- allowing me to improve the documentation, to Olav Vitters for finding an
easy-to-fix crasher bug in early testing and for repeatedly extending my
deadline for switching from working on Metacity to Bugzilla, to Ray Strode
for finding two crashers and fixing one of them in early testing, to Bryan
Clark for usability advice, to Davyd Madeley and Christian Kellner for
testing Xinerama stuff, to Sebastien Bacher for packaging an early version
and finding some obscure bugs (that I unfortunately still can't duplicate
and will probably still need to fix once I can),
Bugs fixed:
unfiled - constraints.c is overly complicated[1]
unfiled - constraints.c is not robust when all constraints cannot
simultaneously be met (constraints need to be prioritized)
unfiled - keep-titlebar-onscreen constraint is decoration unaware (since
get_outermost_onscreen_positions() forgets to include
decorations)
unfiled - keyboard snap-moving and snap-resizing snap to hidden edges
86644 - resize should have a shift option like move does
109553 - gravity w/ simultaneous move & resize doesn't work
113601 - maximize vertical and horizontal should toggle and be
constrained
122196 - windows show up under vertical panels
122670 - jerky/random resizing of window via keyboard[2]
124582 - keyboard and mouse snap-resizing and snap-moving erroneously
moves the window multidimensionally
136307 - don't allow apps to resize themselves off the screen (*cough*
filechooser *cough*)
142016, 143784 - windows should not span multiple xineramas unless
placed there by the user
143145 - clamp new windows to screensize and force them onscreen, if
they'll fit
144126 - Handle pathological strut lists sanely[3]
149867 - fixed aspect ratio windows are difficult to resize[4]
152898 - make screen edges consistent; allow easy slamming of windows
into the left, right, and bottom edges of the screen too.
154706 - bouncing weirdness at screen edge with keyboard moving or
resizing
156699 - avoid struts when placing windows, if possible (nasty a11y
blocker)
302456 - dragging offscreen too restrictive
304857 - wireframe moving off the top of the screen is misleading
308521 - make uni-directional resizing easier with alt-middle-drag and
prevent the occasional super annoying resize-the-wrong-side(s)
behavior
312007 - snap-resize moves windows with a minimum size constraint
312104 - resizing the top of a window can cause the bottom to grow
319351 - don't instantly snap on mouse-move-snapping, remove
braindeadedness of having order of releasing shift and
releasing button press matter so much
[1] fixed in my opinion, anyway.
[2] Actually, it's not totally fixed--it's just annoying
instead of almost completely unusable. Matthias had a
suggestion that may fix the remainder of the problems (see
http://tinyurl.com/bwzuu).
[3] This bug was originally about not-quite-so-pathological
cases but was left open for the worse cases. The code from
the branch handles the remainder of the cases mentioned in
this bug.
[4] Actually, although it's far better there's still some minor
issues left: a slight drift that's only noticeable after
lots of resizing, and potential problems with partially
onscreen constraints due to not clearing any
fixed_directions flags (aspect ratio windows get resized in
both directions and thus aren't fixed in one of them)
New feature:
81704 - edge resistance for user move and resize operations; in
particular 3 different kinds of resistance are implemented:
Pixel-Distance: window movement is resisted when it aligns with an
edge unless the movement is greater than a threshold number of
pixels
Timeout: window movement past an edge is prevented until a certain
amount of time has elapsed during the operation since the first
request to move it past that edge
Keyboard-Buildup: when moving or resizing with the keyboard, once a
window is aligned with a certain edge it cannot move past until the
correct direction has been pressed enough times (e.g. 2 or 3 times)
Major code changes:
- constraints.c has been rewritten; very few lines of code from the old
version remain. There is a comment near the top of the function
explaining the basics of how the new framework works. A more detailed
explanation can be found in doc/how-constraints-works.txt
- edge-resistance.[ch] are new files implementing edge-resistance.
- boxes.[ch] are new files containing low-level error-prone functions
used heavily in constraints.c and edge-resistance.c, among various
places throughout the code. testboxes.c contains a thorough testsuite
for the boxes.[ch] functions compiled into a program, testboxes.
- meta_window_move_resize_internal() *must* be told the gravity of the
associated operation (if it's just a move operation, the gravity will
be ignored, but for resize and move+resize the correct value is needed)
- the craziness of different values that
meta_window_move_resize_internal() accepts has been documented in a
large comment at the beginning of the function. It may be possible to
clean this up some, but until then things will remain as they were
before--caller beware.
- screen and xinerama usable areas (i.e. places not covered by
e.g. panels) are cached in the workspace now, as are the screen and
xinerama edges. These get updated with the workarea in
src/workspace.c:ensure_work_areas_validated()
Translation
Michiel Sikkes (nl)
2.13.1
==
Thanks to Philip O'Brien, Kjartan Maraas, and Aidan Delaney for
improvements in this release.
- add handling for META_PREF_CURSOR_THEME and META_PREF_CURSOR_SIZE
for more complete debug info (Philip) [#318976]
- Remove possible g_source leak in #ifdef'd out code, in case anyone uses
it in the future (Kjartan) [#320050]
- Changed the 'minimized' field of the MetaTabEntry struct to 'hidden'
(Aidan) [#168455]
Translations
Miloslav Trmac (cs), Francisco Javier F. Serrador (es), Takeshi AIHANA (ja),
Erdal Ronahi (ku), Theppitak Karoonboonyanan (th)
2.13.0
==
Thanks to Björn Lindqvist, Kjartan Maraas, Søren Sandmann,
Elijah Newren, Ross Cohen, and Muktha for improvements in this release
since 2.12.1.
- Mave ancestors come along with the transient when moving the window from
one workspace to another (Björn) [#314977]
- Fix the workspace switcher tabpopup to display the right windows and to
fix the pick-a-new-window-to-focus algorithm in order to not select
windows that aren't showing (Björn) [#170475]
- Fix a couple memory leaks (Kjartan, Søren, Elijah) [#313030]
- Make alt-esc (the "switch between windows immediately" keybinding)
actually show minimized windows too (Ross) [#107072]
- Make alt-esc consistent with alt-tab by leaving stacking of unselected
windows unchanged (Ross) [#314285]
- Clarify the meaning of the auto_raise preference (Elijah) [#312421]
- Fix a crash that occurs when removing some virtual desktops and windows
happen to be on those desktops (Elijah) [#318306]
- Make the unfocussed Simple window border visible with high contrast
inverse theme (Muktha) [#121361]
- Fix edge snapping for multi-screen (non-xinerama) setups (Elijah)
[#319425]
Translations
Vladimir Petkov (bg), Kostas Papadimas (el), Adam Weinberger (en_CA),
Ivar Smolin (et), Michiel Sikkes (nl), Marcel Telka (sk), Funda
Wang (zh_CN)
2.12.1
==
Thanks to Ray Strode, Havoc Pennington, and Elijah Newren for
improvements in this release.
- Truncate ridiculously long titles to avoid crashing or letting the
pager crash (Ray, Havoc, Elijah) [#315070]
- Get the tabbing window outline to work with gtk+ 2.8.4 again
(Elijah) [#317528]
Translations
Mahay Alam Khan (bn), Francisco Javier F. Serrador (es), Ivar Smolin (et),
Iñaki Larrañaga Murgoitio (eu), Luca Ferretti (it), Christian Rose (sv),
Clytie Siddall (vi), Funda Wang (zh_CN)
2.12.0
==
Thanks to Brent Smith for finding the crasher in the release candidate!
- Fix an uninitialized variable problem causing crashes (Brent) [#315000]
Translations
Bryn Salisbury (cy), Hendrik Richter (de), Christophe Merlet (RedFox) (fr),
Ignacio Casal Quinteiro (gl), Norayr Chilingaryan (hy), Young-Ho Cha (ko),
Žygimantas Berucka (lt), Michiel Sikkes (nl), Leonid Kanter (ru), Danilo
Šegan (sr), Baris Cicek (tr)
2.11.3
==
Thanks to Björn Lindqvist and Elijah Newren for improvements in
this release.
- Check for the right versions of glib and gtk+ (Björn) [#314116]
- Avoid obscuring centered-on-desktop windows which are denied focus
(Elijah) [#313234]
Translations
Vladimir Petkov (bg), Jordi Mallach (ca), Kostas Papadimas (el),
Ivar Smolin (et), Gabor Kelemen (hu), Mohammad DAMT (id), Duarte
Loreto (pt), Mugurel Tudor (ro), Laurent Dhima (sq), Maxim
Dziumanenko (uk)
2.11.2
==
Thanks to Elijah Newren, Jaap Haitsma, Ray Strode, and Brent Smith for
improvements in this release.
- Fix an easy to trigger crasher in 2.11.1 caused by unneeded
debugging spew (Elijah) [#311819]
- Make sure that Metacity dialogs have icons (Jaap) [#309876]
- Fix an infinite restacking flicker loop in sloppy and mouse focus
with fullscreen windows (Elijah) [#311400]
- Change default theme from Simple to Clearlooks (Elijah)
- Vastly improve the behavior of keyboard move/resize and edge
snapping (Ray) [#310888]
- Remove a duplicate string (Brent) [#309774]
Translations
Yuval Tanny (he), Gnome PL Team (pl), Raphael Higino (pt_BR),
Chao-Hsiung Liao (zh_TW)
2.11.1
==
Thanks to Elijah Newren, Ken Harris, Matthias Clasen, Christian
Persch, and Billy Biggs for improvements in this release.
- Fix a miscoloring of parts of the titlebar introduced in the last
unstable release (Elijah) [follow-up to #169982]
- Provide a more lenient threshold for drawing rounded corners (Ken)
[#122065]
- Make the Xcursor changes in the last unstable release effective
(Matthias) [follow-up to #308106]
- Revert the _NET_ACTIVE_WINDOW behavior change made in the 2.9.x
unstable series; activation includes changing a window to the
current workspace again (Elijah) [reversion of #128380]
- Restore original window size if the window was maximized upon
withdrawing it (Elijah, Christian) [#137185]
- Fix a raising bug with a window that has more than one child window
(Elijah, Billy) [part of #307875]
- Try to place windows denied focus near the focus window and fix a
xinerama bug with the placement (Elijah) [part of #307875]
- Avoid modal dialogs being obscured in somewhat pathologically
strange circumstances that Eclipse seems to be good at triggering
(Elijah) [part of #307875]
Translations
Miloslav Trmac (cs), Kostas Papadimas (el), Adam Weinberger (en_CA),
Francisco Javier F. Serrador (es), Ilkka Tuohela (fi), Christophe
Merlet (RedFox) (fr), Ignacio Casal Quinteiro (gl), Ankit
Patel (gu), Yair Hershkovitz (he), Takeshi AIHANA (ja), Kjartan
Maraas (nb), Kjartan Maraas (no), Marcel Telka (sk), Theppitak
Karoonboonyanan (th), Clytie Siddall (vi), Funda Wang (zh_CN)
2.11.0
==
This release contains all fixes up to Metacity 2.10.2 plus some new goodies.
Thanks to Matthias Clasen, Aivars Kalvans, Björn Lindqvist, and
Andrew Johnson for improvements in this release.
- React to cursor theme changes (Matthias) [#308106]
- Plug a small leak with xinerama information (Aivars) [#307884]
- Split up main() into more manageable chunks and make use of GOpt
(Björn) [#305331]
- Speed up vertical gradients (Andrew) [#169982]
Translations
Hendrik Richter (de), Ivar Smolin (et), Ignacio Casal
Quinteiro (gl), Clytie Siddall (vi)
2.10.2
==
Thanks to Billy Biggs, Greg Hudson, Elijah Newren, Ray Strode, Ryan
Lortie, and Soeren Sandmann for improvements in this release.
- Makes metacity a bit faster when dragging windows around (Soeren) [#141813]
- Fix simple memory error, using the address of a local variable as a
hash key (Ryan) [#307209]
- Fix a small leak in the case of a SYNC_COUNTER property value and
HAVE_XSYNC not defined (Ryan) [#307214]
- Cleanup font data when done with it (Ray) [#306720]
- If the window has a modal transient which is being unmanaged, don't
focus it (Elijah) [#305362]
- Make sure window position is calculated correctly for reconfigure
requests when part of the XWindowChanges structure is uninitialized
(Greg) [#305257]
- Add a resize popup when resizing constrained windows (Ray) [#305564]
- Don't accidentally treat maximize vertically as maximize in both
directions (Elijah) [#302204]
- Put all transients of the new window, if any exist, in the
calc_showing queue (Elijah, Billy) [#303284]
Translations
Kostas Papadimas (el), Priit Laes (et), Pauli Virtanen (fi), Ignacio
Casal Quinteiro (gl), Theppitak Karoonboonyanan (th), Canonical
Ltd (xh), Woodman Tuen (zh_TW)
2.10.1
==
This is a stable release to coincide with the release of Gnome 2.10.0.
Thanks to Dan Winship and Lex Hider for fixes in this release.
- Make sure the "Close" button has the focus in the
buggy-session-management-applications-warning dialog instead of the
table (Dan) [#172703]
- add doc/code-overview.txt and doc/how-to-get-focus-right.txt to the
distributed files (Lex) [#170519]
Translations
Adam Weinberger (en_CA), Christopher Orr (en_GB), Elnaz Sarbar (fa),
Gabor Kelemen (hu), Jyotsna Shrestha (ne), Steve Murphy (rw),
Baris Cicek (tr), Canonical Ltd (xh)
2.10.0
==
This is a stable release to coincide with the release of Gnome 2.10.0.
The only difference between this version and 2.9.34 is some
translation updates.
Translations
Vladimir Petkov (bg), Gabor Kelemen (hu), Žygimantas Berucka (lt),
Reinout van Schouwen (nl), Mugurel Tudor (ro), Danilo Šegan (sr),
Woodman Tuen (zh_TW)
2.9.34
==
This is an unstable release to coincide with the release of Gnome
2.10.0 release candidate 1 (2.9.92).
Thanks to Aidan Delaney, Elijah Newren, and Joe Marcus Clarke for
fixes in this release.
- Fix crash that occurs when stupid apps claim that a window is its
own parent (Elijah, Joe) [#168207]
- Prevent the visual bell from changing the focus window (Elijah)
[#123366]
- Make sure that icons in the alt-tab popup are dimmed for all hidden
windows, not just minimized ones (Aidan) [#168455]
Translations
Elnaz Sarbar (fa), Ankit Patel (gu), Luca Ferretti (it),
Reinout van Schouwen (nl), Gnome PL Team (pl),
Alexandre Folle de Menezes (pt_BR)
2.9.21
==
This is an unstable release heading towards Gnome 2.10. Since there
have been an awful lot of fixes since Gnome 2.10 Beta 2, we are hoping
to get an extra week of wider testing of all these changes before hard
code freeze.
Thanks to Aidan Delaney, Crispin Flowerday, Elijah Newren, and Joe
Marcus Clarke for fixes in this release.
- Make sure we get a valid timestamp if one doesn't come with the
_NET_ACTIVE_WINDOW message (Elijah, Crispin) [#166728]
- Avoid sending CurrentTime to our XSetInputFocus wrappers, but
handle it better in case we miss any cases (Elijah) [#166732]
- Remove useless function call (Aidan) [#166730]
- Avoid new windows being obscured by the focus window and thus
possibly lost (Elijah) [#166524]
- Don't unconditionally place not-to-be-focused windows, such as
splashscreens, below the focus window (Elijah) [#167042]
- Raise the ancestor of a window instead of the window itself
(Elijah) [#166894]
- Cover half a dozen issues needed to fix a variety of rare timestamp
bugs (Elijah) [#167358]
- Fix a possible crash on logout (Joe) [#167935]
- Fix an obscure xinerama placement bug with windows that are too
large to fit in the workarea in both dimensions (Elijah) [#166757]
- Ignore all focus and focus-stealing-prevention code in
meta_window_show when not showing the window for the first time
(Elijah) [#167199]
- when receiving a _NET_ACTIVE_WINDOW message, switch to the desktop
where the window is located before activating instead of moving the
window to the current desktop (Elijah) [#128380]
- Handle _NET_CURRENT_DESKTOP messages that come with timestamps
(Elijah) [#161361]
- Handle keynav vs. mousenav in mouse and sloppy focus modes (Elijah)
[#167545]
Translations
Jordi Mallach (ca), Martin Willemoes Hansen (da),
Kostas Papadimas (el), David Lodge (en_GB),
Francisco Javier F. Serrador (es), Tõivo Leedjärv (et),
Christophe Merlet (RedFox) (fr), Takeshi AIHANA (ja),
Young-Ho, Cha (ko), Kjartan Maraas (nb), Michiel Sikkes (nl),
Kjartan Maraas (no), Duarte Loreto (pt), Leonid Kanter (ru),
Marcel Telka (sk), Laurent Dhima (sq), Maxim Dziumanenko (uk)
2.9.13
==
This is an unstable release to coincide with the release of Gnome
2.10.0 Beta 2 (2.9.91).
Thanks to Elijah Newren, Balamurali Viswanathan, Stephane Loeuillet,
Benjamin Kahn, Garrett (LeSage?), Jose Moya, Dave Ahlswede, Arvind
Samptur, John Paul Wallington, Tim Herold, Muktha Narayan, Sinisa
Segvic, Owen Taylor, Crispin Flowerday, "RHEL-3", KWin, and Google for
improvements in this release.
- Refuse to focus a window with a modal transient, and focus the
transient instead (Elijah) [#164716]
- Make sure we get gconf notifications about the terminal command
changing (Balamurali) [#160934]
- Specify encoding of src/metacity.desktop.in (Stephane) [#151850]
- New 48x48 default icon (Benjamin, Garrett) [#160660]
- Add man pages for metacity-window-demo and metacity-theme-viewer
(Jose, Dave) [#143513]
- Fix minimized window display in workspace switcher after relogin
with a saved session (Elijah) [#164677]
- Ignore sticky windows for non-active workspaces (Elijah) [#165259]
- Don't wireframe when accessibility is on, it apparently causes a
desktop wide freeze. (Arvind) [#159538]
- Keep tooltip on screen horizontally for xinerama (John) [#165261]
- Stick and unstick transients with their parent automatically
(Elijah) [#152283]
- Shaded windows should not show up in pagers (Elijah) [#165377]
- Treat splashscreens same as other windows for stacking (Elijah)
[#165243]
- Plug a pair of leaks (Elijah) [#165378]
- Take into account the appropriate list of windows when placing a
new one (Elijah) [#165381]
- Correct misleading and inaccurate wording (Elijah) [#165380]
- Handle xcomposite pkgconfig version regression (Tim) [#149368]
- Make the warn-about-buggy-session-management-apps dialog be sticky
(Elijah) [#164745]
- Fix the problem with fullscreen windows on a different xinerama
monitor not staying on top ("RHEL-3") [#156511]
- Make the unfocussed title bar distinguishable in cases where it
otherwise isn't for the Atlanta, Simple, and Bright themes (Muktha)
[#125291]
- Correct the stacking when returning from fullscreen mode (Elijah)
[#165718]
- Focus parents of dismissed transient windows in preference to the
window that most recently had keyboard focus (Elijah) [#157360]
- Make sure window->border_only is initialized so we don't get random
windows without decorations (Elijah, Sinisa, Owen) [#145131]
- Add period to the end of reduced_resources' description (Dave)
[#165780]
- If activation requests are too old, set the demands_attention hint
instead of actually activating (Elijah, Crispin) [#166395]
- Ignore xconfigurerequest events for stacking when it should be safe
to do so (Elijah, Crispin, KWin, Google) [#166395]
- Set a _METACITY_VERSION property (a utf8 string) on the WM check
window (Elijah) [#165350]
Translations
Vladimir Petkov (bg), Miloslav Trmac (cs), Frank Arnold (de),
Adam Weinberger (en_CA), David Lodge (en_GB),
Francisco Javier F. Serrador (es), Pauli Virtanen (fi),
Young-Ho, Changwoo Ryu (ko), Žygimantas Berucka (lt),
Kjartan Maraas (nb), Kjartan Maraas (no), Duarte Loreto (pt),
Marcel Telka (sk), Christian Rose (sv),
Theppitak Karoonboonyanan (th)
2.9.8
==
This is a brown paper bag release to cover up the crash I introduced
in version 2.9.5. Thanks to Sebastien Bacher and the bleeding edge
Ubuntu users for quickly catching the occasional crash that my fix in
#123576 could cause, and for verifying that the patch I made fixed
this issue (I couldn't duplicate).
- Don't forget to initialize display->grab_old_window_stacking
[#165093]
2.9.5
==
This is an unstable release to coincide with the release of Gnome
2.10.0 Beta 1 (2.9.90).
Thanks to Vincent Noel, Elijah Newren, and John Paul Wallington for
fixes in this release.
- Restore original stacking when aborting an alt-esc window switch
operation (Elijah) [#123576]
- Fix vertical maximization for second screen (John) [#163420]
- Show labels in bold for windows that demand attention (Vincent)
[#164590]
- In the tab task switcher popup, dim the window icon and put its
name between brackets when the window is minimized (Vincent)
[#136666]
- Correct highlighting of windows in workspace switcher popup
(Elijah) [#163450]
Translations
zh_CN (Funda Wang), nb (Kjartan Maraas), nn (Kjartan Maraas), de
(Frank Arnold)
2.9.3
==
This is an unstable release to coincide with the release of Gnome 2.9.4.
Thanks to Leena Gunda, Thomas Fitzsimmons, and mild7 users sourceforge
net, and Elijah Newren for fixes in this release.
- Don't focus the panel on click (Elijah) [#160470, and others]
- Make sure the save session dialog appears focused (Elijah) [#162983]
- Correctly restore size of window when double clicking the titlebar
to unmaximize (Leena) [#161236]
- Install schema data from builddir not srcdir (Thomas) [#161417]
- Provide more documentation to make it easier for people to
contribute to Metacity (Elijah) [#162646]
- Allow users to move the window around immediately after
double-clicking to shade (Elijah) [#90290]
- Focus windows that manually position themselves too (Elijah) [#107347]
- Don't show window menu if all options are invalid (Elijah) [#148915]
- Exclude windows with skip_taskbar hint set from the alt-tab list;
they'll appear in the ctrl-alt-tab list instead. (mild7 users
sourceforge net) [#106249]
- Wrap XSetInputFocus to make display->expected_focus_window more
reliable (Elijah) [#154598]
- Remove conflict between windows on multiple workspaces and hidden
being a global quantity (Elijah) [#156182]
Translations
es (Francisco Javier F. Serrador), sv (Christian Rose), cs (Miloslav
Trmac), ja (Takeshi AIHANA)
2.9.2
==
This is an unstable release to coincide with the release of Gnome 2.9.3.
Thanks to Alex Duggan, ash AT contact bg, Elijah Newren, and Baptiste
Mille-Mathias for fixes in this release.
- Add a missing period at the end of a sentence (Baptiste) [#158210]
- When snap-moving don't snap to hidden windows, such as transients
of minimized windows (Elijah) [#157180]
- Focus the desktop when showing it (Elijah) [#159257]
- Remove deprecated capplet (Alex, ash) [#160753]
Translations
da (Martin Willemoes Hansen), bg (Alexander Shopov), en_CA (Adam
Weinberger)
2.9.1
==
This is an unstable release heading towards Gnome 2.10, released a
little late for Gnome 2.9.2 but there weren't many changes anyway this
time...
Thanks to Benjamin Kahn, Marco Pesenti Gritti, James Henstridge, and
Vincent Untz for fixes/features in this release.
- gnome-panel-screenshot was renamed to gnome-screenshot (Vincent) [#157529]
- Update build stuff (use newer automake, etc.) (James)
- Fix build out of src directory (Marco) [#158325]
- Use a better default application icon (Benjamin) [#160373]
Translations
da (Martin Willemoes Hansen), fr(Christophe Merlet, Baptiste
Mille-Mathias), lt(Žygimantas Berucka), ja(Takeshi AIHANA)
2.9.0
==
@@ -27,7 +976,7 @@ and Vincent Untz for fixes and features in this release.
- Re-enable focus stealing prevention (Elijah)
Translations
es(Francisco Javier F. Serrador), sq(Laurent Dhima), sr(Danilo <EFBFBD>egan),
es(Francisco Javier F. Serrador), sq(Laurent Dhima), sr(Danilo Šegan),
cs(Miloslav Trmac), en_CA(Adam Weinberger), en_GB(David Lodge)
2.8.6
@@ -62,7 +1011,7 @@ Translations
* ar(Abdulaziz Al-Arfaj), cs(Miloslav Trmac), cy(Dafydd Harries),
en_GB(David Lodge), fr(Christophe Merlet (RedFox)),
nn(<EFBFBD>smund Skj<EFBFBD>veland), or(Gora Mohanty),
nn(Åsmund Skjæveland), or(Gora Mohanty),
pr_BR(Gustavo Noronha Silva), ro(Mugurel Tudor),
th(Paisa Seeluangsawat), tr(Baris Cicek), zh_TW(Woodman Tuen)
@@ -100,7 +1049,7 @@ Fixes
Translations
* az(Metin Amiroff), bs(Kemal Sanjta), ca(Jordi Mallach),
el(Kostas Papadimas), es(Francisco Javier F. Serrador),
eu(I<EFBFBD><EFBFBD>aki Larra<EFBFBD><EFBFBD>aga Murgoitio), fi(Pauli Virtanen),
eu(Iñaki Larrañaga Murgoitio), fi(Pauli Virtanen),
nb(Kjartan Maraas), sq(Laurent Dhima), uk(Maxim Dziumanenko)
@@ -128,7 +1077,7 @@ Fixes
Translations
* fi (Pauli Virtanen), ja (Takeshi AIHANA), ko (Young-Ho, Cha),
pl (Gnome PL Team), ru (Dmitry G. Mastrukov), sr (Danilo <EFBFBD>Ł<EFBFBD>egan),
pl (Gnome PL Team), ru (Dmitry G. Mastrukov), sr (Danilo Šegan),
tk (Gurban M. Tewekgeli), zh_CN (Funda Wang)
2.8.2

9
README
View File

@@ -6,9 +6,10 @@ on UNIX keyboards.
The first release of Metacity was version 2.3. Metacity has no need for
your petty hangups about version numbers.
The stable releases so far are 2.4.x, 2.6.x, 2.8.0, 2.8.1, 2.8.1.x, 2.8.5-6
The stable releases so far are 2.4.x, 2.6.x, 2.8.[01], 2.8.1.x, 2.8.5-, 2.10.x,
2.12.x, 2.14.x.
Unstable branches are 2.3.x, 2.5.x, 2.8.2-4, 2.9.x)
Unstable branches are 2.3.x, 2.5.x, 2.8.2-4, 2.9.x, 2.11.x, 2.13.x, 2.15.x
COMPILING METACITY
===
@@ -314,8 +315,8 @@ A: Metacity only stores sizes/positions for apps that are session
archaic than twm - and you should flame them. ;-)
Docs on session management:
ftp://ftp.x.org/pub/R6.4/xc/doc/hardcopy/SM/xsmp.PS.gz
ftp://ftp.x.org:21/pub/R6.4/xc/doc/hardcopy/SM/SMlib.PS.gz
http://www.fifi.org/doc/xspecs/xsmp.txt.gz
http://www.fifi.org/doc/xspecs/SMlib.txt.gz
See also the ICCCM section on SM. For GNOME apps, use the
GnomeClient object. For a simple example of using libSM directly,

View File

@@ -4,153 +4,18 @@
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir
PROJECT=metacity
TEST_TYPE=-f
FILE=src/display.c
PKG_NAME="metacity"
REQUIRED_AUTOMAKE_VERSION=1.7
DIE=0
AUTOMAKE=automake-1.4
ACLOCAL=aclocal-1.4
($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 || {
AUTOMAKE=automake
ACLOCAL=aclocal
(test -f $srcdir/configure.in \
&& test -d $srcdir/src) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level metacity directory"
exit 1
}
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile $PROJECT."
echo "Download the appropriate package for your distribution,"
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
DIE=1
which gnome-autogen.sh || {
echo "You need to install gnome-common from the GNOME CVS"
exit 1
}
($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have automake installed to compile $PROJECT."
echo "Get ftp://sourceware.cygnus.com/pub/automake/automake-1.4.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}
(grep "^AM_PROG_LIBTOOL" configure.in >/dev/null) && {
(libtool --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: You must have \`libtool' installed to compile $PROJECT."
echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}
}
CONFIGURE=configure.in
if grep "^AM_[A-Z0-9_]\{1,\}_GETTEXT" "$CONFIGURE" >/dev/null; then
if grep "sed.*POTFILES" "$CONFIGURE" >/dev/null; then
GETTEXTIZE=""
else
if grep "^AM_GLIB_GNU_GETTEXT" "$CONFIGURE" >/dev/null; then
GETTEXTIZE="glib-gettextize"
GETTEXTIZE_URL="ftp://ftp.gtk.org/pub/gtk/v2.0/glib-2.0.0.tar.gz"
else
GETTEXTIZE="gettextize"
GETTEXTIZE_URL="ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz"
fi
$GETTEXTIZE --version < /dev/null > /dev/null 2>&1
if test $? -ne 0; then
echo
echo "**Error**: You must have \`$GETTEXTIZE' installed to compile $PKG_NAME."
echo "Get $GETTEXTIZE_URL"
echo "(or a newer version if it is available)"
DIE=1
fi
fi
fi
if test "$DIE" -eq 1; then
exit 1
fi
test $TEST_TYPE $FILE || {
echo "You must run this script in the top-level $PROJECT directory"
exit 1
}
if test -z "$*"; then
echo "I am going to run ./configure with no arguments - if you wish "
echo "to pass any to it, please specify them on the $0 command line."
fi
case $CC in
*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;;
esac
for coin in .
do
dr=`dirname $coin`
if test -f $dr/NO-AUTO-GEN; then
echo skipping $dr -- flagged as no auto-gen
else
echo processing $dr
macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin`
( cd $dr
aclocalinclude="$ACLOCAL_FLAGS"
for k in $macrodirs; do
if test -d $k; then
aclocalinclude="$aclocalinclude -I $k"
##else
## echo "**Warning**: No such directory \`$k'. Ignored."
fi
done
if grep "^AM_GLIB_GNU_GETTEXT" configure.in >/dev/null; then
if grep "sed.*POTFILES" configure.in >/dev/null; then
: do nothing -- we still have an old unmodified configure.in
else
echo "Creating $dr/aclocal.m4 ..."
test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
echo "Running glib-gettextize... Ignore non-fatal messages."
echo "no" | glib-gettextize --force --copy
echo "Making $dr/aclocal.m4 writable ..."
test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
fi
fi
if grep "^AC_PROG_INTLTOOL" configure.in >/dev/null; then
echo "Running intltoolize..."
intltoolize --force --copy --automake
fi
if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
echo "Running libtoolize..."
libtoolize --force --copy
fi
echo "Running $ACLOCAL $aclocalinclude ..."
$ACLOCAL $aclocalinclude
if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
echo "Running autoheader..."
autoheader
fi
echo "Running $AUTOMAKE --gnu $am_opt ..."
$AUTOMAKE --add-missing --gnu $am_opt
echo "Running autoconf ..."
autoconf
)
fi
done
conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c
cd "$ORIGDIR"
if test x$NOCONFIGURE = x; then
echo Running $srcdir/configure $conf_flags "$@" ...
$srcdir/configure $conf_flags "$@" \
&& echo Now type \`make\' to compile $PROJECT || exit 1
else
echo Skipping configure process.
fi
USE_GNOME2_MACROS=1 USE_COMMON_DOC_BUILD=yes . gnome-autogen.sh

View File

@@ -1,20 +1,24 @@
AC_PREREQ(2.50)
AC_INIT(src/display.c)
AM_CONFIG_HEADER(config.h)
# Fibonacci sequence for micro version numbering:
# 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987
AC_INIT([metacity], [2.15.2],
[http://bugzilla.gnome.org/enter_bug.cgi?product=metacity])
AM_INIT_AUTOMAKE(metacity, 2.9.0)
AC_CONFIG_SRCDIR(src/display.c)
AC_CONFIG_HEADERS(config.h)
AM_INIT_AUTOMAKE
AM_MAINTAINER_MODE
# Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}")
GETTEXT_PACKAGE=metacity
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Name of default gettext domain])
AM_MAINTAINER_MODE
AC_PROG_INTLTOOL([0.21])
IT_PROG_INTLTOOL([0.34.90])
AC_PROG_CC
AC_ISC_POSIX
AC_HEADER_STDC
@@ -99,51 +103,66 @@ changequote([,])dnl
METACITY_PC_MODULES='gtk+-2.0 >= 2.2.0 pango >= 1.2.0'
AC_ARG_ENABLE(config-dialog, [ --enable-config-dialog enable the config dialog that you need with GNOME 2.0 (obsolete with GNOME 2.2)],,enable_config_dialog=no)
AM_CONDITIONAL(BUILD_CONFIG_DIALOG, test x$enable_config_dialog = xyes)
if test x$enable_config_dialog = xyes; then
AC_DEFINE(BUILD_CONFIG_DIALOG,1,[Build configuration dialog])
fi
AC_ARG_ENABLE(gconf, [ --disable-gconf disable gconf usage, for embedded/size-sensitive non-GNOME builds],,enable_gconf=yes)
AC_ARG_ENABLE(gconf,
AC_HELP_STRING([--disable-gconf],
[disable gconf usage, for embedded/size-sensitive non-GNOME builds]),,
enable_gconf=yes)
if test x$enable_gconf = xyes; then
AC_DEFINE(HAVE_GCONF,1,[Build with gconf support])
METACITY_PC_MODULES="$METACITY_PC_MODULES gconf-2.0 >= 1.2.0"
fi
AC_ARG_ENABLE(verbose-mode, [ --disable-verbose disable metacity's ability to do verbose logging, for embedded/size-sensitive custom builds],,enable_verbose_mode=yes)
AC_ARG_ENABLE(verbose-mode,
AC_HELP_STRING([--disable-verbose],
[disable metacity's ability to do verbose logging, for embedded/size-sensitive custom builds]),,
enable_verbose_mode=yes)
if test x$enable_verbose_mode = xyes; then
AC_DEFINE(WITH_VERBOSE_MODE,1,[Build with verbose mode support])
fi
AC_ARG_ENABLE(sm, [ --disable-sm disable metacity's session management support, for embedded/size-sensitive custom non-GNOME builds],,enable_sm=auto)
AC_ARG_ENABLE(sm,
AC_HELP_STRING([--disable-sm],
[disable metacity's session management support, for embedded/size-sensitive custom non-GNOME builds]),,
enable_sm=auto)
AC_ARG_ENABLE(startup-notification, [ --disable-startup-notification disable metacity's startup notification support, for embedded/size-sensitive custom non-GNOME builds],,enable_startup_notification=auto)
AC_ARG_ENABLE(startup-notification,
AC_HELP_STRING([--disable-startup-notification],
[disable metacity's startup notification support, for embedded/size-sensitive custom non-GNOME builds]),,
enable_startup_notification=auto)
AC_ARG_ENABLE(compositor, [ --disable-compositor disable metacity's compositing manager],,enable_compositor=auto)
AC_ARG_ENABLE(compositor,
AC_HELP_STRING([--disable-compositor],
[disable metacity's compositing manager]),,
enable_compositor=auto)
AC_ARG_ENABLE(xsync, [ --disable-xsync disable metacity's use of the XSync extension],,enable_xsync=auto)
AC_ARG_ENABLE(xsync,
AC_HELP_STRING([--disable-xsync],
[disable metacity's use of the XSync extension]),,
enable_xsync=auto)
AC_ARG_ENABLE(render, [ --disable-render disable metacity's use of the RENDER extension],,enable_render=auto)
AC_ARG_ENABLE(render,
AC_HELP_STRING([--disable-render],
[disable metacity's use of the RENDER extension]),,
enable_render=auto)
AC_ARG_ENABLE(shape, [ --disable-shape disable metacity's use of the shaped window extension],,enable_shape=auto)
AC_ARG_ENABLE(shape,
AC_HELP_STRING([--disable-shape],
[disable metacity's use of the shaped window extension]),,
enable_shape=auto)
## try definining HAVE_BACKTRACE
AC_CHECK_HEADERS(execinfo.h, [AC_CHECK_FUNCS(backtrace)])
ALL_LINGUAS="am ar az be bg bn bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu id is it ja ko lt lv mk ml mn ms nb nl nn no or pa pl pt pt_BR ro ru sl sk sq sr sr@Latn sv ta th tk tr uk vi wa zh_CN zh_TW"
AM_GLIB_GNU_GETTEXT
## here we get the flags we'll actually use
PKG_CHECK_MODULES(METACITY_MESSAGE, gtk+-2.0 >= 2.2.0)
PKG_CHECK_MODULES(METACITY_WINDOW_DEMO, gtk+-2.0 >= 2.2.0)
if test x$enable_config_dialog = xyes; then
PKG_CHECK_MODULES(METACITY_PROPS, gtk+-2.0 >= 2.2.0 gconf-2.0 >= 1.1.9 libglade-2.0)
fi
# GOptionEntry requires glib-2.6.0
PKG_CHECK_MODULES(ALL, glib-2.0 >= 2.6.0)
# gtk_window_set_icon_name requires gtk2+-2.60
PKG_CHECK_MODULES(METACITY_MESSAGE, gtk+-2.0 >= 2.6.0)
PKG_CHECK_MODULES(METACITY_WINDOW_DEMO, gtk+-2.0 >= 2.6.0)
if $PKG_CONFIG --atleast-version 1.2.0 pangoxft; then
echo "pangoxft found"
@@ -181,7 +200,7 @@ fi
## or the render-specific check later
have_xrender=no
XCOMPOSITE_VERSION=1.0
XCOMPOSITE_VERSION=0.2
AC_MSG_CHECKING([Xcomposite >= $XCOMPOSITE_VERSION])
if $PKG_CONFIG --atleast-version $XCOMPOSITE_VERSION xcomposite; then
have_xcomposite=yes
@@ -202,7 +221,7 @@ fi
if test x$have_xcomposite = xyes; then
echo "Building with CompositeExt"
METACITY_PC_MODULES="$METACITY_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage"
METACITY_PC_MODULES="$METACITY_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage cm"
AC_DEFINE(HAVE_COMPOSITE_EXTENSIONS, , [Building with compositing manager support])
## force on render also
@@ -241,6 +260,20 @@ if test x$have_xrender = xyes; then
AC_DEFINE(HAVE_RENDER, , [Building with Render extension support])
fi
AC_MSG_CHECKING([Xcursor])
if $PKG_CONFIG xcursor; then
have_xcursor=yes
else
have_xcursor=no
fi
AC_MSG_RESULT($have_xcursor)
if test x$have_xcursor = xyes; then
echo "Building with Xcursor"
METACITY_PC_MODULES="$METACITY_PC_MODULES xcursor"
AC_DEFINE(HAVE_XCURSOR, , [Building with Xcursor support])
fi
PKG_CHECK_MODULES(METACITY, $METACITY_PC_MODULES)
AC_PATH_XTRA
@@ -251,8 +284,10 @@ ALL_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
metacity_save_cppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
AC_ARG_ENABLE(xinerama,[ --disable-xinerama disable metacity's use of the Xinerama extension],
try_xinerama=$enable_xinerama,try_xinerama=yes)
AC_ARG_ENABLE(xinerama,
AC_HELP_STRING([--disable-xinerama],
[disable metacity's use of the Xinerama extension]),
try_xinerama=$enable_xinerama,try_xinerama=yes)
use_solaris_xinerama=no
use_xfree_xinerama=no
@@ -368,10 +403,10 @@ if test "x$found_xsync" = "xyes"; then
AC_DEFINE(HAVE_XSYNC, , [Have the Xsync extension library])
fi
METACITY_LIBS="$XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $METACITY_LIBS"
METACITY_MESSAGE_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $METACITY_MESSAGE_LIBS"
METACITY_WINDOW_DEMO_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $METACITY_WINDOW_DEMO_LIBS"
METACITY_PROPS_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $METACITY_PROPS_LIBS"
METACITY_LIBS="$METACITY_LIBS $XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
METACITY_MESSAGE_LIBS="$METACITY_MESSAGE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
METACITY_WINDOW_DEMO_LIBS="$METACITY_WINDOW_DEMO_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
METACITY_PROPS_LIBS="$METACITY_PROPS_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
found_sm=no
case "$METACITY_LIBS" in
@@ -427,11 +462,15 @@ if test x$enable_gconf = xyes; then
fi
AM_GCONF_SOURCE_2
else
GCONF_SCHEMAS_INSTALL_TRUE='#'
GCONF_SCHEMAS_INSTALL_FALSE=
fi
AC_OUTPUT([
AC_CONFIG_FILES([
Makefile
doc/Makefile
doc/man/Makefile
src/Makefile
src/wm-tester/Makefile
src/libmetacity-private.pc
@@ -440,6 +479,8 @@ src/themes/Makefile
po/Makefile.in
])
AC_OUTPUT
if test x$enable_gconf = xno; then
echo "*** WARNING WARNING WARNING WARNING WARNING"
echo "*** Building without GConf"
@@ -476,7 +517,7 @@ metacity-$VERSION:
Resize-and-rotate: ${found_randr}
Xsync: ${found_xsync}
Render: ${have_xrender}
Deprecated config dialog: ${enable_config_dialog}
Xcursor: ${have_xcursor}
"
echo "This is the UNSTABLE branch of metacity"
echo "Use 2.8.x (where x > 5) for stable (gnome-2-8 branch in CVS)"
echo "Use 2.14.x for stable (gnome-2-14 branch in CVS)"

View File

@@ -1,2 +1,4 @@
SUBDIRS = man
EXTRA_DIST=theme-format.txt metacity-theme.dtd dialogs.txt
EXTRA_DIST=theme-format.txt metacity-theme.dtd dialogs.txt code-overview.txt \
how-to-get-focus-right.txt

185
doc/code-overview.txt Normal file
View File

@@ -0,0 +1,185 @@
This is not meant to be comprehensive by any means. Rather it is
meant as just a brief overview of some of the bigger structures and
files, with guides for a variety of task categories providing places
to start looking in the code and things to look for.
Overview
Jobs of various files
Major data structures and their relationships
Getting started -- where to look
Jobs of various files
src/window.c is where all the guts of the window manager live. This is
basically the only remotely scary file.
src/frames.c is the GtkWidget that handles drawing window frames.
src/core.h defines the interface used by the GTK portion of the window
manager to talk to the other portions. There's some cruft in here that's
unused, since nearly all window operations have moved out of this file so
frameless apps can have window operations.
src/ui.h defines the interface the plain Xlib portion of the window
manager uses to talk to the GTK portion.
src/theme.c and src/theme-parser.c have the theme system; this is
well-modularized from the rest of the code, since the theme viewer app
links to these files in addition to the WM itself.
Major data structures and their relationships
Major structs have a "Meta" prefix, thus MetaDisplay, MetaScreen,
MetaWindow, etc. This serves as a way of namespacing in C. It also has
the side effect of avoiding conflicts with common names that X already
uses such as Display, Screen, Window, etc. Note that when I refer to a
display below, I'm meaning a MetaDisplay and not a Display.
Don't confuse displays and screens. While Metacity can run with multiple
displays, it is kind of useless since you might as well just run two
copies of Metacity. However, having multiple screens per display is
useful and increasingly common (known as "multiscreen" and "xinerama"
setups, where users make use of more than one monitor). You should
basically think of a display as a combination of one or more monitors
with a single keyboard (...and usually only one mouse).
There is also a significant difference between multiscreen and xinerama
as well. Basically, each MetaScreen is a root window (root node in the
tree of windows). With Xinerama, a single root window appears to span
multiple monitors, whereas with multiscreen a root window is confined to
a single monitor. To re-emphasize the distinction between a display and
a screen, the pointer and keyboard are shared between all root windows
for a given display.
The display keeps track of a lot of various global quantities, but in
particular has a compositor and a list (GList) of screens.
A compositor is an opaque structure (only defined in compositor.c),
meaning that you'll only reference the API for it. It handles (or will
handle) cool stuff with the new X extensions, such as smooth resizing and
alpha transparency.
A screen keeps track of a number of quantities as well, in particular a
stack and a list of workspaces.
A stack is basically a list of windows, and the depth order they have
relative to each other (which thus determines which windows are on top
and which are obscured).
A workspace mostly contains a list of windows for the workspace, but also
has a few other quantities as well (a list of struts which are areas
where windows should not be placed and an mru_list or "most recently used
window list").
A window has a huge list of quantities for keeping track of things about
a window on the screen. (We want to avoid making this list larger
because the memory for all these quantities is per window.) One item in
particular that a window has, though, is a frame.
A frame is the decorations that surround the window (i.e. the titlebar and
the minimize and close buttons and the part that you can use to resize),
and contains a handful of variables related to that, but no other major
structures.
Getting started -- where to look
Getting started on developing free software projects can often be like
being dropped off in a town that is unknown to you and being told to make
a map, when various road and building signs are missing or fading. To
try to alleviate that initial difficulty in orientation, below I list a
variety of general task categories with file, function, variable, and x
property names that may be useful to fixing bugs or writing features that
fall within that category.
First, though, it's useful to note that most event and message passing
goes through display.c:event_callback(), so that's often a good place to
start reading for general familiarity with the code (actually, I'd
suggest skipping down to the first switch statement within that
function). Of course, not all events go through that function, as there
are a few other places that handle events too such as frames.c.
Anyway, without further ado, here are the categories and (hopefully)
useful things to look at for each:
Focus issues (i.e. issues with which window is active):
doc/how-to-get-focus-right.txt
meta_workspace_focus_default_window
_NET_ACTIVE_WINDOW
_NET_WM_USER_TIME
meta_window_focus
meta_display_(set_input|focus_the_no)_focus_window
XSetInputFocus (only for purposes of understanding how X focus/input works)
CurrentTime (mostly, you should just think "Bad; don't use it")
Compositor stuff (X extension for eye candy like transparency):
compositor.c
The luminocity module in CVS
Window depth (i.e. stacking or lowering/raising) issues:
stack.c
_NET_CLIENT_LIST_STACKING
transient_for
WM_TRANSIENT_FOR
meta_window_(raise|lower)
_NET_WM_WINDOW_TYPE
_NET_WM_MOUSE_ACTION/_NET_WM_TAKE_ACTIVITY? (aren't yet in EWMH)
Window placement issues:
place.c
constraints.c
_NET_WM_STRUT
WM_SIZE_HINTS
Moving and resizing issues:
constraints.c
update_move
update_resize
meta_window_handle_mouse_grab_op_event
_NET_MOVERESIZE_WINDOW
_NET_WM_STRUT
Drag and drop issues:
the XDND protocol (see http://www.newplanetsoftware.com/xdnd/ and
http://freedesktop.org/Standards/XDND)
_NET_WM_MOUSE_ACTION/_NET_WM_TAKE_ACTIVITY (aren't yet in EWMH)
A general pointer: what causes the difficulty here is that when the
application receives a mouse click to start a drag, it does a grab
so that the window manager doesn't get any further events; thus
correcting things require standards so that applications and window
managers can collaborate correctly
Theme issues: ???
doc/theme-format.txt
theme.c
theme-parser.c
(ui.c, core.c, frames.c, frame.c? I dunno...)
Session management issues: ???
session.c
http://www.x.org/X11R6.8.1/doc/SM/xsmp.pdf ?
http://www.x.org/X11R6.8.1/doc/SM/SMlib.pdf ?
meta_window_apply_session_info
Tasklist and Workspace switcher issues:
window-props.c
various functions in screen.c (especially ones using XChangeProperty)
xprops.c
The libwnck module in cvs
meta_window_client_message
Lots of the EWMH
Window and workspace selection/changing issues:
tabpopup.c
keybindings.c, functions: *_workspace*, *_tab_*
meta_screen_ensure_*_popup
display.c, functions: *_tab*
Key and mouse binding actions:
keybindings.c
meta_frames_button_(press|release)_event
display.c: event_callback, but only the (Key|Button)_(Press|Release) cases
Xinerama and multiscreen: ???
In general, just search for Xinerama, but in particular see
screen.c
window.c
place.c
constraints.c

View File

@@ -0,0 +1,283 @@
File contents:
Basic Ideas
Important points to remember
Explanation of fields in the ConstraintInfo struct
Gory details of resize_gravity vs. fixed_directions
IMPORTANT NOTE: There's a big comment at the top of constraints.c
explaining how to add extra constraints or tweak others. Read it. I put
that information there because it may be enough information by itself for
people to hack on constraints.c. I won't duplicate that information in
this file; this file is for deeper details.
---------------------------------------------------------------------------
Basic Ideas
---------------------------------------------------------------------------
There are a couple basic ideas behind how this constraints.c code works and
why it works that way:
1) Split the low-level error-prone operations into a special file
2) Add robustness by prioritizing constraints
3) Make use of a minimal spanning set of rectangles for the
"onscreen region" (screen minus struts).
4) Constraints can be user-action vs app-action oriented
5) Avoid over-complification ;-)
Some more details explaining these basic ideas:
1) Split tedious operations out
boxes.[ch] have been added which contain many common, tedious, and
error-prone operations. I find that this separation helps a lot for
managing the complexity and ensuring that things work correctly.
Also, note that testboxes.c thoroughly tests all functionality in
boxes.[ch] and a testboxes program is automatically compiled.
Note that functions have also been added to this file to handle some
of the tedium necessary for edge resistance as well.
2) Prioritize constraints
In the old code, if each and every constraint could not be
simultaneously satisfied, then it would result in some
difficult-to-predict set of constraints being violated. This was
because constraints were applied in order, with the possibility for
each making changes that violated previous constraints, with no
checking done at the end.
Now, all constraints have an associated priority, defined in the
ConstraintPriority enum near the top of constraints.c. The
constraints are all applied, and then are all checked; if not all are
satisfied then the least important constraints are dropped and the
process is repeated. This ensures that the most important constraints
are satisfied.
A special note to make here is that if any one given constraint is
impossible to satisfy even individually (e.g. if minimum size hints
specify a larger window than the screen size, making the
fully-onscreen constraint impossible to satisfy) then we treat the
constraint as being satisfied. This sounds counter-intuitive, but the
idea is that we want to satisfy as many constraints as possible and if
we treat it as a violation then all constraints with a lesser priority
also get dropped along with the impossible to satisfy one.
3) Using maximal/spanning rectangles
The constraints rely heavily on something I call spanning rectangles
(which Soeren referred to as maximal rectangles, a name which I think
I like better but I don't want to go change all the code now). These
spanning rectangles have the property that a window will fit on the
screen if and only if it fits within at least one of the rectangles.
Soeren had an alternative way of describing these rectangles, namely
that they were rectangles with the property that if you made any of
them larger in any direction, they would overlap with struts or be
offscreen (with the implicit assumption that there are enough of these
rectangles that combined they cover all relevant parts of the screen).
Note that, by necessity, these spanning/maximal rectangles will often
overlap each other.
Such a list makes it relatively easy to define operations like
window-is-onscreen or clamp-window-to-region or
shove-window-into-region. Since we have a on-single-xinerama
constraint in addition to the onscreen constraint(s), we cache
number_xineramas + 1 of these lists in the workspace. These lists
then only need to be updated whenever the workarea is (e.g. when strut
list change or screen or xinerama size changes).
4) Constraints can be user-action vs app-action oriented
Such differentiation requires special care for the constraints to be
consistent; e.g. if the user does something and one constraint
applies, then the app does something you have to be careful that the
constraint on the app action doesn't result in some jarring motion.
In particular, the constraints currently allow offscreen movement or
resizing for user actions only. The way consistency is handled is
that at the end of the constraints, update_onscreen_requirements()
checks to see if the window is offscreen or split across xineramas and
updates window->require_fully_onscreen and
window->require_on_single_xinerama appropriately.
5) Avoid over-complification
The previous code tried to reform the constraints into terms of a
single variable. This made the code rather difficult to
understand. ("This is a rather complicated fix for an obscure bug
that happened when resizing a window and encountering a constraint
such as the top edge of the screen.") It also failed, even on the
very example for which it used as justification for the complexity
(bug 312104 -- when keyboard resizing the top of the window,
Metacity extends the bottom once the titlebar hits the top panel),
though the reason why it failed is somewhat mysterious as it should
have worked. Further, it didn't really reform the constraints in
terms of a single variable -- there was both an x_move_delta and an
x_resize_delta, and the existence of both caused bug 109553
(gravity with simultaneous move and resize doesn't work)
---------------------------------------------------------------------------
Important points to remember
---------------------------------------------------------------------------
- Inner vs Outer window
Note that because of how configure requests work and
meta_window_move_resize_internal() and friends are set up, that the
rectangles passed to meta_window_constrain() are with respect to inner
window positions instead of outer window positions (meaning that window
manager decorations are not included in the position/size). For the
constraints that need to be enforced with respect to outer window
positions, you'll need to make use of the extend_by_frame() and
unextend_by_frame() functions.
- meta_window_move_resize_internal() accepts a really hairy set of
inputs. See the huge comment at the beginning of that function.
constraints gets screwed up if that function can't sanitize the input,
so be very careful about that. It used to be pretty busted.
---------------------------------------------------------------------------
Explanation of fields in the ConstraintInfo strut
---------------------------------------------------------------------------
As of the time of this writing, ConstraintInfo had the following fields:
orig
current
fgeom
action_type
is_user_action
resize_gravity
fixed_directions
work_area_xinerama
entire_xinerama
usable_screen_region
usable_xinerama_region
A brief description of each and/or pointers to more information are found
below:
orig
The previous position and size of the window, ignoring any window
decorations
current
The requested position and size of the window, ignoring any window
decorations. This rectangle gets modified by the various constraints
to specify the allowed position closest to the requested position.
fgeom
The geometry of the window frame (i.e. "decorations"), if it exists.
Otherwise, it's a dummy 0-size frame for convenience (i.e. this pointer
is guaranteed to be non-NULL so you don't have to do the stupid check).
action_type
Whether the action being constrained is a move, resize, or a combined
move and resize. Some constraints can run faster with this information
(e.g. constraining size increment hints or min size hints don't need to
do anything for pure move operations). This may also be used for
providing slightly different behavior (e.g. clip-to-region instead of
shove-into-region for resize vs. moving operations), but doesn't
currently have a lot of use for this.
is_user_action
Used to determine whether the action being constrained is a user
action. If so, certain parts of the constraint may be relaxed. Note
that this requires care to get right; see item 4 of the basic ideas
section for more details.
resize_gravity
The gravity used in the resize operation, used in order to make sure
windows are resized correctly if constraints specify that their size
must be modified. Explained further in the resize_gravity
vs. fixed_directions section.
fixed_directions
There may be multiple solutions to shoving a window back onscreen.
Typically, the shortest distance used is the solution picked, but if
e.g. an application only moved its window in a single direction, it's
more desirable that the window is shoved back in that direction than in
a different one. fixed_directions facilitates that. Explained further
in the resize_gravity vs. fixed_directions section.
work_area_xinerama
This region is defined in the workspace and just cached here for
convenience. It is basically the area obtained by taking the current
xinerama, treating all partial struts as full struts, and then
subtracting all struts from the current xinerama region. Useful
e.g. for enforcing maximization constraints.
entire_xinerama
Just a cache of the rectangle corresponding to the entire current
xinerama, including struts. Useful e.g. for enforcing fullscreen
constraints.
usable_screen_region
The set of maximal/spanning rectangles for the entire screen; this
region doesn't overlap with any struts and helps to enforce
e.g. onscreen constraints.
usable_xinerama_region
The set of maximal/spanning rectangles for the current xinerama; this
region doesn't overlap with any struts on the xinerama and helps to
enforce e.g. the on-single-xinerama constraint.
---------------------------------------------------------------------------
Gory details of resize_gravity vs. fixed_directions
---------------------------------------------------------------------------
Note that although resize_gravity and fixed_directions look similar, they
are used for different purposes:
- resize_gravity is only for resize operations and is used for
constraints unrelated to keeping a window within a certain region
- fixed_directions is for both move and resize operations and is
specifically for keeping a window within a specified region.
Examples of where each are used:
- If a window is simultaneously moved and resized to the southeast corner
with SouthEastGravity, but it turns out that the window was sized to
something smaller than the minimum size hint, then the size_hints
constraint should resize the window using the resize_gravity to ensure
that the southeast corner doesn't move.
- If an application resizes itself so that it grows downward only (which
I note could be using any of three different gravities, most likely
NorthWest), and happens to put the southeast part of the window under a
partial strut, then the window needs to be forced back on screen.
(Yes, shoved onscreen and not clipped; see bug 136307). It may be the
case that moving the window to the left results in less movement of the
window than moving the window up, which, in the absence of fixed
directions would cause us to chose moving to the left. But since the
user knows that only the height of the window is changing, they would
find moving to the left weird (especially if this were a dialog that
had been centered on its parent). It'd be better to shove the window
upwards so we make sure to keep the left and right sides fixed in this
case. Note that moving the window upwards (or leftwards) is probably
totally against the gravity in this case; but that's okay because
gravity typically assumes there's more than enough onscreen space for
the resize and we only override the gravity when that assumption is
wrong.
For the paranoid, a fixed directions might give an impossible to fulfill
constraint (I don't think that's true currently in the code, but I haven't
thought it through in a while). If this ever becomes a problem, it should
be relatively simple to throw out the fixed directions when this happens
and rerun the constraint. Of course, it might be better to rethink things
to just avoid such a problem.
The nitty gritty of what gets fixed:
User move:
in x direction - y direction fixed
in y direction - x direction fixed
in both dirs. - neither direction fixed
User resize: (note that for clipping, only 1 side ever changed)
in x direction - y direction fixed (technically opposite x side fixed too)
in y direction - x direction fixed (technically opposite y side fixed too)
in both dirs. - neither direction fixed
App move:
in x direction - y direction fixed
in y direction - x direction fixed
in both dirs. - neither direction fixed
App resize
in x direction - y direction fixed
in y direction - x direction fixed
in 2 parallel directions (center side gravity) - other dir. fixed
in 2 orthogonal directions (corner gravity) - neither dir. fixed
in 3 or 4 directions (a center-like gravity) - neither dir. fixed
Move & resize
Treat like resize case though this will usually mean all four sides
change and result in neither direction being fixed
Note that in all cases, if neither direction moves it is likely do to a
change in struts and thus neither direction should be fixed despite the
lack of movement.

View File

@@ -37,6 +37,14 @@ Focus method Behavior
mouse Focus the window containing the pointer if there is one,
otherwise focus the designated "no_focus_window".
Note that "most recently used window", as used here, has a slightly
different connotation than "most recent to have keyboard focus". This
is because when a user activates a window that is a transient, its
ancestor(s) should be considered to be more recently used than other
windows that have had the keyboard focus more recently. (See bug
157360; this may mean that the alt-tab order should also change
simultaneously, although the current implementation does not do that.)
Also, sometimes a new window will be mapped (e.g. unminimizing a
window or launching a new application). Most users want to interact
with new windows right away, so these should typically be focused.
@@ -71,14 +79,35 @@ to alert the user that there is a window to work with:
Additionally, the user may decide to use the keyboard instead of the mouse
to navigate between windows (referred to as "keynav"). This poses no
problems for click-to-focus (because the same invariant can be
maintained), but for sloppy and mouse focus it means that EnterNotify
and LeaveNotify events should be ignored (they can be generated
without using the mouse, for example, by grabs).
maintained), but for sloppy and mouse focus it requires extra work to
attempt to handle the INHERENTLY CONFLICTING CONSTRAINTS. Metacity does
this by having a mouse_mode boolean used to determine which of the two
sets of invariants holds. This mode is set according to which method was
most recently used to choose a focus window:
1) When receiving EnterNotify/LeaveNotify events from mouse movement, set
mouse_mode to TRUE.
2) When using keynav to choose a focus window (e.g. alt-tab, alt-esc,
move-window-to-workspace keybindings), set mouse_mode to FALSE.
3) When handling events that don't choose a focus window but rather need
a focus_window chosen for them (e.g. switch-to-workspace keybindings),
don't change the mouse_mode and just use the current value.
Note that grabs present a special case since they can generate EnterNotify
and LeaveNotify events without using the mouse, thus these events should be
ignored when the crossing mode is NotifyGrab or NotifyUngrab. THIS
MOUSENAV/KEYNAV MODERATION METHOD IS NOT PERFECT--there are corner cases
when trying to mix-and-match between mousenav and keynav simultaneously
that cause problems; but it appears to be the most reasonable tradeoff and
works well in most cases, especially if the user sticks to just mousenav
for a long time or just keynav for a long time.
Finally, windows of type WM_DOCK or WM_DESKTOP (e.g. the desktop and
the panel) present a special case. For all focus modes, we only focus
these windows if the user clicks on them or uses Ctrl-Alt-Tab to
navigate to them.
the panel) present a special case, at least partially due to the lack
of decorations. For WM_DESKTOP windows, we only focus them if the
user explicitly requests it (e.g. clicks on the window, uses
Ctrl-Alt-Tab to navigate to it, uses a keybinding to show the desktop,
etc.). For WM_DOCK windows, we do not focus unless we receive a very
explicit request (e.g. Ctrl-Alt-Tab or a _NET_ACTIVE_WINDOW message;
not normal clicks).
@@ -91,10 +120,12 @@ To read more about the bugs that inspired these choices:
Also, the EWMH spec, especially the parts relating to _NET_WM_USER_TIME
- Modal vs. non-modal dialogs that get denied focus when mapped
http://bugzilla.gnome.org/show_bug.cgi?id=151996
- Ignoring EnterNotify and LeaveNotify events during keynav
- Mousenav vs. Keynav in mouse and sloppy focus modes
http://bugzilla.gnome.org/show_bug.cgi?id=167545
http://bugzilla.gnome.org/show_bug.cgi?id=101190
- Not focusing panels
http://bugzilla.gnome.org/show_bug.cgi?id=120100 (maybe a different bug?)
http://bugzilla.gnome.org/show_bug.cgi?id=160470
http://bugzilla.gnome.org/show_bug.cgi?id=120100
There were many bugs which had to be fixed to get all the above
working; they helped form these policies and/or show the difficulties
@@ -108,6 +139,7 @@ the ones I'm the most familiar with):
bug 95747 should ignore EnterNotify events with NotifyInferior detail set
bug 97635 sticky windows always keep focus when switching workspaces
bug 102665 a window unminimized from the tasklist should be focused
bug 107347 focus windows that manually position themselves too
bug 108643 focus in MRU order instead of stack order
bug 110970 moving a window to another workspace loses focus
bug 112031 closing a dialog can result in a strange focus window
@@ -115,6 +147,7 @@ the ones I'm the most familiar with):
bug 120100 panel shouldn't be focused after workspace applet usage
bug 123803 need final EnterNotify after workspace switch (see also 124798)
bug 124981 focus clicked window in pager only if on current workspace
bug 125492 catch the xserver unfocusing everything and fix its braindeadedness
bug 128200 focus correct window on libwnck window minimize (see 107681 too)
bug 131582 fix race condition on window minimize/close
bug 133120 wrong window focused when changing workspaces
@@ -135,6 +168,18 @@ the ones I'm the most familiar with):
bug 151990 prevent focus inconsistencies by only providing one focus method
bug 151996 modal dialogs denied focus should not be lowered
bug 152000 fix race on window close followed by rapid mouse movement
bug 152004 ways to handle new window versus mouse invariants
bug 153220 catch the root window getting focus and reset to default window
bug 157360 focus parents of dismissed transient windows in preference to
the window that most recently had focus
bug 159257 focus the desktop when showing it
bug 160470 don't focus panels on click
bug 163450 correct highlighting in workspace switcher popup
bug 164716 refuse to focus a window with a modal transient, and focus
the transient instead
bug 166524 avoid new windows being obscured by the focus window
bug 167545 mousenav vs. keynav in mouse and sloppy focus modes
<a massive heap of bugs relating to focus stealing prevention...>
Addendum on sloppy and mouse focus
@@ -143,7 +188,7 @@ Addendum on sloppy and mouse focus
1) Keynav doesn't maintain the same invariants as mouse navigation
for these focus modes; switching back and forth between
navigation methods, therefore, may appear to have
navigation methods, therefore, may have or appear to have
inconsistencies. Examples:
a) If the user uses Alt-Tab to change the window with focus, then
starts to move the mouse, at that moment the window where the
@@ -169,6 +214,15 @@ Addendum on sloppy and mouse focus
containing the menu) but is one of those hard-to-get-right
keynav and mouse focus mixture cases. (See bug 101190 for
more details)
d) Similar to (c), moving the mouse off the menu doesn't immediately
focus the window that the mouse goes over, due to an application
grab (we couldn't change this and wouldn't want to, but
technically it does break the invariant).
e) If mouse_mode is off and the user does something to cause focus to
change (e.g. switch workspaces, close or minimize a window, etc.)
and simultaneously tries to move the mouse, the choice of which
window to focus is inherently race-y. (You probably can't satisfy
both keynav and mousenav invariants simultaneously...)
2) The sloppy/mouse invariants are often not strictly maintained;
for example, we provide an exception to the invariant for newly
mapped windows. (Most find that not allowing this exception is

2
doc/man/.cvsignore Normal file
View File

@@ -0,0 +1,2 @@
Makefile
Makefile.in

3
doc/man/Makefile.am Normal file
View File

@@ -0,0 +1,3 @@
man_MANS = metacity.1 metacity-theme-viewer.1 metacity-window-demo.1
EXTRA_DIST = $(man_MANS)

View File

@@ -0,0 +1,43 @@
.\" In .TH, FOO should be all caps, SECTION should be 1-8, maybe w/ subsection
.\" other parms are allowed: see man(7), man(1)
.\"
.\" Based on template provided by Tom Christiansen <tchrist@jhereg.perl.com>.
.\"
.TH METACITY-THEME-VIEWER 1 "1 June 2004"
.SH NAME
metacity-theme-viewer \- view metacity themes
.SH SYNOPSIS
.B metacity-theme-viewer
[
.I THEMENAME
]
.SH DESCRIPTION
.\" Putting a newline after each sentence can generate better output.
.B metacity-theme-viewer
allows you to preview any installed Metacity theme.
.PP
When designing a new Metacity theme, you can use
.B metacity-theme-viewer
to measure the performance of a window frame option, and to preview
the option.
.SH OPTIONS
.TP
.I THEMENAME
Name of the theme to be shown (\fIAtlanta\fR by default).
It is case-sensitive.
.SH FILES
.br
.nf
.TP
.I /usr/share/themes
system themes directory
.TP
.I /usr/share/themes/*/metacity-1/metacity-theme-1.xml
theme specification file
.SH AUTHOR
This manual page was written by Jose M. Moya <josem@die.upm.es>, for
the Debian GNU/Linux system (but may be used by others).
.SH "SEE ALSO"
.\" Always quote multiple words for .SH
.BR metacity (1),
.BR metacity-window-demo (1).

View File

@@ -0,0 +1,25 @@
.\" In .TH, FOO should be all caps, SECTION should be 1-8, maybe w/ subsection
.\" other parms are allowed: see man(7), man(1)
.\"
.\" Based on template provided by Tom Christiansen <tchrist@jhereg.perl.com>.
.\"
.TH METACITY-WINDOW-DEMO 1 "1 June 2004"
.SH NAME
metacity-window-demo \- demo of window features
.SH SYNOPSIS
.B metacity-window-demo
.SH DESCRIPTION
.\" Putting a newline after each sentence can generate better output.
This program demonstrates various kinds of windows that window
managers and window manager themes should handle.
.PP
Be sure to tear off the menu and toolbar, those are also a special
kind of window.
.SH AUTHOR
This manual page was written by Jose M. Moya <josem@die.upm.es>, for
the Debian GNU/Linux system (but may be used by others).
.SH "SEE ALSO"
.\" Always quote multiple words for .SH
.BR x-window-manager (1),
.BR metacity (1),
.BR metacity-theme-viewer (1).

60
doc/man/metacity.1 Normal file
View File

@@ -0,0 +1,60 @@
.\" Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH METACITY 1 "11 February 2006"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
METACITY \- minimal GTK2 Window Manager
.SH SYNOPSIS
.B metacity
[\-\-display=\fIDISPLAY\fP] [\-\-replace] [\-\-sm\-client\-id=\fIID\fP] [\-\-sm\-disable] [\-\-sm\-save\-file=\fIFILENAME\fP] [\-\-version] [\-\-help]
.SH DESCRIPTION
This manual page documents briefly
.B metacity\fP.
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
.\" respectively.
\fBmetacity\fP is a minimal X window manager aimed at nontechnical users and is designed to integrate well with the GNOME desktop. \fBmetacity\fP lacks some features that may be expected by traditional UNIX or other technical users; these users may want to investigate other available window managers for use with GNOME or standalone.
.SH OPTIONS
.TP
.B \-\-display=DISPLAY
Connect to X display \fIDISPLAY\fP.
.TP
.B \-\-replace
a window manager which is running is replaced by \fBmetacity\fP. Users are encouraged to change the GNOME window manager by running the new WM with the --replace or -replace option, and subsequently saving the session.
.TP
.B \-\-sm\-client\-id=ID
Specify a session management \fIID\fP.
.TP
.B \-\-sm\-disable
Disable the session management.
.TP
.B \-\-sm\-save\-file=FILENAME
Load a session from \fIFILENAME\fP.
.TP
.B \-\-version
Print the version number.
.TP
.B \-?, \-\-help
Show summary of options.
.SH CONFIGURATION
\fBmetacity\fP configuration can be found under \fIPreferences\fP->\fIWindows\fP and \fIPreferences\fP->\fIKeyboard Shortcuts\fP on the menu-panel. Advanced configuration can be achieved directly through gconf editing (gconf-editor or gconftool-2).
.SH SEE ALSO
.BR metacity-message (1)
.SH AUTHOR
The original manual page was written by Thom May <thom@debian.org>. It was updated by Akira TAGOH <tagoh@debian.org>
for the Debian GNU/Linux system (with permission to use by others), and then updated by Luke Morton and Philip O'Brien
for inclusion in metacity.

View File

@@ -0,0 +1,54 @@
How updates happen for struts, workareas, and screen/xinerama regions/edges:
One of three things causes meta_window_update_struts to be called
(a) initial window map (window.c:meta_window_new_with_attrs())
(b) update of _net_wm_strut* properties (window.c:process_property_notify())
(c) screen resizes (e.g. via xrandr; from screen.c:meta_screen_resize_func())
meta_window_update_struts (MetaWindow *window)
- Gets new list of struts from window properties
- Makes sure window doesn't single-handedly fill the screen
- records new struts if different and calls invalidate_work_areas()
invalidate_work_areas ()
- Calls meta_workspace_invalidate_work_area() for each workspace it's on
meta_workspace_invalidate_work_area()
- Cleans out all strut lists
- queues all windows for resizing
- Calls meta_screen_queue_workarea_recalc (workspace->screen);
meta_screen_queue_workarea_recalc()
- Adds set_work_area_idle_func() as an idle handler
set_work_area_idle_func()
- Calls set_work_area_hint()
set_work_area_hint()
- Calls meta_workspace_get_work_area_all_xineramas()
- Sets _NET_WORKAREA property
meta_workspace_get_work_area_all_xineramas()
- Calls ensure_work_areas_validated()
ensure_work_areas_validated()
- Loops over xineramas
- Loops over windows, then struts:
- Adds struts to list first time through xinerama loop
- Find the amount of the strut on the given xinerama for <dir>_strut
- Just max the amount of the strut with the all_<dir>_strut
- Makes sure there's a non-empty xinerama workarea
- Record the xinerama workarea
- Make sure there's a non-empty screen workarea
- Record the screen workarea
- Cache the spanning rects for the screen and xinerama regions
- Cache the screen and xinerama edges
Alternatively to all the above, if the idle function for the screen
has not yet fired, constraints.c:setup_constraint_info() can call
either workspace.c:meta_workspace_get_onscreen_region() or
workspace.c:meta_workspace_get_onxinerama_region() which in turn
call workspace.c:ensure_work_areas_validated().
Meaning of related functions that might be difficult to tell apart:
screen.c:meta_screen_get_current_xinerama ()
- Finds out which xinerama the mouse is on with an XQueryPointer
window.c:meta_window_get_work_area_current_xinerama()
window.c:meta_window_get_work_area_for_xinerama()
window.c:meta_window_get_work_area_all_xineramas ()
- All three are for finding the intersection of workareas across
multiple workspaces so that placement of windows can be
determined in such a way that they remain in the workarea for
all workspaces that they are on.

File diff suppressed because it is too large Load Diff

71
po/LINGUAS Normal file
View File

@@ -0,0 +1,71 @@
# please keep this list sorted alphabetically
#
am
ar
az
be
bg
bn
bs
ca
cs
cy
da
de
el
en_CA
en_GB
es
et
eu
fa
fi
fr
ga
gl
gu
he
hi
hr
hu
hy
id
is
it
ja
ko
ku
lt
lv
mk
ml
mn
ms
nb
ne
nl
nn
or
pa
pl
pt
pt_BR
ro
ru
rw
sl
sk
sq
sr
sr@Latn
sv
ta
th
tk
tr
uk
vi
wa
xh
zh_CN
zh_TW

View File

@@ -19,8 +19,6 @@ src/session.c
src/theme-parser.c
src/theme-viewer.c
src/theme.c
src/tools/metacity-properties.desktop.in
src/tools/metacity-properties.glade
src/util.c
src/window-props.c
src/window.c

1084
po/am.po

File diff suppressed because it is too large Load Diff

1073
po/ar.po

File diff suppressed because it is too large Load Diff

1073
po/az.po

File diff suppressed because it is too large Load Diff

1096
po/be.po

File diff suppressed because it is too large Load Diff

2346
po/bg.po

File diff suppressed because it is too large Load Diff

1921
po/bn.po

File diff suppressed because it is too large Load Diff

1073
po/bs.po

File diff suppressed because it is too large Load Diff

1938
po/ca.po

File diff suppressed because it is too large Load Diff

1285
po/cs.po

File diff suppressed because it is too large Load Diff

1957
po/cy.po

File diff suppressed because it is too large Load Diff

1215
po/da.po

File diff suppressed because it is too large Load Diff

1196
po/de.po

File diff suppressed because it is too large Load Diff

2296
po/dz.po Normal file

File diff suppressed because it is too large Load Diff

1378
po/el.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

2063
po/es.po

File diff suppressed because it is too large Load Diff

1381
po/et.po

File diff suppressed because it is too large Load Diff

1291
po/eu.po

File diff suppressed because it is too large Load Diff

2476
po/fa.po

File diff suppressed because it is too large Load Diff

1353
po/fi.po

File diff suppressed because it is too large Load Diff

1279
po/fr.po

File diff suppressed because it is too large Load Diff

1075
po/ga.po

File diff suppressed because it is too large Load Diff

2594
po/gl.po

File diff suppressed because it is too large Load Diff

1814
po/gu.po

File diff suppressed because it is too large Load Diff

1160
po/he.po

File diff suppressed because it is too large Load Diff

1295
po/hi.po

File diff suppressed because it is too large Load Diff

1079
po/hr.po

File diff suppressed because it is too large Load Diff

2217
po/hu.po

File diff suppressed because it is too large Load Diff

2853
po/hy.po Normal file

File diff suppressed because it is too large Load Diff

1613
po/id.po

File diff suppressed because it is too large Load Diff

1077
po/is.po

File diff suppressed because it is too large Load Diff

1099
po/it.po

File diff suppressed because it is too large Load Diff

1344
po/ja.po

File diff suppressed because it is too large Load Diff

2718
po/ka.po Normal file

File diff suppressed because it is too large Load Diff

1466
po/ko.po

File diff suppressed because it is too large Load Diff

2668
po/ku.po Normal file

File diff suppressed because it is too large Load Diff

1380
po/lt.po

File diff suppressed because it is too large Load Diff

1097
po/lv.po

File diff suppressed because it is too large Load Diff

1492
po/mk.po

File diff suppressed because it is too large Load Diff

1075
po/ml.po

File diff suppressed because it is too large Load Diff

1079
po/mn.po

File diff suppressed because it is too large Load Diff

1078
po/ms.po

File diff suppressed because it is too large Load Diff

1694
po/nb.po

File diff suppressed because it is too large Load Diff

3133
po/ne.po Normal file

File diff suppressed because it is too large Load Diff

1441
po/nl.po

File diff suppressed because it is too large Load Diff

1580
po/nn.po

File diff suppressed because it is too large Load Diff

3306
po/no.po

File diff suppressed because it is too large Load Diff

1186
po/or.po

File diff suppressed because it is too large Load Diff

1921
po/pa.po

File diff suppressed because it is too large Load Diff

1118
po/pl.po

File diff suppressed because it is too large Load Diff

1203
po/pt.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

2146
po/ro.po

File diff suppressed because it is too large Load Diff

1275
po/ru.po

File diff suppressed because it is too large Load Diff

3240
po/rw.po Normal file

File diff suppressed because it is too large Load Diff

1811
po/sk.po

File diff suppressed because it is too large Load Diff

1102
po/sl.po

File diff suppressed because it is too large Load Diff

1268
po/sq.po

File diff suppressed because it is too large Load Diff

1222
po/sr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3143
po/sv.po

File diff suppressed because it is too large Load Diff

1073
po/ta.po

File diff suppressed because it is too large Load Diff

1609
po/th.po

File diff suppressed because it is too large Load Diff

1063
po/tk.po

File diff suppressed because it is too large Load Diff

1080
po/tr.po

File diff suppressed because it is too large Load Diff

1528
po/uk.po

File diff suppressed because it is too large Load Diff

3107
po/vi.po

File diff suppressed because it is too large Load Diff

1077
po/wa.po

File diff suppressed because it is too large Load Diff

3294
po/xh.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -39,10 +39,16 @@ workspace wrapping:
http://bugzilla.gnome.org/show_bug.cgi?id=89315
raise windows on click:
http://bugzilla.gnome.org/show_bug.cgi?id=326156
http://bugzilla.gnome.org/show_bug.cgi?id=86108
http://bugzilla.gnome.org/show_bug.cgi?id=115072
http://bugzilla.gnome.org/show_bug.cgi?id=115753
Pointer warping:
http://bugzilla.gnome.org/show_bug.cgi?id=134353
http://bugzilla.gnome.org/show_bug.cgi?id=134352
(Think about tasklist & window selector too; this would be a very bad idea)
Tracking bugs
====
@@ -59,3 +65,6 @@ Tracking bugs
moving/resizing (constraints): http://bugzilla.gnome.org/show_bug.cgi?id=155458
window placement: http://bugzilla.gnome.org/show_bug.cgi?id=155460
logout/system-monitor keys: http://bugzilla.gnome.org/show_bug.cgi?id=155462
modal dialogs: http://bugzilla.gnome.org/show_bug.cgi?id=164841
multi-head sans xinerama: http://bugzilla.gnome.org/show_bug.cgi?id=324772
xinerama: http://bugzilla.gnome.org/show_bug.cgi?id=324773

View File

@@ -5,6 +5,7 @@ Makefile
metacity
metacity-theme-viewer
metacity-dialog
testboxes
testgradient
inlinepixbufs.h
metacity.desktop

View File

@@ -13,7 +13,11 @@ metacity_SOURCES= \
async-getprop.h \
bell.h \
bell.c \
boxes.h \
boxes.c \
common.h \
c-screen.c \
c-screen.h \
compositor.c \
compositor.h \
constraints.c \
@@ -25,6 +29,8 @@ metacity_SOURCES= \
display.h \
draw-workspace.c \
draw-workspace.h \
edge-resistance.c \
edge-resistance.h \
effects.c \
effects.h \
errors.c \
@@ -66,6 +72,8 @@ metacity_SOURCES= \
screen.h \
session.c \
session.h \
spring-model.c \
spring-model.h \
stack.c \
stack.h \
tabpopup.c \
@@ -90,7 +98,12 @@ metacity_SOURCES= \
xprops.h \
$(EGGFILES)
# by setting libmetacity_private_la_CFLAGS, the files shared with
# metacity proper will be compiled with different names.
libmetacity_private_la_CFLAGS =
libmetacity_private_la_SOURCES= \
boxes.c \
boxes.h \
gradient.c \
gradient.h \
preview-widget.c \
@@ -109,6 +122,7 @@ libmetacity_private_la_LIBADD = @METACITY_LIBS@
libmetacityincludedir = $(includedir)/metacity-1/metacity-private
libmetacityinclude_HEADERS = \
boxes.h \
common.h \
gradient.h \
preview-widget.h \
@@ -130,11 +144,13 @@ metacity_LDADD=@METACITY_LIBS@ $(EFENCE)
metacity_theme_viewer_LDADD= @METACITY_LIBS@ libmetacity-private.la
metacity_dialog_LDADD=@METACITY_LIBS@
testboxes_SOURCES=util.h util.c boxes.h boxes.c testboxes.c
testgradient_SOURCES=gradient.h gradient.c testgradient.c
testasyncgetprop_SOURCES=async-getprop.h async-getprop.c testasyncgetprop.c
noinst_PROGRAMS=testgradient testasyncgetprop
noinst_PROGRAMS=testboxes testgradient testasyncgetprop
testboxes_LDADD= @METACITY_LIBS@
testgradient_LDADD= @METACITY_LIBS@
testasyncgetprop_LDADD= @METACITY_LIBS@
@@ -152,7 +168,7 @@ schema_DATA = $(schema_in_files:.schemas.in=.schemas)
if GCONF_SCHEMAS_INSTALL
install-data-local:
GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$(schema_DATA)
GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(schema_DATA)
else
install-data-local:
endif
@@ -164,7 +180,7 @@ VARIABLES=default_icon_data $(srcdir)/default_icon.png \
stock_delete_data $(srcdir)/stock_delete.png
BUILT_SOURCES = inlinepixbufs.h
CLEANFILES = inlinepixbufs.h
CLEANFILES = inlinepixbufs.h metacity.desktop metacity.schemas
inlinepixbufs.h: $(IMAGES)
$(GDK_PIXBUF_CSOURCE) --raw --build-list $(VARIABLES) >$(srcdir)/inlinepixbufs.h

View File

@@ -66,7 +66,7 @@ struct _AgGetPropertyTask
unsigned long n_items;
unsigned long bytes_after;
unsigned char *data;
char *data;
Bool have_reply;
};
@@ -316,7 +316,7 @@ async_get_property_handler (Display *dpy,
/* there's padding to word boundary */
netbytes = ALIGN_VALUE (nbytes, 4);
if (nbytes + 1 > 0 &&
(task->data = (unsigned char *) Xmalloc ((unsigned)nbytes + 1)))
(task->data = (char *) Xmalloc ((unsigned)nbytes + 1)))
{
#ifdef DEBUG_SPEW
printf ("%s: already read %d bytes using %ld, more eating %ld more\n",
@@ -334,7 +334,7 @@ async_get_property_handler (Display *dpy,
netbytes = reply->nItems << 1;
netbytes = ALIGN_VALUE (netbytes, 4); /* align to word boundary */
if (nbytes + 1 > 0 &&
(task->data = (unsigned char *) Xmalloc ((unsigned)nbytes + 1)))
(task->data = (char *) Xmalloc ((unsigned)nbytes + 1)))
{
#ifdef DEBUG_SPEW
printf ("%s: already read %d bytes using %ld more, eating %ld more\n",
@@ -351,7 +351,7 @@ async_get_property_handler (Display *dpy,
nbytes = reply->nItems * sizeof (long);
netbytes = reply->nItems << 2; /* wire size is always 32 bits though */
if (nbytes + 1 > 0 &&
(task->data = (unsigned char *) Xmalloc ((unsigned)nbytes + 1)))
(task->data = (char *) Xmalloc ((unsigned)nbytes + 1)))
{
#ifdef DEBUG_SPEW
printf ("%s: already read %d bytes using %ld more, eating %ld more\n",
@@ -363,9 +363,9 @@ async_get_property_handler (Display *dpy,
*/
if (sizeof (long) == 8)
{
unsigned char *netdata;
unsigned char *lptr;
unsigned char *end_lptr;
char *netdata;
char *lptr;
char *end_lptr;
/* Store the 32-bit values in the end of the array */
netdata = task->data + nbytes / 2;
@@ -522,7 +522,6 @@ ag_task_create (Display *dpy,
{
AgGetPropertyTask *task;
xGetPropertyReq *req;
xError error;
AgPerDisplayData *dd;
/* Fire up our request */
@@ -543,8 +542,6 @@ ag_task_create (Display *dpy,
req->longOffset = offset;
req->longLength = length;
error.sequenceNumber = dpy->request;
/* Queue up our async task */
task = Xcalloc (1, sizeof (AgGetPropertyTask));
if (task == NULL)
@@ -587,7 +584,7 @@ ag_task_get_reply_and_free (AgGetPropertyTask *task,
int *actual_format,
unsigned long *nitems,
unsigned long *bytesafter,
unsigned char **prop)
char **prop)
{
Display *dpy;

View File

@@ -45,7 +45,7 @@ Status ag_task_get_reply_and_free (AgGetPropertyTask *task,
int *actual_format,
unsigned long *nitems,
unsigned long *bytesafter,
unsigned char **prop);
char **prop);
Bool ag_task_have_reply (AgGetPropertyTask *task);
Atom ag_task_get_property (AgGetPropertyTask *task);

View File

@@ -2,6 +2,7 @@
/*
* Copyright (C) 2002 Sun Microsystems Inc.
* Copyright (C) 2005, 2006 Elijah Newren
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -29,8 +30,8 @@ meta_bell_flash_screen (MetaDisplay *display,
MetaScreen *screen)
{
Window root = screen->xroot;
int width = screen->width;
int height = screen->height;
int width = screen->rect.width;
int height = screen->rect.height;
if (screen->flash_window == None)
{
@@ -77,7 +78,12 @@ meta_bell_flash_screen (MetaDisplay *display,
XFlush (display->xdisplay);
XSync (display->xdisplay, False);
XUnmapWindow (display->xdisplay, screen->flash_window);
XFreeGC (display->xdisplay, gc);
}
if (meta_prefs_get_focus_mode () != META_FOCUS_MODE_CLICK &&
!display->mouse_mode)
meta_display_increment_focus_sentinel (display);
XFlush (display->xdisplay);
}
@@ -246,5 +252,5 @@ void
meta_bell_notify_frame_destroy (MetaFrame *frame)
{
if (frame->is_flashing)
g_idle_remove_by_data (frame);
g_source_remove_by_funcs_user_data (&g_timeout_funcs, frame);
}

Some files were not shown because too many files have changed in this diff Show More