1
0
Fork 0
mutter-performance-source/src
Rob Adams 971f3f1207 Update constraints code to support the new _NET_WM_STRUT_PARTIAL EWMH
2003-06-10  Rob Adams  <robadams@ucla.edu>

	Update constraints code to support the new _NET_WM_STRUT_PARTIAL
	EWMH draft specification.  See #86682.  Also, fix a bug involving
	work area invalidation on metacity startup.  Fix for #108497.
	Finally, some minor fixes for full screen windows.

	* src/window.h: Add new MetaStruts structure to store strut rects
	for a window.  Remove has_struts and do_not_cover flag, and
	support new MetaStruts instead of the four ints.

	* src/window.c (meta_window_new): change initialization to work
	with new struts.  Also, move meta_window_update_struts call to
	after the workspaces are initialized to fix #108497.  Remove
	do_not_cover and related code.
	(process_property_notify): add strut_partial
	(update_struts): change function name to meta_window_update_struts
	and expose in external MetaWindow API.  Support partial width
	struts and the new strut rects.

	* src/workspace.h: add new GSLists containing pointers to all
	relevant struts for this workspace.

	* src/workspace.c (meta_workspace_new): initialize the list of
	strut rects for this workspace.
	(meta_workspace_free): free the strut rect lists
	(ensure_work_areas_validated): support new struts and new strut
	rect lists.  Unleash the per-xinerama work areas.

	* src/constraints.c (get_outermost_onscreen_positions): Use the
	current window position along with the new per-workspace strut
	rects to compute the constraints that apply to a particular
	window.
	(constraint_hint_applies_func): don't do hints constraints on
	fullscreen windows
	(update_position_limits): for maximized windows use the work areas
	to set the position limits; for other windows rely on the struts
	constraints to be computed later in
	get_outermost_onscreen_positions
	(meta_window_constrain): don't apply aspect ratio hints to full
	screen windows

	* src/display.c (meta_display_open): add _NET_WM_STRUT_PARTIAL atom
	(meta_rectangle_equal): new helper function for MetaRectangles
	(event_queue_callback): #ifndef out if USE_GDK_DISPLAY not set to
	avoid compiler warning

	* src/display.h: add atom_net_wm_strut_partial, and add
	meta_rectangle_equal.

	* src/screen.c (meta_screen_rect_intersects_xinerama): change
	_window_intersects_ to _rect_intersects_ which is more useful now.
	(meta_screen_resize_func): update struts on windows with struts
	since struts are relative to the screen size, and this function is
	called when the screen size updates.

	* src/screen.h (meta_screen_rect_intersects_xinerama): change
	_window_intersects_ to _rect_intersects_ which is more useful now.

	* src/window-props.c (meta_display_init_window_prop_hooks): add
	hook for strut_partial

	* src/tools/metacity-window-demo.c: Support partial-width struts
	on the dock window tests for metacity testing purposes.
