Commit Graph

1612 Commits

Author SHA1 Message Date
Thomas Thurman
3802f157b6 Put all bitfields together to help with optimisation. Closes #450271 (for
2007-06-23  Thomas Thurman  <thomas@thurman.org.uk>

        * src/window.h (MetaWindow): Put all bitfields together to
        help with optimisation. Closes #450271 (for real this time).


svn path=/trunk/; revision=3281
2007-07-30 13:53:25 +00:00
Matthias Clasen
e98e38d32e Use the correct directory when installing keybindings. (#454055)
2007-07-23  Matthias Clasen  <mclasen@redhat.com>

        * configure.in:
        * src/Makefile.am: Use the correct directory when
        installing keybindings.  (#454055)


svn path=/trunk/; revision=3278
2007-07-24 02:41:33 +00:00
Thomas Thurman
2d74cdc026 post-release bump to 2.19.55.
2007-07-22  Thomas Thurman  <thomas@thurman.org.uk>

        * configure.in: post-release bump to 2.19.55.



svn path=/trunk/; revision=3277
2007-07-24 01:49:22 +00:00
Thomas James Alexander Thurman
7c343fc22d ==================================================
gnome-panel-2.3.1.tar.gz is ready for distribution
==================================================
(for real this time-- previously forgot NEWS in ChangeLog)

svn path=/trunk/; revision=3276
2007-07-24 01:37:22 +00:00
Rob Bradford
618a6b38c3 Fix a bug where the window can be focused without being raised if the
2007-07-22  Rob Bradford  <rob@robster.org.uk>

        Fix a bug where the window can be focused without being raised
        if the maximize is aborted. Fixes #459027.

        * src/frames.c (meta_frames_button_press_event,
        meta_frames_button_release_event): When maximising only focus
        the window once the button press is released.       



svn path=/trunk/; revision=3273
2007-07-23 01:48:17 +00:00
Cosimo Cecchi
e8b016984b Unset fullscreen is an allowed action where relevant. Fixes #449427.
2007-07-22  Cosimo Cecchi  <anarki@lilik.it>

Unset fullscreen is an allowed action where relevant. Fixes #449427.

* src/window.c (set_allowed_actions_hint): Separate FULLSCREEN action from RESIZE action.
                                                                                      

svn path=/trunk/; revision=3272
2007-07-23 00:46:03 +00:00
Yair Hershkovitz
8bbccb91f7 Reverse window buttons and align them to the left for RTL locales. (#92212)
svn path=/trunk/; revision=3271
2007-07-22 06:39:29 +00:00
Thomas Thurman
49e1802c7a Put all bitfields together to help with optimisation. Closes #450271.
2007-06-23  Thomas Thurman  <thomas@thurman.org.uk>

        * src/window.c (MetaWindow): Put all bitfields together to
        help with optimisation. Closes #450271.


svn path=/trunk/; revision=3257
2007-06-23 04:30:49 +00:00
Thomas Thurman
bdd9e28878 Update copyright year because it was five years out of date.
2007-06-18  Thomas Thurman  <thomas@thurman.org.uk>

        * src/main.c (version): Update copyright year because it was
        five years out of date.


svn path=/trunk/; revision=3254
2007-06-18 17:30:28 +00:00
Thomas Thurman
1f05ddcd0e post-release bump to 2.19.34.
2007-06-18  Thomas Thurman  <thomas@thurman.org.uk>

        * configure.in: post-release bump to 2.19.34.


svn path=/trunk/; revision=3250
2007-06-18 12:10:48 +00:00
Thomas Thurman
78604b64bc 2.19.21 release.
2007-06-18  Thomas Thurman  <thomas@thurman.org.uk>

        * NEWS: 2.19.21 release.


svn path=/trunk/; revision=3248
2007-06-18 12:08:43 +00:00
Thomas Thurman
7c4af65ec1 Only open new windows on the current xinerama. Closes #145503, for now.
2007-06-18  Thomas Thurman  <thomas@thurman.org.uk>

        * src/place.c (find_first_fit, meta_window_place): Only open new
        windows on the current xinerama. Closes #145503, for now.


svn path=/trunk/; revision=3247
2007-06-18 11:46:44 +00:00
Thomas Thurman
e6083f64fb return a boolean instead a void, to show whether startup properties were
2007-06-17  Thomas Thurman  <thomas@thurman.org.uk>

        * src/screen.[ch] (meta_screen_apply_startup_properties): return a
        boolean instead a void, to show whether startup properties were
        applied. Also some commenting.
        * src/window-props.c: (reload_net_startup_id): Only activate the
        window if the startup_id was actually changed. Closes #400167.


svn path=/trunk/; revision=3245
2007-06-18 02:37:14 +00:00
Damien Carbery
b996cd03be MetaCloseEffect and MetaFocusEffect, which were empty structs, #ifdeffed
2007-06-16  Damien Carbery  <damien.carbery@sun.com>

        * effects.h: MetaCloseEffect and MetaFocusEffect, which were empty
        structs, #ifdeffed out because they broke the build on Solaris.
        Closes #397296.



svn path=/trunk/; revision=3244
2007-06-17 02:55:07 +00:00
Damien Carbery
36287b9417 make prototype of meta_window_unqueue match implementation. Closes
2007-06-16  Damien Carbery  <damien.carbery@sun.com>

        * window.h: make prototype of meta_window_unqueue match
        implementation. Closes #446535.



svn path=/trunk/; revision=3243
2007-06-17 02:15:07 +00:00
Thomas Thurman
c5c59b1761 post-release bump to 2.19.21.
2007-06-10  Thomas Thurman  <thomas@thurman.org.uk>

        * configure.in: post-release bump to 2.19.21.


svn path=/trunk/; revision=3239
2007-06-11 03:39:20 +00:00
Thomas James Alexander Thurman
5fb20624c4 2.19.13 release
svn path=/trunk/; revision=3237
2007-06-11 03:22:40 +00:00
Thomas Thurman
8f2b9cb4a9 Refactor thrice-duplicated queue code in window.c. Closes #376760.
2007-06-10  Thomas Thurman  <thomas@thurman.org.uk>

        Refactor thrice-duplicated queue code in window.c. Closes #376760.

        * src/window.c (meta_window_queue, meta_window_unqueue):
        New functions.
        * src/window.[ch] (meta_window_unqueue_*, meta_window_queue_*):
        Removed functions.
        * src/window.c (meta_window_new_with_attrs, meta_window_free,
        meta_window_flush_calc_showing, queue_calc_showing_func,
        meta_window_minimize, meta_window_unminimize, meta_window_maximize,
        meta_window_make_fullscreen, meta_window_shade,
        meta_window_unshade, meta_window_move_resize_internal,
        window_stick_impl, window_unstick_impl,
        meta_window_client_message, process_property_notify): Modified to
        use new queueing functions.
        * src/window.c (idle_move_resize, idle_update_icon,
        idle_calc_showing): update to receive queue number from pointer.
        * src/window.h (MetaQueueType): new enum.
        * src/window.h (MetaWindow): *_queued replaced with is_in_queue
        bitfield.
        * src/core.c (meta_core_queue_frame_resize):
        * src/display.c (event_callback,
        meta_display_queue_retheme_all_windows): Using new queueing functions.
        * src/frame.c (meta_window_destroy_frame): Using new queueing functions.
        * src/screen.c (queue_resize, meta_screen_resize_func,
        queue_windows_showing): Using new queueing functions.
        * src/window-props.c (reload_mwm_hints, reload_wm_hints,
        reload_transient_for): Using new queueing functions.
        * src/workspace.c (meta_workspace_add_window,
        meta_workspace_remove_window, meta_workspace_queue_calc_showing,
        meta_workspace_invalidate_work_area): Using new queueing functions.


svn path=/trunk/; revision=3236
2007-06-11 01:15:33 +00:00
Thomas Thuramn
0418146249 added switch_group; closes #444879.
2007-06-09  Thomas Thuramn  <thomas@thurman.org.uk>

        * src/50-metacity-key.xml.in: added switch_group; closes #444879.


svn path=/trunk/; revision=3235
2007-06-09 21:11:57 +00:00
Elijah Newren
6e70013412 Update the raise_on_click description to try to prevent misuses, to
2007-06-08  Elijah Newren  <newren gmail com>

	* src/metacity.schemas.in:
	Update the raise_on_click description to try to prevent misuses,
	to appropriately warn users, and to stop wasting the time of
	application developers.  #445447, #389923

svn path=/trunk/; revision=3234
2007-06-08 15:28:48 +00:00
Thomas Thurman
ff33209e1f changed all tabs to spaces. Removed and replaced with meta_core_get(). New
2007-06-06  Thomas Thurman  <thomas@thurman.org.uk>

        * frames.c, core.[ch]: changed all tabs to spaces.
        * core.[ch] (meta_core_get_client_size, meta_core_window_has_frame,
        meta_core_titlebar_is_onscreen, meta_core_get_client_xwindow,
        meta_core_get_frame_flags, meta_core_get_frame_type,
        meta_core_get_mini_icon, meta_core_get_icon, meta_core_get_position,
        meta_core_get_size, meta_core_get_frame_workspace,
        meta_core_get_frame_extents, meta_core_get_screen_size): Removed
        and replaced with meta_core_get().
        * core.[ch] (meta_core_get): New function.
        * core.h (MetaCoreGetType): New enum.
        * frames.c (meta_frames_ensure_layout, meta_frames_calc_geometry,
        meta_frames_get_geometry, meta_frames_apply_shapes,
        meta_frame_titlebar_event, meta_frames_button_press_event,
        populate_cache, clip_to_screen, meta_frames_paint_to_drawable,
        meta_frames_set_window_background, get_control): Replace use of
        removed functions in ui.c with meta_core_get().

        All this should make things a little faster. Closes #377495.


svn path=/trunk/; revision=3233
2007-06-07 03:31:17 +00:00
Thomas Thurman
98791271e1 Added translators' names from 2.19.8 (sorry, folks: I forgot to save NEWS
2007-06-04  Thomas Thurman  <thomas@thurman.org.uk>                                                                                                                       
                                                                                                                                                                          
        * NEWS: Added translators' names from 2.19.8 (sorry, folks:                                                                                                       
        I forgot to save NEWS with their names in it before shipping.)  


svn path=/trunk/; revision=3232
2007-06-04 19:34:01 +00:00
Thomas James Alexander Thurman
8eac4fa3ce post-release bump to .13
svn path=/trunk/; revision=3231
2007-06-04 19:05:26 +00:00
Thomas James Alexander Thurman
0666e2c038 =================================================
metacity-2.19.8 archives ready for distribution: 
metacity-2.19.8.tar.gz
=================================================


svn path=/trunk/; revision=3229
2007-06-04 19:03:10 +00:00
Thomas Thurman
1004bd8b60 fix label layout for RTL languages. Closes #433400.
2007-06-04  Thomas Thurman  <thomas@thurman.org.uk>

        * src/metaaccellabel.c (meta_accel_label_expose_event): fix
        label layout for RTL languages. Closes #433400.


svn path=/trunk/; revision=3228
2007-06-04 12:50:50 +00:00
Thomas Thurman
45966f581b Pango layout for titlebars should take LTR/RTL-ness from the underlying
2007-06-03  Thomas Thurman  <thomas@thurman.org.uk>

        * src/frames.c (meta_frames_ensure_layout): Pango layout for
        titlebars should take LTR/RTL-ness from the underlying widget
        and not from sniffing the content. Closes #438944.



svn path=/trunk/; revision=3227
2007-06-03 06:26:29 +00:00
Yair Hershkovitz
5194df842c Add support for RTL languages so that alt-tab, etc., go the other way. In
2007-05-25  Yair Hershkovitz  <yairhr@yahoo.com>

        * src/workspace.c (meta_workspace_get_neighbor): Add support
        for RTL languages so that alt-tab, etc., go the other way.
        * src/keybindings.c (handle_activate_menu): In RTL locales,
        pop up the menu on the right-hand side when the menu keystroke
        is pressed.
        * src/fixedtip.c (meta_fixed_tip_show): right-justify tooltips
        in RTL locales.
        * src/menu.c (popup_position_func): popup menus in RTL locales
        are flush with the right-hand side of the window where possible.
        * src/frames.c (show_tip_now, meta_frames_button_press_event):
        tooltips are aligned with the right-hand side of buttons in
        RTL locales.
        * src/ui.[ch] (meta_ui_get_direction, enum MetaUIDirection):
        New content.
        * src/window.c (meta_window_show_menu): "move left" appears above
        "move right" in the window menu for LTR locales, and vice versa
        for RTL locales.

        This is all to close bug #387893.


svn path=/trunk/; revision=3222
2007-05-25 14:36:12 +00:00
Linus Torvalds
1724fa36f1 Add code to configure what happens when the titlebar is right or middle
2007-04-24  Linus Torvalds  <torvalds@woody.linux-foundation.org>

        * src/prefs.[ch] (init_action_meta_prefs, meta_prefs_init,
        action_change_titlebar, change_notify, update_action_titlebar,
        meta_preference_to_string): Add code to configure what happens
        when the titlebar is right or middle clicked as well as
        double clicked.

                                                                                                                                             

svn path=/trunk/; revision=3214
2007-04-25 03:30:17 +00:00
Elijah Newren
c8d33dc86b post-release bump to 2.19.8.
2007-04-23  Elijah Newren  <newren gmail com>

        * configure.in: post-release bump to 2.19.8.

svn path=/trunk/; revision=3211
2007-04-23 23:10:34 +00:00
Elijah Newren
aae4472a63 2.19.5 release.
2007-04-23  Elijah Newren  <newren gmail com>

        * NEWS: 2.19.5 release.

svn path=/trunk/; revision=3209
2007-04-23 23:06:30 +00:00
Elijah Newren
18c9101a4f Fix some uninitialized memory usage errors. #427385
2007-04-23  Elijah Newren  <newren gmail com>

        Fix some uninitialized memory usage errors.  #427385

        * src/frame.c (meta_window_ensure_frame):
        * src/frames.c (meta_frames_manage_window):
        Do not try to set the window background in
        meta_frames_manage_window() since the frame window is not yet
        created and not yet registered with the corresponding MetaWindow.
        Do it inside meta_window_ensure_frame() instead.

svn path=/trunk/; revision=3208
2007-04-23 22:44:01 +00:00
Elijah Newren
e66919510f Fix some fallout from #426519; update user_rect for all position changes
2007-04-17  Elijah Newren  <newren gmail com>

	Fix some fallout from #426519; update user_rect for all position
	changes prior to the window being marked as placed.  Prevents
	emacs in particular from flickering on start and always being
	shoved to the upper-left corner.

	* src/window.c (meta_window_move_resize_internal):
	Record position in user_rect if the window is not yet marked as
	placed too

	* src/window.c (struct MetaWindow, meta_window_new_with_attrs,
	  meta_window_move_resize_internal):
	Remove window->user_has_move_resized; it's not needed or used
	anymore.

	* src/window.[ch] (meta_window_get_user_position):
	Remove this function as it is no longer needed or used.

svn path=/trunk/; revision=3203
2007-04-18 05:43:42 +00:00
Elijah Newren
966e36b9f6 Prevent metacity from "forgetting" which machine a window is on. #418552
2007-04-16  Elijah Newren  <newren gmail com>

	Prevent metacity from "forgetting" which machine a window is on.
	#418552

	* src/window.c (meta_window_new_with_attrs): reorder the property
	loading so that we know the wm_client_machine when we load the
	name of the window and can modify the window name accordingly.

svn path=/trunk/; revision=3201
2007-04-16 16:23:12 +00:00
Elijah Newren
ee3ae1584f post-release bump to 2.19.5.
2007-04-16  Elijah Newren  <newren gmail com>

        * configure.in: post-release bump to 2.19.5.

svn path=/trunk/; revision=3200
2007-04-16 16:20:12 +00:00
Elijah Newren
128cda50bf 2.19.3 release.
2007-04-16  Elijah Newren  <newren gmail com>

        * NEWS: 2.19.3 release.

svn path=/trunk/; revision=3198
2007-04-16 16:17:47 +00:00
Elijah Newren
3f7d729978 Preserve stacking order across restarts.
2007-04-15  Elijah Newren  <newren gmail com>

	Preserve stacking order across restarts.

	* src/display.c (meta_display_unmanage_windows_for_screen):
	unmap windows in stacking order so that stacking is preserved upon
	shutdown

	* src/display.[ch] (meta_display_stack_cmp):
	* src/session.c (stack_cmp, save_state):
	rename stack_cmp() -> meta_display_stack_cmp() and move it to a
	different function so that it can be used in both
	session.c:save_state() and
	meta_display_unmanage_windows_for_screen()

svn path=/trunk/; revision=3197
2007-04-16 04:57:32 +00:00
Elijah Newren
6de7271ab6 Remove incorrect usage of window.h from menu.c. See #426791 & #382962.
2007-04-15  Elijah Newren  <newren gmail com>

	Remove incorrect usage of window.h from menu.c.  See #426791 &
	#382962.

	* src/menu.c (enum MetaMenuItemType, variable menuitems,
	  meta_menu_item_new):
	cleanup: add a MENU_ITEM_RADIOBUTTON for the sticky stuff

	* src/menu.c (variable menuitems):
	* src/core.c (meta_core_get_menu_accelerator):
	* src/window.c (menu_callback, meta_window_show_menu):
	* src/common.h (enum MetaMenuOp):
	reinstate META_MENU_OP_UNABOVE

	* src/menu.c (meta_window_menu_new):
	remove hacks (using inappropriate data) for STICK/UNSTICK/ABOVE
	and clean it up while just setting STICK/UNSTICK activeness as
	necessary

	* src/menu.[ch] (meta_window_menu_new):
	* src/ui.[ch] (meta_ui_window_menu_new):
	make the active_workspace parameter an unsigned long

2007-04-15  Bruno Boaventura <brunobol@gnome.org>

	* src/menu.c (meta_window_menu_new): don't show the current
	workspace as a possible workspace to switch to.  Fixes #426791.

svn path=/trunk/; revision=3196
2007-04-16 04:48:14 +00:00
Elijah Newren
bc6996b171 do not auto-maximize windows larger than the workarea in only a single
2007-04-12  Elijah Newren  <newren gmail com>

	* src/place.c (meta_window_place): do not auto-maximize windows
	larger than the workarea in only a single direction.  Fixes
	#419810.

svn path=/trunk/; revision=3194
2007-04-12 22:25:25 +00:00
Elijah Newren
9ec6dbd5ca Make sure apps have correct info about their coordinates, even on unmap.
2007-04-11  Elijah Newren  <newren gmail com>

	Make sure apps have correct info about their coordinates, even on
	unmap.  Fixes temporary hang with libXt (XtVaSetValues setting x &
	y coordinates).  #399552.

	* src/frame.c (meta_window_destroy_frame): Add a comment noting
	that the current choice causes the need for a ConfigureNotify
	event

	* src/window.c (meta_window_free): Send a configure notify event
	due to our XReparentWindow coordinate choices on withdrawal,
	(unmaximize_window_before_freeing): no need to send a configure
	notify from here since it is always done in meta_window_free new,
	(send_configure_notify): have to special case the coordinates used
	when withdrawing the window

svn path=/trunk/; revision=3192
2007-04-12 04:02:57 +00:00
Thomas Thurman
2034a309e5 Workaround for a gdk bug which dies with BadAlloc if you try to allocate
2007-04-11  Thomas Thurman  <thomas@thurman.org.uk>

        Workaround for a gdk bug which dies with BadAlloc if you try
        to allocate an insanely huge rectangle for an insanely huge
        window. Fixes #399529.



svn path=/trunk/; revision=3191
2007-04-12 03:48:50 +00:00
Elijah Newren
7626f74b85 Advertise support of Above and Below operations (assuming the proposed
2007-04-11  Elijah Newren  <newren gmail com>

	Advertise support of Above and Below operations (assuming the
	proposed EWMH additions of _NET_WM_ACTION_(ABOVE|BELOW) will be
	accepted, otherwise these changes will have to be modified).  Part
	of #115247.

	* src/display.[ch] (meta_display_open, struct MetaDisplay):
	* src/screen.c (set_wm_check_hint):
	Add support for _NET_WM_ACTION_ABOVE and _NET_WM_ACTION_BELOW

	* src/window.c (set_allowed_actions_hints):
	add active_above and action_below

svn path=/trunk/; revision=3190
2007-04-11 17:15:54 +00:00
Elijah Newren
eb639a4650 make sure to set _NET_WM_ALLOWED_ACTIONS so that libwnck menus don't have
2007-04-10  Elijah Newren  <newren gmail com>

	* src/window.c (recalc_window_features): make sure to set
	_NET_WM_ALLOWED_ACTIONS so that libwnck menus don't have sensitive
	but ineffective menu items.  The "On Top" item is now buggy, but
	due to the fact that _NET_WM_ACTION_ABOVE is not yet defined in
	the EWMH.  Fixes #115247.

svn path=/trunk/; revision=3189
2007-04-11 02:37:30 +00:00
Elijah Newren
b8f89db4d1 Add support for _NET_MOVERESIZE_WINDOW. #344521.
2007-04-09  Elijah Newren  <newren gmail com>

	Add support for _NET_MOVERESIZE_WINDOW.  #344521.

	* src/display.c (handle_net_moveresize_window, event_callback):
	Remove handle_net_moveresize_window() and the call to it; this
	code was highly buggy, though to be fair it was never tested and
	had simply been put into the code in commented out form.

	* src/screen.c (set_supported_hint):
	add atom_net_moveresize_window

	* src/window.[ch]:
	(meta_window_configure_request, meta_window_move_resize_request):
	Split out the moving/resize part of the configure request and put
	it into meta_window_move_resize_request

	(meta_window_client_message):
	check for NET_MOVERESIZE_WINDOW messages and call
	meta_window_move_resize_request() with the appropriate parameters
	to handle them

	(meta_window_move_resize_internal):
	fix some of the big comment at this function -- it wasn't quite
	right, use the passed in gravity instead of
	window->size_hints.win_gravity when calling adjust_for_gravity()
	to make sure the correct adjustments are used.

	(meta_window_get_gravity_position,
	 meta_window_get_geometry, meta_window_move_resize_request):
	add a gravity parameter to meta_window_get_gravity_position and
	have it use that gravity instead of window->size_hints.win_gravity

svn path=/trunk/; revision=3186
2007-04-09 23:00:55 +00:00
Elijah Newren
63ca4e8bde post-release bump to 2.19.3.
2007-04-09  Elijah Newren  <newren gmail com>

        * configure.in: post-release bump to 2.19.3.

svn path=/trunk/; revision=3185
2007-04-09 17:24:50 +00:00
Elijah Newren
4d8a7a2045 2.19.2 release.
2007-04-09  Elijah Newren  <newren gmail com>

        * NEWS: 2.19.2 release.

svn path=/trunk/; revision=3183
2007-04-09 17:20:55 +00:00
Elijah Newren
ebfbef86a0 Remove grab_start_serial, which we expect to be an ancient attempt to
2007-04-08  Elijah Newren  <newren gmail com>

	Remove grab_start_serial, which we expect to be an ancient attempt
	to workaround sloppy/mouse focus bugs that have since been
	correctly fixed.  May fix some race conditions.  May cause nasty
	bugs in sloppy/mouse focus modes.  We'll find out soon enough...
	See #304430.

	* src/display.c (event_callback):
	remove event->xany.serial >= display->grab_start_serial in several
	event callback handlers

	* src/display.[ch] (struct _MetaDisplay, meta_display_begin_grab_op):
	* src/keybindings.c (do_choose_window, handle_workspace_switch):
	* src/frames.c (meta_frames_button_press_event):
	* src/core.[ch] (meta_core_begin_grab_op):
	* src/window.c (meta_window_client_message, meta_window_begin_grab_op):
	don't require an event_serial to be passed to
	meta_display_begin_grab_op () and don't record it anymore.

	* src/ui.c (struct _EventFunc, filter_func,
	  meta_ui_get_last_event_serial)
	* src/core.h (meta_ui_get_last_event_serial):
	remove meta_ui_get_last_event_serial() function (don't ask me why
	it was declared in core.h) and the last_even_serial field of
	_EventFunc

svn path=/trunk/; revision=3182
2007-04-09 05:49:57 +00:00
Elijah Newren
addf369006 Fix move/resize events in relation to combinations of ConfigureRequest and
2007-04-08  Elijah Newren  <newren gmail com>

	Fix move/resize events in relation to combinations of
	ConfigureRequest and WM_NORMAL_HINTS change notifications (plus a
	few code cleanups).  Fixes #426519.

	* src/window.c (meta_window_move_resize_now):
	move to the user_rect position, not some weird combination of rect
	and user_rect

	* src/window.c (meta_window_configure_request):
        set user_rect in response to ConfigureRequest events (after the
	ConfigureRequest values have been constrained) and add a big
	comment explaining this change, remove unused only_resize variable
	and irrelevant huge FIXME comment about it

	* src/window.[ch] (meta_window_get_client_root_coords):
	new function

	* src/display.c (meta_display_begin_grab_op):
	* src/keybindings.c (process_keyboard_move_grab):
	* src/window.c (meta_window_unmaximize,
	  meta_window_move_resize_internal, meta_window_begin_wireframe,
	  update_move, meta_window_refresh_resize_popup,
	  warp_grab_pointer)
	combine multi-step client rect root coord setting into a single
	function call to meta_window_get_client_root_coords()

svn path=/trunk/; revision=3181
2007-04-09 03:43:55 +00:00
Thomas Thurman
82c56cb5d7 removed conflict line.
2007-04-08  Thomas Thurman  <thomas@thurman.org.uk>

        * ChangeLog: removed conflict line.



svn path=/trunk/; revision=3175
2007-04-08 18:17:38 +00:00
Elijah Newren
0a8bdcdcb3 Add an (unbound by default) keybinding for setting spew marks in verbose
2007-04-07  Elijah Newren  <newren gmail com>

	* src/prefs.[ch] (screen_bindings array,
	  META_KEYBINDING_SET_SPEW_MARK definition):
	* src/keybindings.c (handle_spew_mark, screen_handlers array):
	Add an (unbound by default) keybinding for setting spew marks in
	verbose debugging logs.  I'm not sure why this was ever removed;
	I've wanted it so many times.

	* HACKING:
	valgrind wants --log-file not --logfile.

svn path=/trunk/; revision=3174
2007-04-07 22:16:35 +00:00
Elijah Newren
745906b7db Fix memory bug (invalid free) introduced in 2007-04-02 strut cleanup
2007-04-07  Elijah Newren  <newren gmail com>

	* src/window.c (meta_window_free): Fix memory bug (invalid free)
	introduced in 2007-04-02 strut cleanup commit.  Part of #427385.

svn path=/trunk/; revision=3173
2007-04-07 21:42:05 +00:00
Thomas Thurman
8fe344db51 if theme is invalid and therefore got freed, don't attempt to read from
2007-04-05  Thomas Thurman  <thomas@thurman.org.uk>

        * src/theme_parser.c: if theme is invalid and therefore got
        freed, don't attempt to read from it. Closes #423855.



svn path=/trunk/; revision=3172
2007-04-05 18:45:03 +00:00
Bastien Nocera
f32712937b Add new control-center key bindings definitions (Closes: #420145)
2007-04-05  Bastien Nocera  <hadess@hadess.net>

	* src/50-metacity-desktop-key.xml.in:
	* src/50-metacity-key.xml.in:
	* src/Makefile.am:
	Add new control-center key bindings definitions (Closes: #420145)

2007-04-05  Bastien Nocera  <hadess@hadess.net>

	* POTFILES.in: add the XML keys definitions to the list


svn path=/trunk/; revision=3170
2007-04-05 09:22:19 +00:00
Elijah Newren
6753584e80 post-release bump to 2.19.2
2007-04-04  Elijah Newren  <newren gmail com>

        * configure.in: post-release bump to 2.19.2

svn path=/trunk/; revision=3167
2007-04-05 01:04:09 +00:00
Elijah Newren
9b85e7ee7f 2.19.1 release.
2007-04-04  Elijah Newren  <newren gmail com>

        * NEWS: 2.19.1 release.

svn path=/trunk/; revision=3165
2007-04-05 01:02:57 +00:00
Elijah Newren
dda3c2bee6 send synthetic configurenotify events also in response to MapRequest
2007-04-04  Elijah Newren  <newren gmail com>

	* src/window.c (meta_window_move_resize_internal): send synthetic
	configurenotify events also in response to MapRequest events when
	the window has a frame and the application specifies PPosition or
	UPosition hints.  I believe they are already sent for all other
	cases.  Should fix #322840.  Fixes the testcase at least.  :)

svn path=/trunk/; revision=3156
2007-04-04 23:52:21 +00:00
Elijah Newren
921661e91d Fix lots of little issues with min/max constraints and size increment
2004-04-04  Elijah Newren  <newren gmail com>

	Fix lots of little issues with min/max constraints and size
	increment constraints.  Fixes #329152, #418395, and possibly
	others.

	* src/window-props.c (meta_set_normal_hints):
	Do more checking to make sure application specified constraints
	are self-consistent, modifying the size_hints as necessary to
	achieve self-consistency.

	* src/constraints.c (setup_constraint_info): remove ugly
	copy-pasto, (constrain_size_increments): be careful that fixing
	violation of the constraints doesn't cause a violation of the
	minimum size constraints.

	* src/window.c (ensure_size_hints_satisfied): new function,
	(meta_window_unmaximize, meta_window_unmake_fullscreen): the
	saved_rect may no longer be valid (as in the case of #329152) so
	call ensure_size_hints_satisfied to fix it up.

	* doc/how-to-get-focus-right.txt: Some minor spacing and wording
	fixes completely unrelated to the rest of this commit

svn path=/trunk/; revision=3155
2007-04-04 21:54:56 +00:00
Elijah Newren
7a799b3a63 Only use saved_rect for determining the position to unmaximize to for the
2007-04-03  Elijah Newren  <newren gmail com>

	* src/window.c (meta_window_unmaximize):
	Only use saved_rect for determining the position to unmaximize to
	for the previously-maximized direction(s).  Fixes #355497.

svn path=/trunk/; revision=3154
2007-04-04 03:07:26 +00:00
Elijah Newren
b01dcaa338 Update. #412319.
2007-04-03  Elijah Newren  <newren gmail com>

	* MAINTAINERS: Update.  #412319.

svn path=/trunk/; revision=3153
2007-04-04 00:45:58 +00:00
Elijah Newren
9cae11fd9e _NET_ACTIVE_WINDOW is a single xwindow id, not two.
2007-04-03  Elijah Newren  <newren gmail com>

	* src/display.c (meta_display_update_active_window_hint):
	_NET_ACTIVE_WINDOW is a single xwindow id, not two.

svn path=/trunk/; revision=3152
2007-04-03 22:26:47 +00:00
Elijah Newren
da7d198757 turn mouse_mode off to prevent focus issues with the run application
2007-04-03  Elijah Newren  <newren gmail com>

	* src/keybindings.c (handle_panel_keybinding): turn mouse_mode off
	to prevent focus issues with the run application dialog.  Fixes
	#374752.

svn path=/trunk/; revision=3149
2007-04-03 20:19:12 +00:00
Elijah Newren
350225ea37 Avoid some crashes when dragging windows partially offscreen. Possible (or
2007-04-03  Elijah Newren  <newren gmail com>

	Avoid some crashes when dragging windows partially offscreen.
	Possible (or at least partial) fix for #353513.

	* src/edge-resistance.c (apply_edge_resistance): be more careful
	about calls to find_index_of_edge_near_position() returning
	possibly invalid indices.  Also, add a warning comment to
	find_index_of_edge_near_position().

svn path=/trunk/; revision=3147
2007-04-03 19:56:34 +00:00
Elijah Newren
930c7ea270 Um, fix the date in that last commit
svn path=/trunk/; revision=3146
2007-04-03 18:40:47 +00:00
Elijah Newren
ec51e41c62 Patch from Carlo Wood to do some miscellaneous code cleanups found while
2007-04-02  Elijah Newren  <newren gmail com>

	Patch from Carlo Wood to do some miscellaneous code cleanups found
	while working on #358311.

	* src/constraints.c (do_screen_and_xinerama_relative_constraints):
	nicer way of avoiding compilation warning

	* src/boxes.c (meta_rectangle_clamp_to_fit_into_region,
	  meta_rectangle_clip_to_region, meta_rectangle_shove_into_region):
	Much cleaner way of ignoring invalid boxes in comparisons

svn path=/trunk/; revision=3145
2007-04-03 18:40:00 +00:00
Elijah Newren
08f51fdf94 Patch from Carlo Wood to fix handling of unidirectional maximization and
2007-04-02  Elijah Newren  <newren gmail com>

	Patch from Carlo Wood to fix handling of unidirectional
	maximization and partial struts.  #358311.

	* src/constraints.c (constrain_maximization):
	determine target size for unidirectionally maximized windows by
	determining how far they can be maximized without hitting
	orthogonal struts.  Avoids weird "empty spaces".

	* src/boxes.[ch] (meta_rectangle_expand_to_avoiding_struts):
	new function

2007-04-02  Elijah Newren  <newren gmail com>

	Make the strut lists (stored in workspaces) record both the
	rectangle and the side that the strut is on.  Lots of code
	cleanups relating to struts.

	* src/boxes.h (struct MetaStrut):
	new struct for struts

	* src/window.[ch] (struct MetaStruts, struct MetaWindow,
	  meta_window_update_struts):
	overhaul to make window's struts remember their side as well as
	their rectangular location, and just use a list instead of several
	copies of near-identical code for left/right/top/bottom (allowing
	us to nuke MetaStruts struct as well)
	
	* src/testboxes.c (new_meta_strut, get_strut_list):
	* src/workspace.c (ensure_work_areas_validated):
	* src/boxes.c (meta_rectangle_get_minimal_spanning_set_for_region,
	  meta_rectangle_expand_to_avoiding_struts,
	  get_disjoint_strut_rect_list_in_region, fix_up_edges,
	  meta_rectangle_find_onscreen_edges,
	  meta_rectangle_find_nonintersected_xinerama_edges):
	modify to handle struts being rectangle + side instead of just rectangle

	* src/workspace.c (ensure_work_areas_validated):
	simplify strut list creation considerably given MetaWindow change,
	modify work_area computations to take advantage of region
	computations being done (makes the code shorter as well as more
	robust against pathological cases).

	* src/util.[ch] (meta_free_gslist_and_elements):
	new convenience function

	* src/common.h (enum MetaDirection):
	* src/edge-resistance.c (movement_towards_edge):
	* src/boxes.c (meta_rectangle_edge_aligns,
	  rectangle_and_edge_intersection, split_edge):
	Add more MetaDirection fields for convenience

	* src/boxes.h (enum FixedDirections):
	* src/constraints.c (setup_constraint_info, place_window_if_needed):
	add a FIXED_DIRECTION_NONE to the FixedDirections enum to make
	code more clear

svn path=/trunk/; revision=3144
2007-04-03 03:41:10 +00:00
Elijah Newren
e82ce26425 Fix Bruno's date typo
svn path=/trunk/; revision=3143
2007-04-03 02:35:33 +00:00
Bruno Boaventura
0bb8bd4370 Fallback to NORMAL state after checking for the middle button. Fixes bug
2007-01-27  Bruno Boaventura <brunobol@gnome.org>

	* src/theme.c (kill_window_question): Fallback to NORMAL state after
	checking for the middle button. Fixes bug #419043.
	Patch from Benjamin Berg <benjamin@sipsolutions.net>.	


svn path=/trunk/; revision=3140
2007-04-01 15:31:24 +00:00
Elijah Newren
81e32cfa32 Clean up event mask handling and meta_create_offscreen_window, to prevent
2007-03-31  Elijah Newren  <newren gmail com>

	Clean up event mask handling and meta_create_offscreen_window, to
	prevent nasty metacity/gdk interactions causing hangs. See #354213.

	* src/screen.[ch] (meta_create_offscreen_window):
	* src/display.c (meta_display_open):
	* src/screen.c (meta_screen_new):
	Add a valuemask parameter to meta_create_offscreen_window
	
	* src/display.c (meta_display_open):
	make it explicit that we can't rely on PropertyNotify events for
	the leader_window due to nasty metacity/gdk interaction

	* src/session.c (warn_about_lame_clients_and_finish_interact):
	remove cut-and-paste code for timestamp pinging and just call
	meta_display_get_current_time_roundtrip

svn path=/trunk/; revision=3137
2007-03-31 23:34:36 +00:00
Elijah Newren
6e007baaa8 Add support for _NET_WM_USER_TIME_WINDOW in order to cut down on context
2007-03-30  Elijah Newren  <newren gmail com>

	Add support for _NET_WM_USER_TIME_WINDOW in order to cut down on
	context switches.

	* src/display.c (meta_display_open):
	* src/display.h (struct _MetaDisplay):
	* src/screen.c (set_supported_hint):
	new atom

	* src/display.c (meta_display_open,
	  meta_display_get_current_time_roundtrip):
	* src/display.h (struct _MetaDisplay):
	create a dedicated timestamp pinging window instead of reusing
	display->leader_window

	* src/display.c (event_callback):
	* src/window-props.c (reload_net_wm_user_time_window):
	* src/window.c (meta_window_new_with_attrs, meta_window_free,
	  process_property_notify):
	* src/window.h (struct _MetaWindow):
	monitor property notify events on _NET_WM_USER_TIME_WINDOW windows too
	
	* src/window-props.[ch]:
	new meta_window_reload_propert(y|ies)_from_xwindow() functions

	* src/window-props.[ch]
	  (init_net_wm_user_time_window, reload_net_wm_user_time_window,
	  meta_display_init_window_prop_hooks):
	* src/window.c (meta_window_new_with_attrs):
	new hooks to handle new atom

svn path=/trunk/; revision=3134
2007-03-31 05:19:41 +00:00
Josselin Mouette
44b86d468e if previous client ID was supplied, use it in filename. use --sm-client-id
2007-03-26  Josselin Mouette  <joss@malsain.org>

        * src/session.c (meta_session_init): if previous client ID
        was supplied, use it in filename.
        * src/session.c (set_clone_restart_commands): use --sm-client-id
        in command line to restore session, not original file name.
        * src/session.c (regenerate_save_file): generate filename using
        client ID and not original file name.
        * src/session.c (base_save_file): removed function.
        Closes GNOME 407981, Debian 391287, Debian 315169.


svn path=/trunk/; revision=3125
2007-03-26 21:38:19 +00:00
Elijah Newren
44ef3b3a51 bump version to 2.19.1; doesn't make sense to have the development version
2007-03-25  Elijah Newren  <newren gmail com>

	* configure.in: bump version to 2.19.1; doesn't make sense to have
	the development version have a version number less than the stable
	version.  ;-)

svn path=/trunk/; revision=3124
2007-03-26 01:31:11 +00:00
Arthur Taylor
11a90c53ed adjusted the rounded corners so that they fit nicely with the arcs around
2007-03-20  Arthur Taylor  <theycallhimart@gmail.com>

        * src/frames.c (meta_frames_apply_shapes): adjusted the rounded
          corners so that they fit nicely with the arcs around them.
          Fixes #399373.
                                                                                                                                           

svn path=/trunk/; revision=3120
2007-03-21 02:22:10 +00:00
Kjartan Maraas
88b91199d2 Remove #include <pango/pangox.h> since it's apparently not installed
2007-03-17  Kjartan Maraas  <kmaraas@gnome.org>

	* src/ui.c: Remove #include <pango/pangox.h> since it's
	apparently not installed anymore. Builds just fine without it too.

svn path=/trunk/; revision=3119
2007-03-17 08:40:02 +00:00
Charlie Brej
c7cb503003 add action_{middle|right}_click_titlebar. Closes #408903.
2007-03-10  Charlie Brej  <cbrej@cs.man.ac.uk>

        * src/metacity.schemas.in: add action_{middle|right}_click_titlebar.
        Closes #408903.



svn path=/trunk/; revision=3107
2007-03-11 02:39:07 +00:00
Linus Torvalds
6ab8fb150f honour preferences. new functions.
2007-03-09  Linus Torvalds  <torvalds@woody.linux-foundation.org>

        * src/frames.c (meta_frame_middle_click_event,
        meta_frame_right_click_event): honour preferences.
        * src/prefs.[ch] (meta_prefs_get_action_middle_click_titlebar,
        meta_prefs_get_action_right_click_titlebar): new functions.


svn path=/trunk/; revision=3102
2007-03-10 01:15:14 +00:00
Kjartan Maraas
cd748a2e97 Add MAINTAINERS to EXTRA_DIST so others can find out where to send
2007-02-20  Kjartan Maraas  <kmaraas@gnome.org>

	* Makefile.am: Add MAINTAINERS to EXTRA_DIST so others
	can find out where to send patches. Hi Linus :-)

svn path=/trunk/; revision=3064
2007-02-20 14:09:06 +00:00
Linus Torvalds
4e478159b6 renamed from MetaActionDoubleClickTitleBar; added _LOWER and _MENU.
2007-02-17  Linus Torvalds  <torvalds@woody.linux-foundation.org>

        * src/common.h (MetaActionTitleBar): renamed from
        MetaActionDoubleClickTitleBar; added _LOWER and _MENU.
        * src/frames.c (meta_frame_titlebar_event): renamed
        enums as above; added code to handle _LOWER and _MENU,
        which is moved in from meta_frame_{middle|right}_click_event.
        * src/frames.c (meta_frame_middle_click_event,
        meta_frame_right_click_event): rewrote in terms of
        meta_frame_titlebar_event.
        * src/prefs.c: removed "DoubleClick" from names as above.
        * src/prefs.c (action_titlebar_from_string): added cases
        for "lower" and "menu".
        Fixes #408902.


svn path=/trunk/; revision=3062
2007-02-17 21:34:00 +00:00
Linus Torvalds
85e43a402f Split out code for different kinds of click into separate functions. Fixes
2007-02-17  Linus Torvalds  <torvalds@woody.linux-foundation.org>

        * src/frames.c (meta_frames_button_press_event): Split out
        code for different kinds of click into separate functions.
        Fixes #408899.
        * src/frames.c (meta_frame_titlebar_event,
         meta_frame_double_click_event, meta_frame_middle_click_event,
         meta_frame_right_click_event): new functions.



svn path=/trunk/; revision=3061
2007-02-17 21:15:59 +00:00
Bruno Boaventura
e9f578b511 Change dialog icon because gnome-icon-theme have no more
2007-01-27  Bruno Boaventura <brunobol@gnome.org>

        * src/metacity-dialog.c (kill_window_question): Change dialog
        icon because gnome-icon-theme have no more "panel-force-quit".
        Patch from Jaap A. Haitsma <jaap@haitsma.org>.


svn path=/trunk/; revision=3050
2007-01-27 04:18:15 +00:00
Thomas James Alexander Thurman
9626780635 fix silly thinko.
* doc/compositor-control.txt: fix silly thinko.


svn path=/trunk/; revision=3047
2007-01-16 19:11:13 +00:00
Thomas James Alexander Thurman
e3249d6e1b post-release bump to 2.17.8.
* configure.in: post-release bump to 2.17.8.


svn path=/trunk/; revision=3046
2007-01-16 18:20:08 +00:00
Thomas James Alexander Thurman
1b941ff508 New file.
* doc/compositor-control.txt: New file.

svn path=/trunk/; revision=3043
2007-01-16 17:45:18 +00:00
Thomas James Alexander Thurman
5d9ccfac37 Removed #ifdef SPIFFY_COMPOSITOR throughout the file. Replaced with check
* src/compositor.c (meta_compositor_new): Removed
        #ifdef SPIFFY_COMPOSITOR throughout the file. Replaced with check 
        for environment variable METACITY_BLING, which may be temporary.


svn path=/trunk/; revision=3042
2007-01-16 17:02:39 +00:00
Bruno Boaventura
50c5bf4bf6 Unmaximize button must keep preesed appearence when clicked (hold down),
2007-01-13  Bruno Boaventura  <brunobol@gnome.org>

        * src/frames.c (meta_frames_motion_notify_event): Unmaximize
        button must keep preesed appearence when clicked (hold down),
        move off, and back over the button. Fixes #395560. Patch from
        Mad Alex <madalexonline@yahoo.co.uk>.


svn path=/trunk/; revision=3040
2007-01-13 13:27:20 +00:00
Thomas James Alexander Thurman
4becc1e631 Remove double unref of stacker object. Fixes #387761.
* src/c-screen.c (meta_comp_screen_redirect): Remove double unref
        of stacker object. Fixes #387761.


svn path=/trunk/; revision=3036
2007-01-02 14:09:45 +00:00
Bruno Boaventura
5ca9f43752 Move "On Top" option in menu. Fix #382962.
2006-12-27  Bruno Boaventura  <brunoboaventura@gmail.com>

        Move "On Top" option in menu. Fix #382962.

        * src/common.h, src/core.c: Remove META_MENU_OP_UNABOVE.
        * src/menu.c: remove unabove menu item and put above item
        next "Always on Visible Viewport".
        * src/window.c: remove handles of META_MENU_OP_UNABOVE.
2006-12-27 15:51:49 +00:00
Thomas James Alexander Thurman
5080b8fefb Disabled bling for now; added function for handling CirculateNotify
* src/compositor.c: Disabled bling for now; added function for
        handling CirculateNotify XEvent; some commenting.
        * src/compositor.h, src/c-window.c: fix function prototype visibility.
2006-12-21 05:12:34 +00:00
Thomas James Alexander Thurman
ea137d35f3 Sanity check to avoid dereferencing a null pointer.
* src/compositor.c (do_effect): Sanity check to avoid dereferencing
        a null pointer.
2006-12-12 18:30:27 +00:00
Thomas James Alexander Thurman
01a282fdd3 bump 2006-12-11 04:11:04 +00:00
Thomas James Alexander Thurman
9d6d1c5fb6 2.17.3 2006-12-11 04:04:52 +00:00
Christof Krüger
ceb54162b3 Fix flickering about when dragging maximised windows between xineramas.
2006-12-05  Christof Krüger  <mail@pop2wap.net>

        * src/window.c (update_move): Fix flickering about when dragging
        maximised windows between xineramas. Closes #358715.
2006-12-06 01:26:30 +00:00
Federico Mena Quintero
caf43a123f Fix http://bugzilla.gnome.org/show_bug.cgi?id=381127:
2006-12-03  Federico Mena Quintero  <federico@novell.com>

	Fix http://bugzilla.gnome.org/show_bug.cgi?id=381127:

	* src/window.c (idle_calc_showing): Grab the server while the
	windows are being shuffled.  First show the windows to be shown,
	and then hide the windows to be hidden, in order to minimize
	the number of expose events.
2006-12-03 20:05:23 +00:00
Bruno Boaventura
a3e309bab8 2006-11-15 Björn Lindqvist <bjourne@gmail.com>
2006-11-15  Bruno Boaventura  <brunoboaventura@gmail.com>
2006-11-15  Björn Lindqvist   <bjourne@gmail.com>

        * src/menu.c: added MetaMenuItemType enum; added it
        to MenuItem; added values of this type to menuitems
        array.
        * src/menu.c (menu_item_new): rewrite to take a MenuItem
        instead of a set of parameters describing the menu item.
        * src/menu.c (meta_window_menu_new): use proper checkboxes
        or radio buttons on the window menu.
        * src/window.c (meta_window_show_menu): unstick and stick
        are always shown.
2006-11-15 13:16:32 +00:00
Thomas James Alexander Thurman
01030ac0df post-release bump to 2.17.3.
* configure.in: post-release bump to 2.17.3.
2006-11-06 18:35:39 +00:00
Thomas James Alexander Thurman
3e55c138f1 =================================================
metacity-2.17.2 archives ready for distribution:
metacity-2.17.2.tar.gz
=================================================
2006-11-06 18:32:51 +00:00
Priit Laes
81256ebe48 remove deprecated gtk stuff.
2006-11-05  Priit Laes  <amd@store20.com>

        * src/main.c, src/ui.c: remove deprecated gtk stuff.

2006-11-05  Bruno Boaventura  <brunoboaventura@gmail.com>

        * src/theme.c, src/testgradient.c: remove deprecated gtk stuff.
2006-11-05 23:03:36 +00:00
Thomas James Alexander Thurman
8722c60a28 add missing spaces to string. Fixes #363355.
* src/metacity-dialog.c: add missing spaces to string. Fixes
        #363355.
2006-11-05 22:34:37 +00:00
Thomas James Alexander Thurman
8f09a12069 use g_strdup to allocate a string, not strdup. Fixes #363354.
* src/ui.c: use g_strdup to allocate a string, not strdup. Fixes
        #363354.
2006-11-05 22:32:01 +00:00
Justin Mason
c68c26b7f8 implement handle_move_to_{side|corner}_* to allow the user to flip a
2006-11-05  Justin Mason  <jm@jmason.org>

        * src/keybindings.c: implement handle_move_to_{side|corner}_* to
        allow the user to flip a window to the side or corner of the
        screen. Fixes #317884.
        * src/prefs.h: keybindings for the above.
        * src/metacity.schemas.in: keybindings for the above.
2006-11-05 22:23:44 +00:00
Thomas James Alexander Thurman
d419955ddc improved rounding of rounded corners. Fixes #360542, mostly.
* src/frames.c: improved rounding of rounded corners. Fixes #360542,
        mostly.
2006-11-05 21:20:10 +00:00
Dan Mick
191baa3c76 Fix strict focus mode by picking up on res_class. Fixes #361054, strict
2006-10-30  Dan Mick  <dan.mick@sun.com>

	* src/window.c: (__window_is_terminal): Fix strict focus
        mode by picking up on res_class. Fixes #361054, strict focus
        mode still not working; should look for res_class, not res_name
2006-10-29 20:30:18 +00:00
Elijah Newren
63ea328ea8 2.17.1 release.
2006-10-16  Elijah Newren  <newren gmail com>

        * NEWS: 2.17.1 release.
2006-10-16 22:14:41 +00:00
Carlo Wood
d79a571d0a Fix cases when titlebar is allowed offscreen and shouldn't be (and
2006-10-13  Carlo Wood <carlo@alinoe.com>

	Fix cases when titlebar is allowed offscreen and shouldn't be (and
	vice-versa).  #333995.

	* src/display.[ch] (struct _MetaDisplay): add grab_frame_action
	member

	* src/display.[ch] (meta_display_begin_grab_op):
	* src/window.[ch] (meta_window_begin_grab_op):
	* src/core.[ch] (meta_core_begin_grab_op):
	Add frame_action parameter (core & window versions pass it on to
	display)

	* src/display.c (event_callback):
	* src/window.c (meta_window_begin_grab_op,
	  meta_window_client_message, menu_callback):
	* frames.c (meta_frames_button_press_event):
	* keybindings.c (do_choose_window, handle_begin_move,
	  handle_begin_resize, handle_workspace_switch):
	Pass whether the action should be considered a 'frame_action',
	which will be used to determine whether to force the titlebar to
	remain onscreen, to meta_*_begin_grab_op

	* constraints.c (constrain_titlebar_visible):
	Replace previous ugly hack by using grab_frame_action (and whether
	the action is a user action) to determine whether to enforce the
	titlebar_visible constraint.
2006-10-13 00:28:34 +00:00
Elijah Newren
a34944d341 Patch from Bruno Boaventura to sync metacity workspace previews with
2006-10-10  Elijah Newren  <newren gmail com>

	* src/draw-workspace.c (draw_window, wnck_draw_workspace): Patch
	from Bruno Boaventura to sync metacity workspace previews with
	libwnck.  #341893
2006-10-10 18:19:32 +00:00
Thomas James Alexander Thurman
b569dddc17 post-release bump to 2.17.1.
* configure.in: post-release bump to 2.17.1.
2006-10-07 22:03:10 +00:00
Thomas James Alexander Thurman
5d33a1bbb8 =================================================
metacity-2.17.0 archives ready for distribution:
metacity-2.17.0.tar.gz
=================================================
2006-10-07 22:01:15 +00:00
Thomas James Alexander Thurman
9da34955f7 removed hide_buttons. Closes #360498.
* src/themes/Crux/metacity-theme-2.xml: removed hide_buttons.
        Closes #360498.
2006-10-07 21:19:40 +00:00
Thomas James Alexander Thurman
536bb240ef added myself.
* MAINTAINERS: added myself.
2006-10-07 21:11:47 +00:00
Thomas James Alexander Thurman
ef1c6e9214 described new theme format.
* doc/theme-format.txt: described new theme format.

        * src/themes/Bright, src/themes/Crux: added version 2 themes.
2006-10-07 17:21:05 +00:00
Thomas James Alexander Thurman
90359a5346 Added "above" to the list of flags a frame can have, so that we know when
* common.h: Added "above" to the list of flags a frame can have, so
	that we know when to mark it as always on top.  Added six grab ops,
	one to do and one to undo each of the three new titlebar buttons
	(shade, above, stick).  Added six new button functions, similarly.
	(#96229)

        * frame.c (meta_frame_get_flags): If a frame has the WM_STATE_ABOVE X
         attribute, set META_FRAME_ABOVE in its flags.

        * frames.c (meta_frames_apply_shapes): Allow variable amounts of
         rounding. (#113162)

        * frames.c (show_tip_now, meta_frames_paint_to_drawable, control_rect,
	 get_control): extend handling of existing buttons to the
         3*2 new kinds of button. (#96229)

        * frames.c (meta_frames_button_press_event): translate clicks on the 3*2
         new kinds of button to the new grab ops. (#96229)

        * frames.c (meta_frames_button_release_event): implement the various
        actions for the 3*2 new kinds of button. (#96229)

        * frames.c (meta_frames_update_prelit_control,
         meta_frames_motion_notify_event): extend existing motion
         notifications for buttons to the 3*2 new kinds of button. (#96229)

        * frames.c (meta_frames_set_window_background): handle specified
         background colours and alpha transparency. (#151261)

        * frames.h (MetaFrameControl): New control types for the 3*2 new kinds
	 of button.  (#96229)

        * iconcache.[ch] (meta_read_icons): use theme's fallback icons if a
	 window has no icon; use metacity's fallback icons only if the theme
         does not provide any. (#11363)

        * iconcache.[ch] (meta_invalidate_default_icons (new function)): clear
         icon cache on windows using default icons, and update them. (#11363)

        * main.c (main): added \n to error message.

        * prefs.c (button_function_from_string): extend for 3 new button
	 types. (#96229)

        * prefs.c (button_opposite_function (new function)): return a button
         function's inverse (shade -> unshade, etc) (#96229)

        * prefs.c (update_button_layout): allocate space for a button's
	 inverse, if it has one. (#96229)

        * theme-parser.c (ParseState): add state for fallback icons (#11363)

        * theme-parser.c (ParseInfo): add format_version; remove
         menu_icon_* (#114305)

        * theme-parser.c (parse_positive_integer): add lookup for integer
	 constants (#331356)

        * theme-parser.c (parse_rounding (new function)): parse window
	 rounding amount (#113162)

        * theme-parser.c (parse_alpha): don't set error if the number can't
	 be parsed since it'll already be set; change tolerance in comparison
	 from 1e6 to 1e-6

        * theme-parser.c (parse_color (new function)): parse colour, including
	 possible constant lookup.

        * theme-parser.c (parse_toplevel_element): allow defining of various
	new kinds of constant; allow
	hide_buttons (#121639) and more detailed rounding attributes on
	<frame_geometry> (#113162); allow background and alpha attributes on
	<frame_style>; (#151261) remove support for <menu_icon> except as
	stub; (#114305) add support for loading stock images (#113465); add
        support for <fallback>. (#11363))

        * theme-parser.c (parse_draw_op_element): add from and to attribute
         for arcs. (#121603)

        * theme-parser.c (parse_style_element): add check for theme version
         supporting a button function. (#96229)

        * theme-parser.c (parse_style_set_element): add ability for shaded
	 windows to be resizable (#114304)

        * theme-parser.c (meta_theme_load): add theme versioning routine.

        * theme.c ( meta_frame_layout_get_borders): return rectangles for
	 the new 3*2 kinds of button, except where they're
         inapplicable. (#96229)

        * theme.c (meta_frame_layout_calc_geometry): don't format buttons on
	windows with no buttons (#121639); strip the 3*2 new kinds of button
	correctly (#96229); allow variable amounts of rounding (#113162).

        * theme.c (meta_frame_style_new): set alpha to 255 by
        default. (#151261)

        * theme.c (meta_frame_style_unref): free colour spec if
        allocated. (#151261)

        * theme.c (meta_frame_style_validate): it's only an error not to
        include a button if that button is valid in the current
        theme. (#96229)

        * theme.c (button_rect): return rectangles for the new 3*2 kinds
	of button. (#96229)

        * theme.c (meta_frame_style_set_unref): free differently resizable
	shaded styles. (#114304)

        * theme.c (get_style): look up differently resizable styles
        for shaded windows. (#114304)

        * theme.c (free_menu_ops (removed function), get_menu_icon
	 (removed function), meta_theme_draw_menu_icon (removed function),
         meta_menu_icon_type_from_string (removed function),
         meta_menu_icon_type_to_string (removed function),
         meta_theme_free, meta_theme_validate): removed menu icon code. (#114305)

        * theme.c (meta_theme_load_image): add size_of_theme_icons
	parameter. (#113465)

        * theme.c (meta_theme_define_color_constant (new function),
        meta_theme_lookup_color_constant (new function)): allow
        definition of colour constants. (#129747)

        * theme.c (meta_button_type_from_string, meta_button_type_to_string):
        add the 3*2 new kinds of button. (#96229)

        * theme.c (meta_theme_earliest_version_with_button (new function)):
        return the theme version each button was introduced in. (#96229)

        * theme.h ( MetaFrameLayout): add "hide_buttons" flag (#121639) and
	corner radiuses. (#113162)

        * theme.h (MetaFrameGeometry): add rectangles for the 3*2 new
	buttons. (#96229)

        * theme.h (MetaButtonType): the 3*2 new buttons. (#96229)

        * theme.h (MetaFrameStyle): add window_background_color and
        window_background_alpha so that we can specify background on a
        <frame_style>. (#151261)

        * theme.h (MetaFrameStyleSet): shaded_styles gets resize
	dimension. (#114304)

        * theme.h (MetaTheme): added format_version, color_constants
        hash, (#129747) fallback_icon and fallback_mini_icon, (#11363)
        and removed menu_icons. (#114305)

        * theme.h (META_THEME_ALLOWS (new macro)): return whether a theme
        supports a given feature. Also, several macros representing
        new features in v2.

        * ui.c (meta_ui_set_current_theme)): also invalidate default
        icons. (#11363)

        * window.[ch] (meta_window_update_icon_now)): became
	non-static. (#11363)
2006-10-07 16:56:47 +00:00
Elijah Newren
9e341dd4d8 Be nice to translators; remove unnecessary markup from strings marked for
2006-10-06  Elijah Newren  <newren gmail com>

	* src/metacity-dialog.c (kill_window_question): Be nice to
	translators; remove unnecessary markup from strings marked for
	translation (oops, I missed this in my review before previous
	commit)
2006-10-07 00:10:35 +00:00
Elijah Newren
2168cd3eb7 Patch from Bruno Boaventura to improve the "Force Quit" dialog. #121936
2006-10-06  Elijah Newren  <newren gmail com>

	* src/metacity-dialog.c (kill_window_question): Patch from Bruno
	Boaventura to improve the "Force Quit" dialog.  #121936
2006-10-06 22:02:48 +00:00
Elijah Newren
25910508ae Ignore edge resistance for size-increment windows when resizing with the
2006-10-02  Elijah Newren  <newren gmail com>

	Ignore edge resistance for size-increment windows when resizing
	with the keyboard.  #346782.

	* src/edge-resistance.c (apply_edge_resistance_to_each_side):
	ignore edge resistance for size-increment windows when resizing
	with the keyboard, (apply_edge_resistance_to_each_side,
	meta_window_edge_resistance_for_move,
	meta_window_edge_resistance_for_resize): pass a is_resize
	parameter as well
2006-10-02 22:48:40 +00:00
Elijah Newren
c4fa0d118c Don't require a push/pop trap around
2006-10-01  Elijah Newren  <newren gmail com>

	* src/display.c (meta_display_set_input_focus_window):
	* src/window.c (meta_window_focus):
	Don't require a push/pop trap around
	meta_display_set_input_focus_window(), but rather move the
	push/pop into that function surrounding the XSetInputFocus() call
	directly.  Follow up to #358514.
2006-10-02 04:08:33 +00:00
Elijah Newren
0201fcfc6c Stick an emacs comment directive at the beginning of all the code files so
2006-10-01  Elijah Newren  <newren gmail com>

	* src/*.[ch]: Stick an emacs comment directive at the beginning of
	all the code files so that people using emacs will be more likely
	to get coding style correct in their patches.  We still need a
	similar vi directive.  #358866
2006-10-01 22:30:10 +00:00
Elijah Newren
07e4cacf14 Patch from Carlo Wood to ensure that maximized and minimized properties
2006-10-01  Elijah Newren  <newren gmail com>

	Patch from Carlo Wood to ensure that maximized and minimized
	properties are maintained across restarts.  #358042.

	* src/constraints.c (place_window_if_needed): fix up partial
	maximization handling and add minimize_after_placement handling.

	* src/display.[ch] (struct MetaDisplay, meta_display_open): add a
	new display->display_opening flag to allow handling startup
	differently where needed.

	* src/window-props.c (reload_net_wm_state): handle
	_net_wm_state_hidden as well, setting
	window->minimize_after_placement appropriately

	* src/window.[ch] (struct MetaWindow, meta_window_new_with_attrs):
	add a window->minimize_after_placement field

	* src/window.c (meta_window_new_with_attrs): only unminimize the
	window and its transients if the display isn't being opened,
	(unmaximize_window_before_freeing): don't reset the state unless
	the window is becoming withdrawn, if the screen is being closed be
	sure to save the unmaximized state of the window so the next
	window manager can restore it
2006-10-01 21:59:09 +00:00
Elijah Newren
79eb53bd53 surround the XDeleteProperty() call with a
2006-10-01  Elijah Newren  <newren gmail com>

	* src/window-props.c (set_title_text): surround the
	XDeleteProperty() call with a
	meta_error_trap_push/meta_error_trap_pop pair to prevent a crash
	when closing a remote instance of gedit (and perhaps other apps).
	#358514.
2006-10-01 21:36:10 +00:00
Elijah Newren
b694312f1c Fix longstanding focus bug with mouse (not sloppy) focus mode with popup
2006-10-01  Elijah Newren  <newren gmail com>

	Fix longstanding focus bug with mouse (not sloppy) focus mode with
	popup override-redirect windows, particularly mozilla and
	firefox's location bar autocompletion.  #357695.

	* src/display.c (event_callback -- EnterNotify & LeaveNotify events):
	for mouse focus, defocus the focused window when the mouse enters
	the desktop window rather than when the mouse leaves the focused
	window.

	* doc/how-to-get-focus-right.txt:
	update for the slightly nuanced definition of mouse focus (people
	without a DESKTOP window like nautilus get sloppy focus behavior
	now)
2006-10-01 18:10:24 +00:00
Elijah Newren
b01408f358 Patch from Bruno Boaventura to add notes to remind translators to keep
2006-09-27  Elijah Newren  <newren gmail com>

	* src/menu.c (var menuitems): Patch from Bruno Boaventura to add
	notes to remind translators to keep translations in sync with
	libwnck.  #355620.
2006-09-28 00:32:23 +00:00
Elijah Newren
569ff8a34c Patch from Jens Granseuer to fix c89 cleanness, again. #356631.
2006-09-18  Elijah Newren  <newren gmail com>

	* src/window.c (meta_window_show): Patch from Jens Granseuer to
	fix c89 cleanness, again.  #356631.
2006-09-18 22:00:57 +00:00
Elijah Newren
2d73af1530 Ignore maximum size hints when maximizing. Should fix #327543 (see comment
2006-09-18  Elijah Newren  <newren gmail com>

	* src/constraints.c (constrain_maximization): Ignore maximum size
	hints when maximizing.  Should fix #327543 (see comment 4 and comment
	5).
2006-09-18 21:08:46 +00:00
Elijah Newren
470dc30174 avoid a compilation warning by making sure to return something. #348067
2006-09-18  Elijah Newren  <newren gmail com>

	* src/ui.c (filter_func): avoid a compilation warning by making
	sure to return something.  #348067
2006-09-18 20:27:26 +00:00
Thomas James Alexander Thurman
7dd25001ce Branched for Gnome 2.17. 2006-09-18 20:25:12 +00:00
Thomas James Alexander Thurman
8938ea3fa1 post-release bump to 2.16.3
* configure.in: post-release bump to 2.16.3
2006-09-18 19:41:08 +00:00
Thomas James Alexander Thurman
df93236627 2.16.2 release
* NEWS: 2.16.2 release
2006-09-18 19:27:47 +00:00
Elijah Newren
5c587726ae Partial audit to fix timestamp usage. One step towards fixing #355180; see
2006-09-18  Elijah Newren  <newren gmail com>

	Partial audit to fix timestamp usage.  One step towards fixing
	#355180; see important comments in that bug.

	* src/core.[ch] (meta_core_unshade, meta_core_shade):
	* src/delete.c (meta_window_present_delete_dialog,
	  delete_ping_timeout_func):
	* src/display.[ch] (meta_display_open, meta_display_close,
	  event_callback, meta_display_begin_grab_op,
	  process_selection_clear, meta_display_unmanage_screen,
	  meta_display_unmanage_windows_for_screen):
	* src/frames.c (meta_frames_button_press_event):
	* src/keybindings.c (handle_toggle_shade):
	* src/main.c (main):
	* src/screen.[ch] (update_num_workspaces, meta_screen_new,
	  meta_screen_free, prefs_changed_callback):
	* src/window.[ch] (meta_window_free, finish_minimize,
	  implement_showing, meta_window_show, meta_window_maximize,
	  meta_window_make_fullscreen_internal,
	  meta_window_unmake_fullscreen, meta_window_shade,
	  meta_window_unshade, window_activate, send_sync_request,
	  meta_window_client_message, menu_callback,
	  meta_window_update_keyboard_resize):
	Remove usage of CurrentTime, meta_display_get_current_time() and
	meta_display_get_current_time_roundtrip() where possible, or
	document why it isn't possible, or at very least add a FIXME with
	some explanation of my laziness and what needs to be done.
2006-09-18 17:27:24 +00:00
Elijah Newren
87100b64d9 Patch from Maik Beckmann to remove compilation warnings. Fixes #355876.
2006-09-18  Elijah Newren  <newren gmail com>

	* src/spring-model.c (on_end_move, model_is_calm): Patch from Maik
	Beckmann to remove compilation warnings.  Fixes #355876.
2006-09-18 16:31:25 +00:00
Elijah Newren
def5a12ff0 Make detection of stable vs. unstable automatic and based upon the version
2006-09-18  Elijah Newren  <newren gmail com>

	* configure.in: Make detection of stable vs. unstable automatic
	and based upon the version number.  Partially based on patch from
	Christian Hamar in #356122.  Fixes #356122.
2006-09-18 16:18:37 +00:00
Elijah Newren
b004ef4e15 update -- we depend on gtk+ >= 2.10 since Vincent's July patches for
2006-09-13  Elijah Newren  <newren gmail com>

	* HACKING: update -- we depend on gtk+ >= 2.10 since Vincent's
	July patches for #348633.
2006-09-14 05:06:10 +00:00
Elijah Newren
8144a962e7 Patch from Thomas Andersen to make windows be stacked correctly before
2006-09-13  Elijah Newren  <newren gmail com>

	* src/window.c (meta_window_show): Patch from Thomas Andersen to
	make windows be stacked correctly before showing them, to prevent
	flicker with focus stealing prevention.  #332385.
2006-09-13 22:21:19 +00:00
Elijah Newren
3b0478776d Fix issues on 64-bit machines with timestamps by using guint32 (like gtk+
2006-09-13  Elijah Newren  <newren gmail com>

	* src/common.h (MetaWindowMenuFunc):
	* src/core.[ch] (meta_core_user_lower_and_unfocus,
	  meta_core_user_focus, meta_core_show_window_menu,
	  meta_core_begin_grab_op, meta_core_end_grab_op):
	* src/delete.c (delete_ping_reply_func, delete_ping_timeout_func,
	  meta_window_delete):
	* src/display.[ch] (struct MetaDisplay, struct MetaPingData,
	  sanity_check_timestamps, meta_display_open, event_callback,
	  meta_spew_event, meta_display_set_grab_op_cursor,
	  meta_display_begin_grab_op, meta_display_end_grab_op,
	  meta_display_ping_timeout, meta_display_ping_window,
	  process_pong_message, timestamp_too_old,
	  meta_display_set_input_focus_window):
	* src/keybindings.[ch] (grab_keyboard, ungrab_keyboard,
	  meta_screen_grab_all_keys, meta_window_grab_all_keys,
	  meta_window_ungrab_all_keys, error_on_generic_command,
	  error_on_command, error_on_terminal_command):
	* src/metacity-dialog.c (on_realize, warn_about_no_sm_support,
	  error_about_command, main):
	* src/screen.[ch] (struct _MetaScreen, meta_screen_new,
	  meta_screen_show_desktop, meta_screen_apply_startup_properties):
	* src/session.c (warn_about_lame_clients_and_finish_interact):
	* src/window.[ch] (struct _MetaWindow,
	  intervening_user_event_occurred, window_activate,
	  meta_window_delete, meta_window_focus,
	  meta_window_send_icccm_message, meta_window_client_message,
	  menu_callback, meta_window_show_menu, struct EventScannerData,
	  check_use_this_motion_notify, meta_window_begin_grab_op,
	  meta_window_set_user_time):
	* src/workspace.[ch] (focus_ancestor_or_mru_window,
	  meta_workspace_activate_with_focus, meta_workspace_activate,
	  meta_workspace_focus_default_window,
	  focus_ancestor_or_mru_window):
	Fix issues on 64-bit machines with timestamps by using guint32
	(like gtk+ does) instead of Time.  #348305
2006-09-13 16:32:33 +00:00
Elijah Newren
3fac671fc8 patch from Bruno Boaventura de Oliveira to fix a compiler warning about
2006-09-12  Elijah Newren  <newren gmail com>

	* src/theme.c (meta_gtk_arrow_from_string,
	meta_gtk_arrow_to_string): patch from Bruno Boaventura de Oliveira
	to fix a compiler warning about not handling GTK_ARRROW_NONE.
	#355490.
2006-09-13 03:14:16 +00:00
Elijah Newren
199e2b6988 Patch from Bruno Boaventura de Oliveira Lacerda to fix warnings about
2006-09-11  Elijah Newren  <newren gmail com>

	* src/compositor.c: Patch from Bruno Boaventura de Oliveira
	Lacerda to fix warnings about unused function and global var.
	#355489.
2006-09-13 01:14:03 +00:00
Thomas James Alexander Thurman
277236f730 2.16.2 post-release bump 2006-09-11 18:54:37 +00:00
Elijah Newren
189c8b9b11 Fix build when XKB not found. #354211
2006-09-09  Elijah Newren  <newren gmail com>

	* src/display.c (meta_display_open): Fix build when XKB not found.
	#354211
2006-09-10 04:29:14 +00:00
Elijah Newren
555d7dc90c Avoid a stuck grab, preventing focus from being transferred between
2006-09-09  Elijah Newren  <newren gmail com>

	Avoid a stuck grab, preventing focus from being transferred
	between windows.  Thanks to Fryderyk Dziarmagowski for steps to
	reproduce.  Fixes at least part of #354422.

	* src/display.c (meta_display_begin_grab_op,
	meta_display_end_grab_op): pass timestamp to
	meta_screen_ungrab_all_keys, meta_screen_ungrab_all_keys, and
	meta_window_ungrab_all_keys

	* src/keybindings.[ch] (grab_keyboard, ungrab_keyboard): add a
	timestamp parameter and remove call to
	meta_display_get_current_time(), (meta_screen_grab_all_keys,
	meta_screen_ungrab_all_keys, meta_window_ungrab_all_keys): add a
	timestamp parameter and pass it on to grab_keyboard and
	ungrab_keyboard
2006-09-09 20:19:56 +00:00
Elijah Newren
b62aba4401 make sure windows returning from fullscreen mode are constrained to be
2006-09-07  Elijah Newren  <newren gmail com>

	* src/constraints.c (update_onscreen_requirements): make sure
	windows returning from fullscreen mode are constrained to be
	"onscreen"; fixes #353699.
2006-09-07 23:05:00 +00:00
Colin Watson
3800dac492 Clear window->xtransient_for after emitting the invalid window warning.
2006-08-30  Colin Watson  <cjwatson@ubuntu.com>

	* src/window-props.c (reload_transient_for): Clear
	window->xtransient_for after emitting the invalid window warning.
	#353540
2006-09-07 23:00:27 +00:00
Elijah Newren
bba4df7187 Patch from Bruno Boaventura de Oliveira Lacerda to replace
2006-09-07  Elijah Newren  <newren gmail com>

	* src/metacity-dialog.c: Patch from Bruno Boaventura de Oliveira
	Lacerda to replace copy_of_gdk_x11_window_set_user_time() with
	gdk_x11_window_set_user_time().  We've long since adopted gtk+ >=
	2.6 as a dependency.  #352293
2006-09-07 22:57:36 +00:00
Thomas James Alexander Thurman
28ae1b40df post-release version bump to 2.16.1 2006-09-04 17:31:41 +00:00
Elijah Newren
7a68a53322 Patch from Jens Granseuer to fix the build with c89/gcc 2.95.
2006-08-22  Elijah Newren  <newren gmail com>

        * src/metacity-dialog.c (main): Patch from Jens Granseuer to fix
        the build with c89/gcc 2.95.
2006-08-22 17:29:36 +00:00
Elijah Newren
c7c4efa1c1 Oops, forgot to mention the translators in the 2.15.34 release; add them
2006-08-21  Elijah Newren  <newren gmail com>

	* NEWS: Oops, forgot to mention the translators in the 2.15.34
	release; add them retroactively
2006-08-21 22:07:58 +00:00
Elijah Newren
e38609f4a2 post-release version bump to 2.15.55
2006-08-21  Elijah Newren  <newren gmail com>

	* configure.in: post-release version bump to 2.15.55
2006-08-21 22:02:24 +00:00
Elijah Newren
9d320ba435 2.15.34 release
2006-08-21  Elijah Newren  <newren gmail com>

	* NEWS:	2.15.34 release
2006-08-21 21:59:54 +00:00
Elijah Newren
18107f5f36 Patch from Thomas Andersen to fix metacity-dialog handling of arguments.
2006-08-21  Elijah Newren  <newren gmail com>

	Patch from Thomas Andersen to fix metacity-dialog handling of
	arguments.  #340690

	* src/metacity-dialog.c (main): replace hackish argument parsing
	with GOption parsing.  Much nicer.  :)
2006-08-21 19:16:08 +00:00
Elijah Newren
88b9efd0b7 Patch from Ed Catmur to fix keybindings with hex-values (coming from
2006-08-21  Elijah Newren  <newren gmail com>

	Patch from Ed Catmur to fix keybindings with hex-values (coming
	from special extended keyboard keys).  #140448.

	* src/keybindings.c (struct _MetaKeyBinding): change keycode from
	KeyCode to unsigned int (comment from Elijah: why???),
	(reload_keycodes): only grab keysyms for keybindings that have
	them, (count_bindings, rebuild_binding_table): bindings can be
	valid either due to a valid keysym or a valid keycode,
	(display_get_keybinding_action, meta_change_keygrab,
	process_tab_grab, process_workspace_switch_grab): handle keycode
	as well as keysym

	* src/prefs.[ch] (struct MetaKeyCombo, update_binding,
	update_list_binding): handle keycode as well as keysym

	* src/ui.[ch] (meta_ui_accelerator_parse): new function special
	cases strings of the form "0x[0-9a-fA-F]+" and otherwise calling
	gtk_accelerator_parse(), (meta_ui_parse_accelerator,
	meta_ui_parse_modifier): call meta_ui_accelerator_parse instead of
	gtk_accelerator_parse.
2006-08-21 19:06:26 +00:00
Elijah Newren
7489dbc34e Allow drags & resizes to be reverted by hitting escape. Based on patch
2006-08-21  Elijah Newren  <newren gmail com>

	Allow drags & resizes to be reverted by hitting escape.  Based on
	patch from Thomas Andersen.  #126497.

	* src/display.c (grab_op_is_mouse_only): new function,
	(meta_display_begin_grab_op): grab the keyboard when moving or
	resizing too so that we can get escape keypresses

	* src/display.h (struct _MetaDisplay): add a comment to remind
	that grab_was_cancelled is only used in wireframe mode

	* src/keybindings.[ch] (process_mouse_move_resize_grab): add new
	function for handling keypresses during mouse-only moving and
	resizing, (meta_window_grab_all_keys): add a timestamp parameter
	and pass it to meta_window_focus(),
	(meta_display_process_key_event): make sure
	process_mouse_move_resize_grab() gets called when needed,
	(process_keyboard_move_grab, process_keyboard_resize_grab):
	rearrange some code slightly and improve the comments to make it
	more readable
2006-08-21 18:38:21 +00:00
Elijah Newren
4c96afba71 Fix several bugs with handling of fullscreen windows, causing them to not
2006-08-21  Elijah Newren  <newren gmail com>

	Fix several bugs with handling of fullscreen windows, causing them
	to not actually be fullscreen.  #343115 (and also #346927,
	#350547, #351643, the recent additional WINE-related issue
	mentioned on the mailing list, and probably others...)

	* src/constraints.c (setup_constraint_info): if a window tries to
	resize to fullscreen-size and it has a fullscreen function but
	isn't actually marked as fullscreen then assist it by marking it
	as such, (constrain_fully_onscreen, constrain_titlebar_visible):
	ignore this constraint for fullscreen windows since such windows
	have a separate specialized constraint

	* src/stack.c (window_is_fullscreen_size, get_standalone_layer):
	remove the old window_is_fullscreen_size() hack for detecting
	windows to treat as fullscreen since it doesn't work well with the
	new constraints framework (i.e. we needed a slightly different
	hack)

	* src/window.[ch] (meta_window_new_with_addrs): shuffle the order
	of adding the window to the stack and moveresizing the window
	since moveresizing can cause stack changes if the window's initial
	size is fullscreen size, (meta_window_make_fullscreen,
	meta_window_make_fullscreen_internal): split
	meta_window_make_fullscreen() similar to meta_window_maximize() so
	that constraints can make use of it
2006-08-21 18:08:05 +00:00
Baptiste Mille-Mathias
7ea55a1e54 Update the pixmap to a new one which fit better with the other pixmaps of
2006-08-19 Baptiste Mille-Mathias <baptiste.millemathias@gmail.com>

        * src/stock_delete.png: Update the pixmap to a new one which
        fit better with the other pixmaps of the menu. First patch in
        metacity, woot! #345498
2006-08-20 19:44:52 +00:00
Elijah Newren
1f5130dc93 Patch from Willie Walker to restore the part of the patch that I should
2006-08-18  Elijah Newren  <newren gmail com>

	* src/tabpopup.c (meta_ui_tab_popup_new): Patch from Willie Walker
	to restore the part of the patch that I should not have reverted
	in #123372, in order to fix accessibility.  #350624
2006-08-18 17:32:58 +00:00
Elijah Newren
c47e425527 Get the date right, sheesh. You'd think I'd remember what the day was today. 2006-08-09 19:19:28 +00:00
Elijah Newren
9051b70d40 Vytautus Liuolia totally rocks; he tested and debugged and tracked down
2006-08-07  Elijah Newren  <newren gmail com>

	* src/window.c (intervening_user_event_occurred): Vytautus Liuolia
	totally rocks; he tested and debugged and tracked down where we
	were using the focus window's net_wm_user_time even when it was
	uninitialized.  This may fix bug 311868 and others I've heard
	about (with Valknut, IIRC).  It definitely fixes the issues Vytas
	was seeing with his single instance library.  :-)
2006-08-09 18:32:30 +00:00
Elijah Newren
9fe845581b patch from Stéphane Rosi to allow moving maximized windows between
2006-08-07  Elijah Newren  <newren gmail com>

	* src/constraints.c (setup_constraint_info): patch from Stéphane
	Rosi to allow moving maximized windows between xineramas again.
	#323820
2006-08-08 00:36:04 +00:00
Elijah Newren
fc23f9b22f post-release version bump to 2.15.34
2006-08-07  Elijah Newren  <newren gmail com>

	* configure.in: post-release version bump to 2.15.34
2006-08-07 23:54:01 +00:00
Elijah Newren
cbd0312605 2.15.21 release
2006-08-07  Elijah Newren  <newren gmail com>

	* NEWS:	2.15.21 release
2006-08-07 23:53:03 +00:00
Elijah Newren
57bedc42a4 Add a constrain_titlebar_visible constraint; should fix both bug 333328
2006-08-07  Elijah Newren  <newren gmail com>

	Add a constrain_titlebar_visible constraint; should fix both bug
	333328 and bug 345522.  Not perfect (minor annoying snap pulling
	windows back onscreen, plus an ugly hack almost as bad as the old
	one), but tarballs are due in less than half an hour.  ;-)

	* src/boxes.[ch] (meta_rectangle_overlaps_with_region):
	new function

	* src/constraints.c (constrain_titlebar_visible): new function,
	  (enum ConstraintPriority, array all_constraints,
	  update_onscreen_requirements): various small changes to
	  accomodate the new function

	* src/edge-resistance.c: remove the infinite edge resistance,
	which was a big hack of a way to workaround the lack of a
	titlebar_visible constraint

	* src/window.[ch] (MetaWindow): new require_titlebar_visible
	bitfield, (meta_window_new_with_attrs): initialized here
2006-08-07 23:34:55 +00:00
Elijah Newren
acc6c97997 Patch from Chris Ball to not minimize in response to double clicks on the
2006-08-07  Elijah Newren  <newren gmail com>

	* src/frames.c (meta_frames_button_press_event): Patch from Chris
	Ball to not minimize in response to double clicks on the titlebar
	when minimiziation should not be allowed.  #347377
2006-08-07 22:06:25 +00:00
Elijah Newren
dcef402d68 Patch from Björn Lindqvist to fix button lighting with dragged clicks.
2006-08-07  Elijah Newren  <newren gmail com>

	Patch from Björn Lindqvist to fix button lighting with dragged
	clicks.  #321474.

	* src/frames.c (meta_frames_button_press_event): update the
	prelit_control, (meta_frames_button_release_event): some code
	refactoring to simplify things a bit, and make sure to update the
	prelit_control
2006-08-07 21:04:44 +00:00
Elijah Newren
d4973e8d1b Patch from Thomas Andersen to return the window to maximized state if the
2006-08-07  Elijah Newren  <newren gmail com>

	* src/keybindings.c (process_keyboard_move_grab): Patch from
	Thomas Andersen to return the window to maximized state if the
	window was "shaken loose" from maximized state during a resize but
	the resize is later aborted.  #346719.
2006-08-07 19:24:41 +00:00
Elijah Newren
adc46fc970 Patch from Vytautas Liuolia to react to _NET_STARTUP_ID changes, as
2006-08-07  Elijah Newren  <newren gmail com>

	Patch from Vytautas Liuolia to react to _NET_STARTUP_ID changes,
	as proposed for the new startup-notification/EWMH spec.  #347515

	* src/window-props.c (reload_net_startup_id): be sure to act on
	the new id instead of just recording it

	* src/window.[ch] (window_activate, meta_window_activate,
	  meta_window_activate_with_workspace, meta_window_client_message):
	change window_activate() to take a workspace parameter instead of
	hardcoding to the current workspace, add
	meta_window_activate_with_workspace() function needed by
	reload_net_startup_id().
2006-08-07 18:08:27 +00:00
Thomas James Alexander Thurman
3917d818f5 (#97703) 2006-08-07 18:02:33 +00:00
Thomas Thurman
cc5def1021 add new MetaButtonSpace struct; use it for close_rect, max_rect, min_rect
2006-08-07  Thomas Thurman  <thomas@thurman.org.uk>

        * src/frames.h: add new MetaButtonSpace struct; use it for
        close_rect, max_rect, min_rect and menu_rect.

        * src/frames.c (control_rect, get_control): modify to support
        the new fields in MetaButtonSpace.

        * src/theme.c (meta_frame_layout_get_borders, rect_for_function,
        meta_frame_layout_calc_geometry, button_rect): add support for
        the new fields in MetaButtonSpace.
2006-08-07 18:01:21 +00:00
Elijah Newren
77a331a1e3 patch from Dmitry Timoshkov to make sure window features get recalculated
2006-08-07  Elijah Newren  <newren gmail com>

	* src/screen.c (meta_screen_resize_func): patch from Dmitry
	Timoshkov to make sure window features get recalculated when the
	screen is resized via XRandR.  Part of #346927.
2006-08-07 17:18:33 +00:00
Elijah Newren
74d4768b8e Patch from Dmitry Timoshkov to fix the heuristic for determining if
2006-08-04  Elijah Newren  <newren gmail com>

	Patch from Dmitry Timoshkov to fix the heuristic for determining
	if windows can be made fullscreen (needed for WINE and possible
	also some legacy applications).  Part of #346927.

	* src/window.c (recalc_window_features): ignore window decoration
	when checking size for determing whether an unresizable window
	should be allowed ot be considered for fullscreening
2006-08-04 22:33:20 +00:00
Thomas James Alexander Thurman
76e4fd8a07 Make it so maximized windows do not have rounded corners. #336850. 2006-07-31 19:56:56 +00:00
Thomas James Alexander Thurman
7d8087f3e8 Fix another C89 vs. C99 issue. #347621. 2006-07-30 18:32:40 +00:00
Vincent Untz
419e063a24 also kill this
2006-07-26  Vincent Untz  <vuntz@gnome.org>

	* src/update-from-egg.sh: also kill this
2006-07-26 08:31:05 +00:00
Thomas James Alexander Thurman
6e4d6da191 Kill usage of libegg. #348633. 2006-07-26 02:06:17 +00:00
Elijah Newren
9c75b95146 Oops, small correction I missed by not saving before committing earlier 2006-07-24 22:07:12 +00:00
Thomas James Alexander Thurman
edfaf1a6bc post-release version bump to 2.15.21 2006-07-24 18:36:01 +00:00
Thomas James Alexander Thurman
1538ffa04c ==================================================
metacity-2.15.13 archives ready for distribution:
metacity-2.15.13.tar.gz
==================================================
2006-07-24 18:32:08 +00:00
Björn Lindqvist
3d661f9bc7 Grab Alt+Shift+Button1 as well to partially fix operation ordering issues
2006-07-24  Björn Lindqvist  <bjourne@gmail.com>

	* src/display.c (meta_display_grab_window_buttons): Grab
	Alt+Shift+Button1 as well to partially fix operation ordering
	issues when trying to snap-move windows.  Part of #112478.
2006-07-24 17:15:32 +00:00
Thomas James Alexander Thurman
5e85bf7210 Avoid a case where a struct's fields might be updated after it was freed.
* ui.[ch] (filter_func): Avoid a case where a struct's
fields might be updated after it was freed. #348067.
2006-07-22 01:45:21 +00:00
Elijah Newren
8afa1da3a7 post-release version bump to 2.15.13
2006-07-10  Elijah Newren  <newren gmail com>

	* configure.in: post-release version bump to 2.15.13
2006-07-11 00:07:48 +00:00
Elijah Newren
f0c5312b6e 2.15.8 release
2006-07-10  Elijah Newren  <newren gmail com>

	* NEWS:	2.15.8 release
2006-07-11 00:03:53 +00:00
Elijah Newren
a067105a14 post-release version bump to 2.15.8
2006-06-12  Elijah Newren  <newren gmail com>

	* configure.in: post-release version bump to 2.15.8
2006-06-12 23:50:55 +00:00
Elijah Newren
76291d31b7 2.15.5 release
2006-06-12  Elijah Newren  <newren gmail com>

	* NEWS:	2.15.5 release
2006-06-12 23:48:16 +00:00
Elijah Newren
bcbdfbe177 Patch from Aidan Delaney to tidy tabpopup.c by factoring out
2006-06-10  Elijah Newren  <newren gmail com>

	Patch from Aidan Delaney to tidy tabpopup.c by factoring out
	tab_entry_new().  #166890.

	* src/tabpopup.c (tab_entry_new): new function,
	(meta_ui_tab_popup_new): use tab_entry_new() to remove a big chunk
	of code, plus a few other small cleanups.
2006-06-11 02:44:55 +00:00
Søren Sandmann
5eaf79f6fa Bunp intltool requirement to 0.35.0.
Tue Jun  6 12:46:42 2006  Søren Sandmann  <sandmann@redhat.com>

	* configure.in (GETTEXT_PACKAGE): Bunp intltool requirement to
	0.35.0.
2006-06-06 16:48:57 +00:00
Elijah Newren
1cabbfef25 Slightly more detailed instructions on setting up a build environment to
2006-05-29  Elijah Newren  <newren gmail com>

	* HACKING: Slightly more detailed instructions on setting up a
	build environment to mention relevant development tools in
	addition to the needed development libraries.
2006-05-29 17:55:23 +00:00
Søren Sandmann
4a06163710 Run an unminimize effect
Fri May 26 16:48:29 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/effects.c (meta_effect_run_unminimize): Run an unminimize effect

        * src/window.c (meta_window_unminimize): Store a "was_minimized"
        boolean in the window.

        * src/window.c (meta_window_show): If the window was minimized,
        run an unminimize animation.

        * src/c-window.c (meta_comp_window_run_unminimize): Add an
        unminimize animation, running the minimize one in reverse.
2006-05-26 20:50:34 +00:00
Søren Sandmann
83f82e5f28 Rename from _bounce() to _focus().
Fri May 26 14:55:07 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/c-window.c (meta_comp_window_run_focus): Rename from
        _bounce() to _focus().
2006-05-26 18:59:15 +00:00
Elijah Newren
db87abfb19 Fix a crash on exit/logout from assuming a compositor would always exist
2006-05-26  Elijah Newren  <newren gmail com>

	* src/display.c (meta_display_close): Fix a crash on exit/logout
	from assuming a compositor would always exist
2006-05-26 16:51:03 +00:00
Elijah Newren
a8f382019a Remove MetaWindowEdgePosition enum that isn't used anymore
2006-05-25  Elijah Newren  <newren gmail com>

	* src/place.h:
	* src/common.h:
	Remove MetaWindowEdgePosition enum that isn't used anymore
2006-05-26 00:16:52 +00:00
Søren Sandmann
a1324af018 Move duplicated window field outside the union
Thu May 25 15:56:43 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/effects.h (struct MetaEffect): Move duplicated window field
        outside the union

        * src/compositor.c: delete duplicated code to get at the window.
2006-05-25 19:59:20 +00:00
Søren Sandmann
ed37bcc258 Fix compilation in non-compositor case, by moving the stack functions into
Thu May 25 15:17:29 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/c-window.c: Fix compilation in non-compositor case, by
        moving the stack functions into the HAVE_COMPOSITOR defines.
2006-05-25 19:18:34 +00:00
Søren Sandmann
cb84bc3e1d Add a destroy notifier to the window.
Thu May 25 15:11:58 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/c-window.h: Add a destroy notifier to the window.

        * src/c-screen.c (on_window_destroy): New function.

        * src/c-screen.c (meta_comp_screen_add_window): Use the destroy
        notifier here.

        * src/c-window.c (generate_phases): New function. Simplify the
        minimize animation a lot by generating all the rectangle
        information into an array, then processing that.
2006-05-25 19:14:29 +00:00
Adam Jackson
76dff49a3e Bounce on window focus. 2006-05-25 14:40:50 +00:00
Søren Sandmann
6dfb56cc77 Make sure windows are kept on top of the panel during minimize.
Wed May 24 22:15:01 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/compositor.c (do_effect): Make sure windows are kept on top
        of the panel during minimize.
2006-05-25 02:15:49 +00:00
Søren Sandmann
ab1adf6c06 Shrink the window instead of explode it.
Wed May 24 21:17:59 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/compositor.c (do_effect): Shrink the window instead of
        explode it.

        * src/compositor.c (do_effect): don't read the frame if it is
        NULL.

        * src/c-window.c (meta_comp_window_run_minimize): Resurrect the
        shrinking minimize animation.

        * src/c-window.c (meta_comp_window_fade_in): Make dialogs 90%
        translucent.

        * src/c-window.c (update_fade): End at end_fade, not 1.0.
2006-05-25 01:19:03 +00:00
Søren Sandmann Pedersen
0ca0bca0d0 Forgot to commit changelog 2006-05-24 23:19:22 +00:00
Søren Sandmann
7535f0f58a New function
Wed May 24 16:37:11 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/c-window.c (private_metacity_window): New function

        * src/c-window.c (meta_comp_window_refresh_attrs): Map metacity's
        own windows directly.
2006-05-24 20:38:56 +00:00
Søren Sandmann
ca3236f76c Add a stack-freeze feature to CWindow.
Wed May 24 14:36:42 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/c-window.c (meta_comp_window_{freeze,thaw}_stack: Add a
        stack-freeze feature to CWindow.

        * src/c-screen.c (meta_comp_screen_restack): Don't restack if the
        window is frozen.
2006-05-24 18:38:54 +00:00
Søren Sandmann
7d2f0bf1fe Fix compilation in the non-composited case.
Wed May 24 13:09:49 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/c-window.c: Fix compilation in the non-composited case.
2006-05-24 17:10:31 +00:00
Søren Sandmann
3f4e194c8f return TRUE when the window is actually freed.
Wed May 24 12:57:32 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/c-window.c (meta_comp_window_free): return TRUE when the
        window is actually freed.

        * src/compositor.c (do_effect): Disable updating before exploding
        the window.

        * src/c-window.c: Make MetaCompWindow refcounted.

        * src/c-window.[ch]: New functions meta_comp_window_{show,hide}

        * src/c-screen.c (meta_comp_screen_unmap): Call
        meta_comp_window_hide() instead of directly setting the viewable
        status of the node.

        * src/c-screen.c (meta_comp_screen_remove_window): Only remove the
        window when it is actually freed.
2006-05-24 16:58:20 +00:00
Adam Jackson
22bc36eb3b Move shrink effect code from compositor.c to c-window.c. Stubs for
restore effect.  Notes in various places for where to hook in
other effects.
2006-05-23 21:42:34 +00:00
Søren Sandmann
7592470dab Also use explode when windows close.
Tue May 23 16:36:04 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/compositor.c (do_effect): Also use explode when windows close.

        * src/c-window.c (meta_comp_window_explode): Add refcounting to
        comp window, and use it in the explosion effect

        * src/effects.h (struct MetaEffect): Add new MetaCloseEffect.

        * src/display.c (event_callback): Run it from the UnmapNotify
        event handler.
2006-05-23 20:38:18 +00:00
Søren Sandmann
179987132c New function to send a sync request to newly mapped windows.
Tue May 23 15:23:58 2006  Søren Sandmann  <sandmann@redhat.com>

        * src/c-window.c (send_sync_request): New function to send a sync
        request to newly mapped windows.
        (on_request_alarm): Show the window here.
2006-05-23 19:25:29 +00:00
Adam Jackson
1e64cf4a8b Add more effect tokens. 2006-05-23 18:22:09 +00:00
Søren Sandmann
3e5b9776c6 Beginning of new layer that abstracts transition effects.
Mon May 22 17:35:52 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/effects.[ch]: Beginning of new layer that abstracts
	transition effects.

	New functions:
	(meta_push_effect_handler): Install an effect handler
	(meta_pop_effect_handler): Remove last effect handler
	(meta_effect_run_minimize): Create a minimize effect and pass it
	to the handler.
	(meta_effect_end): Called by handler when the effect is finished.

	* src/compositor.c: Move explosion code form there to src/c-window.c.

	* src/c-screen.c: Delete explosion related code.
2006-05-22 21:46:14 +00:00
Björn Lindqvist
cdb94d7e57 Make mouse cursor when moving windows become a hand. Fixes #337376.
2006-05-22  Björn Lindqvist  <bjourne@gmail.com>

	* common.h (enum MetaCursor):
	* display.c (meta_display_create_x_cursor): Make mouse cursor when
	moving windows become a hand. Fixes #337376.
2006-05-22 16:12:28 +00:00