2003-06-26 03:09:38 +00:00
..
themes Applying a fix for the "X" (close button) from Joe A. <joefefifo@yahoo.com> 2003-06-09 18:56:28 +00:00
tools Update constraints code to support the new _NET_WM_STRUT_PARTIAL EWMH 2003-06-26 03:09:38 +00:00
wm-tester add --noframes option for testing, showing how broken we currently are. 2003-03-29 20:04:19 +00:00
.cvsignore and especially you. 2002-11-26 12:22:39 +00:00
api.c ... 2001-06-03 21:39:57 +00:00
api.h ... 2001-06-03 21:39:57 +00:00
async-getprop.c do not read sizeof(long) off the X connection. The X protocol does not 2003-01-22 23:13:24 +00:00
async-getprop.h new function (meta_prop_get_wm_hints): new function 2002-10-26 16:40:50 +00:00
bell.c Fix for 114940. 2003-06-11 17:55:28 +00:00
bell.h include Xlib.h before XKBlib.h which is required on Solaris. #111877 from 2003-04-29 22:07:47 +00:00
colors.c ... 2001-06-03 18:33:59 +00:00
colors.h ... 2001-06-03 18:33:59 +00:00
common.h Reinstated visual-bell patch, fix for bug 99886. 2003-01-28 15:07:43 +00:00
constraints.c Update constraints code to support the new _NET_WM_STRUT_PARTIAL EWMH 2003-06-26 03:09:38 +00:00
constraints.h disable animation when shading windows, just doesn't really convey the 2002-08-06 04:11:23 +00:00
core.c handle the client having a shape mask, fixes #101806 2003-01-05 07:51:02 +00:00
core.h handle the client having a shape mask, fixes #101806 2003-01-05 07:51:02 +00:00
default_icon.png use the inline image data for default icon 2001-09-17 04:42:37 +00:00
delete.c make this always return FALSE for now, to avoid bug reports. 2002-12-08 19:17:17 +00:00
display.c Update constraints code to support the new _NET_WM_STRUT_PARTIAL EWMH 2003-06-26 03:09:38 +00:00
display.h Update constraints code to support the new _NET_WM_STRUT_PARTIAL EWMH 2003-06-26 03:09:38 +00:00
draw-workspace.c workspace-drawing code factored out of libwnck, needs wiring up to 2002-06-15 22:18:12 +00:00
draw-workspace.h workspace-drawing code factored out of libwnck, needs wiring up to 2002-06-15 22:18:12 +00:00
effects.c call meta_image_window_new in multihead-safe way 2002-10-18 22:46:37 +00:00
effects.h shorten minimize animation a bit 2002-09-30 03:49:22 +00:00
eggaccelerators.c update from libegg to get fix from Ralph Loader for <Super> <Hyper> <Meta> 2002-09-30 03:58:41 +00:00
eggaccelerators.h adapt to virtual modifiers (meta_display_process_mapping_event): we need 2002-07-14 03:16:41 +00:00
errors.c remove XSync calls from here (meta_display_ungrab): remove XSync from 2002-11-04 00:56:12 +00:00
errors.h Optimizations for managing new windows (do not all take effect if 2002-10-21 21:44:35 +00:00
eventqueue.c ... 2001-06-20 03:01:26 +00:00
eventqueue.h ... 2001-06-20 03:01:26 +00:00
fixedtip.c purge HAVE_GTK_MULTIHEAD from the source code, not just from configure.in. 2003-04-21 23:37:42 +00:00
fixedtip.h Add multi-screen support. Also add patch by Erwann Chenede to make 2002-05-08 16:24:28 +00:00
frame.c Reinstated visual-bell patch, fix for bug 99886. 2003-01-28 15:07:43 +00:00
frame.h Reinstated visual-bell patch, fix for bug 99886. 2003-01-28 15:07:43 +00:00
frames.c fix for bug #104018 from David Santiago, change button state to normal 2003-05-16 23:09:49 +00:00
frames.h handle the client having a shape mask, fixes #101806 2003-01-05 07:51:02 +00:00
gradient.c now just uses meta_gradient_add_alpha (draw_op_as_pixbuf): implement alpha 2002-05-31 21:18:11 +00:00
gradient.h now just uses meta_gradient_add_alpha (draw_op_as_pixbuf): implement alpha 2002-05-31 21:18:11 +00:00
group-private.h lengthen to 15 seconds 2002-12-01 03:58:04 +00:00
group-props.c lengthen to 15 seconds 2002-12-01 03:58:04 +00:00
group-props.h lengthen to 15 seconds 2002-12-01 03:58:04 +00:00
group.c don't be stupid and set window->group = NULL after calling 2003-06-04 19:28:19 +00:00
group.h Precompute groups to guarantee that meta_group_list_windows always returns 2003-06-04 19:15:46 +00:00
iconcache.c include config.h 2002-10-27 03:03:32 +00:00
iconcache.h port to icon cache 2002-02-09 23:03:52 +00:00
keybindings.c CVS2003-05-29 Rob Adams <robadams@ucla.edu> 2003-05-30 20:24:00 +00:00
keybindings.h Fixes not being able to tab out of a workspace which contains no windows. 2002-06-27 05:08:32 +00:00
libmetacity-private.pc.in add a pc file for libmetacity-private 2002-11-07 22:09:59 +00:00
main.c s/int/gsize/ for g_file_get_contents() (found independently by 2003-05-30 04:52:12 +00:00
main.h add a restart feature, for debugging 2001-10-15 04:14:58 +00:00
Makefile.am honor --disable-schemas-install. Fix for #106123 from Julio Merino 2003-06-12 17:41:38 +00:00
menu.c purge HAVE_GTK_MULTIHEAD from the source code, not just from configure.in. 2003-04-21 23:37:42 +00:00
menu.h Register window menu icons with the Gtk stock system, instead of using the 2002-08-10 16:47:43 +00:00
metaaccellabel.c use MetaAccelLabel to display accelerators for the menu items 2002-09-27 01:40:17 +00:00
metaaccellabel.h use MetaAccelLabel to display accelerators for the menu items 2002-09-27 01:40:17 +00:00
metacity-dialog.c install an alarm to timeout the no-sm-dialog after 4 minutes of 2003-06-09 18:58:53 +00:00
metacity-Xatomtype.h new function (meta_prop_get_wm_hints): new function 2002-10-26 16:40:50 +00:00
metacity.desktop.in include config.h 2002-10-27 03:03:32 +00:00
metacity.schemas.in fix the location of the schemas file. 2003-06-06 23:31:24 +00:00
place.c Revamp placement policy for windows that are maximized when they are 2003-06-09 23:49:02 +00:00
place.h ... 2001-07-26 03:58:24 +00:00
prefs.c Take control of the panel's global keybindings. The screenshot utility is 2003-02-24 02:16:09 +00:00
prefs.h Take control of the panel's global keybindings. The screenshot utility is 2003-02-24 02:16:09 +00:00
preview-widget.c Button-reordering patch. Has all the code except actually installing a 2002-10-04 02:28:57 +00:00
preview-widget.h Button-reordering patch. Has all the code except actually installing a 2002-10-04 02:28:57 +00:00
resizepopup.c purge HAVE_GTK_MULTIHEAD from the source code, not just from configure.in. 2003-04-21 23:37:42 +00:00
resizepopup.h only create the resize popup if width_inc or height_inc are > 1 2002-10-18 22:37:01 +00:00
run-metacity.sh don't read from op->data.image when the op is an icon 2002-11-13 04:11:52 +00:00
screen.c Update constraints code to support the new _NET_WM_STRUT_PARTIAL EWMH 2003-06-26 03:09:38 +00:00
screen.h Update constraints code to support the new _NET_WM_STRUT_PARTIAL EWMH 2003-06-26 03:09:38 +00:00
session.c workspaces are all per-screen now, fix accordingly 2002-10-16 20:12:24 +00:00
session.h Session saves the unmaximized postion, size of a maximized window. #86059 2002-09-04 02:44:52 +00:00
stack.c chdir to the user's home directory on startup. See #113755. 2003-05-29 17:16:22 +00:00
stack.h Fix for the "mangles focus window when switching workspaces and using 2003-01-22 04:54:04 +00:00
stock_delete.png Register window menu icons with the Gtk stock system, instead of using the 2002-08-10 16:47:43 +00:00
stock_maximize.png Register window menu icons with the Gtk stock system, instead of using the 2002-08-10 16:47:43 +00:00
stock_minimize.png Register window menu icons with the Gtk stock system, instead of using the 2002-08-10 16:47:43 +00:00
tabpopup.c purge HAVE_GTK_MULTIHEAD from the source code, not just from configure.in. 2003-04-21 23:37:42 +00:00
tabpopup.h redo using new calc_workspace_layout to fix #98302 2003-01-05 18:36:01 +00:00
testasyncgetprop.c rig the benchmark a bit ;-) 2002-10-06 19:50:31 +00:00
testgradient.c use MetaMenuIconType not button type for the size of the menu ops array 2002-08-04 20:02:45 +00:00
theme-parser.c s/int/gsize/ for g_file_get_contents() (found independently by 2003-05-30 04:52:12 +00:00
theme-parser.h disable custom log handler and fatal mask for now 2002-02-07 03:07:56 +00:00
theme-viewer.c Button-reordering patch. Has all the code except actually installing a 2002-10-04 02:28:57 +00:00
theme.c Reinstated visual-bell patch, fix for bug 99886. 2003-01-28 15:07:43 +00:00
theme.h Patch from Brian Cameron to implement the vertical/horizontal striped 2002-11-04 17:55:56 +00:00
themewidget.c disable custom log handler and fatal mask for now 2002-02-07 03:07:56 +00:00
themewidget.h disable custom log handler and fatal mask for now 2002-02-07 03:07:56 +00:00
ui.c make raise-on-click explicitly only happen in click to focus mode. 2003-06-12 05:55:06 +00:00
ui.h make raise-on-click explicitly only happen in click to focus mode. 2003-06-12 05:55:06 +00:00
update-from-egg.sh steal from profterm to fix build 2002-07-15 14:18:51 +00:00
util.c redo using new calc_workspace_layout to fix #98302 2003-01-05 18:36:01 +00:00
util.h handle the client having a shape mask, fixes #101806 2003-01-05 07:51:02 +00:00
window-props.c Update constraints code to support the new _NET_WM_STRUT_PARTIAL EWMH 2003-06-26 03:09:38 +00:00
window-props.h Initialize size_hints on window creation using code shared with size_hints property reload 2003-04-26 17:40:32 +00:00
window.c Update constraints code to support the new _NET_WM_STRUT_PARTIAL EWMH 2003-06-26 03:09:38 +00:00
window.h Update constraints code to support the new _NET_WM_STRUT_PARTIAL EWMH 2003-06-26 03:09:38 +00:00
workspace.c Update constraints code to support the new _NET_WM_STRUT_PARTIAL EWMH 2003-06-26 03:09:38 +00:00
workspace.h Update constraints code to support the new _NET_WM_STRUT_PARTIAL EWMH 2003-06-26 03:09:38 +00:00
xprops.c add a comma to message #101401 2002-12-17 18:26:08 +00:00
xprops.h use META_PROP_VALUE_STRING_AS_UTF8 so we convert old Latin-1 WM_NAME to 2002-12-16 22:01:15 +00:00