Binary files ../metacity-2.4.34-base/src/.display.c.swp and src/.display.c.swp differ
diff -uN ../metacity-2.4.34-base/src/Makefile src/Makefile
--- ../metacity-2.4.34-base/src/Makefile	2003-07-21 21:06:37.000000000 -0400
+++ src/Makefile	1969-12-31 19:00:00.000000000 -0500
@@ -1,919 +0,0 @@
-# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = /bin/sh
-
-srcdir = .
-top_srcdir = ..
-
-prefix = /usr/
-exec_prefix = ${prefix}
-
-bindir = ${exec_prefix}/bin
-sbindir = ${exec_prefix}/sbin
-libexecdir = ${exec_prefix}/libexec
-datadir = ${prefix}/share
-sysconfdir = ${prefix}/etc
-sharedstatedir = ${prefix}/com
-localstatedir = ${prefix}/var
-libdir = ${exec_prefix}/lib
-infodir = ${prefix}/info
-mandir = ${prefix}/man
-includedir = ${prefix}/include
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/metacity
-pkglibdir = $(libdir)/metacity
-pkgincludedir = $(includedir)/metacity
-
-top_builddir = ..
-
-ACLOCAL = /usr/src/packages/SOURCES/metacity-2.4.34/missing aclocal-1.4 
-AUTOCONF = autoconf
-AUTOMAKE = /usr/src/packages/SOURCES/metacity-2.4.34/missing automake-1.4
-AUTOHEADER = autoheader
-
-INSTALL = /usr/bin/install -c
-INSTALL_PROGRAM = ${INSTALL} $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_SCRIPT = ${INSTALL}
-transform = s,x,x,
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = 
-host_triplet = i686-pc-linux-gnu
-AS = @AS@
-CATALOGS =  am.gmo az.gmo bg.gmo ca.gmo cs.gmo da.gmo de.gmo el.gmo en_GB.gmo es.gmo et.gmo fi.gmo fr.gmo gl.gmo he.gmo hu.gmo it.gmo ja.gmo ko.gmo lv.gmo mk.gmo mn.gmo ms.gmo nl.gmo no.gmo pl.gmo pt.gmo pt_BR.gmo ro.gmo ru.gmo sl.gmo sk.gmo sv.gmo tr.gmo uk.gmo vi.gmo zh_CN.gmo zh_TW.gmo
-CATOBJEXT = .gmo
-CC = gcc
-DATADIRNAME = share
-DLLTOOL = @DLLTOOL@
-ECHO = echo
-EXEEXT = 
-GCONFTOOL = /opt/gnome2/bin/gconftool-2
-GCONF_SCHEMA_CONFIG_SOURCE = xml::/etc/opt/gnome/gconf/preconf/gconf.xml.defaults
-GCONF_SCHEMA_FILE_DIR = $(sysconfdir)/gconf/schemas/
-GDK_PIXBUF_CSOURCE = /usr/bin/gdk-pixbuf-csource
-GETTEXT_PACKAGE = metacity
-GMOFILES =  am.gmo az.gmo bg.gmo ca.gmo cs.gmo da.gmo de.gmo el.gmo en_GB.gmo es.gmo et.gmo fi.gmo fr.gmo gl.gmo he.gmo hu.gmo it.gmo ja.gmo ko.gmo lv.gmo mk.gmo mn.gmo ms.gmo nl.gmo no.gmo pl.gmo pt.gmo pt_BR.gmo ro.gmo ru.gmo sl.gmo sk.gmo sv.gmo tr.gmo uk.gmo vi.gmo zh_CN.gmo zh_TW.gmo
-GMSGFMT = /usr/bin/msgfmt
-HOST_ALIAS = 
-INSTOBJEXT = .mo
-INTLLIBS = 
-INTLTOOL_CAVES_RULE = %.caves:     %.caves.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
-INTLTOOL_DESKTOP_RULE = %.desktop:   %.desktop.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
-INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
-INTLTOOL_EXTRACT = $(top_builddir)/intltool-extract
-INTLTOOL_KEYS_RULE = %.keys:      %.keys.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -k -u -c $(top_builddir)/po/.intltool-merge-cache
-INTLTOOL_MERGE = $(top_builddir)/intltool-merge
-INTLTOOL_OAF_RULE = %.oaf:       %.oaf.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -o -p
-INTLTOOL_PERL = /usr/bin/perl
-INTLTOOL_PONG_RULE = %.pong:      %.pong.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
-INTLTOOL_PROP_RULE = %.prop:      %.prop.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
-INTLTOOL_SCHEMAS_RULE = %.schemas:   %.schemas.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -s -u -c $(top_builddir)/po/.intltool-merge-cache
-INTLTOOL_SERVER_RULE = %.server:    %.server.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -o -u -c $(top_builddir)/po/.intltool-merge-cache
-INTLTOOL_SHEET_RULE = %.sheet:     %.sheet.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
-INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
-INTLTOOL_THEME_RULE = %.theme:     %.theme.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
-INTLTOOL_UI_RULE = %.ui:        %.ui.in        $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
-INTLTOOL_UPDATE = $(top_builddir)/intltool-update
-INTLTOOL_XML_RULE = %.xml:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-MAINT = #
-MAKEINFO = makeinfo
-MKINSTALLDIRS = ./mkinstalldirs
-OBJDUMP = @OBJDUMP@
-OBJEXT = o
-PACKAGE = metacity
-PKG_CONFIG = /usr/bin/pkg-config
-POFILES =  am.po az.po bg.po ca.po cs.po da.po de.po el.po en_GB.po es.po et.po fi.po fr.po gl.po he.po hu.po it.po ja.po ko.po lv.po mk.po mn.po ms.po nl.po no.po pl.po pt.po pt_BR.po ro.po ru.po sl.po sk.po sv.po tr.po uk.po vi.po zh_CN.po zh_TW.po
-POSUB = po
-PO_IN_DATADIR_FALSE = 
-PO_IN_DATADIR_TRUE = 
-RANLIB = ranlib
-STRIP = strip
-USE_NLS = yes
-VERSION = 2.4.34
-
-lib_LTLIBRARIES = libmetacity-private.la
-
-SUBDIRS = wm-tester tools themes
-
-INCLUDES = -DORBIT2=1 -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/opt/gnome2/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/linc-1.0 -I/usr/include/startup-notification-1.0   -DMETACITY_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"\" -DMETACITY_LOCALEDIR=\"$(prefix)/share/locale\" -DMETACITY_PKGDATADIR=\"$(pkgdatadir)\" -DMETACITY_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"metacity\" -DSN_API_NOT_YET_FROZEN=1
-
-EGGFILES = \
-	eggaccelerators.c	\
-	eggaccelerators.h
-
-
-metacity_SOURCES = \
-	async-getprop.c				\
-	async-getprop.h				\
-	common.h				\
-	core.c					\
-	core.h					\
-	delete.c				\
-	display.c				\
-	display.h				\
-	draw-workspace.c			\
-	draw-workspace.h			\
-	effects.c				\
-	effects.h				\
-	errors.c				\
-	errors.h				\
-	eventqueue.c				\
-	eventqueue.h				\
-	fixedtip.c				\
-	fixedtip.h				\
-	frame.c					\
-	frame.h					\
-	frames.c				\
-	frames.h				\
-	gradient.c				\
-	gradient.h				\
-	group.c					\
-	group.h					\
-	group-private.h				\
-	group-props.c				\
-	group-props.h				\
-	iconcache.c				\
-	iconcache.h				\
-	inlinepixbufs.h				\
-	keybindings.c				\
-	keybindings.h				\
-	main.c					\
-	main.h					\
-	menu.c					\
-	menu.h					\
-	metaaccellabel.c			\
-	metaaccellabel.h			\
-	metacity-Xatomtype.h			\
-	place.c					\
-	place.h					\
-	prefs.c					\
-	prefs.h					\
-	resizepopup.c				\
-	resizepopup.h				\
-	screen.c				\
-	screen.h				\
-	session.c				\
-	session.h				\
-	stack.c					\
-	stack.h					\
-	tabpopup.c				\
-	tabpopup.h				\
-	theme.c					\
-	theme.h					\
-	theme-parser.c				\
-	theme-parser.h				\
-	themewidget.c				\
-	themewidget.h				\
-	ui.c					\
-	ui.h					\
-	util.c					\
-	util.h					\
-	window.c				\
-	window.h				\
-	window-props.c				\
-	window-props.h				\
-	workspace.c				\
-	workspace.h				\
-	xprops.c				\
-	xprops.h				\
-	$(EGGFILES)
-
-
-libmetacity_private_la_SOURCES = \
-	gradient.c		\
-	gradient.h		\
-	preview-widget.c	\
-	preview-widget.h	\
-	theme.c			\
-	theme.h			\
-	theme-parser.c		\
-	theme-parser.h		\
-	util.c			\
-	util.h			\
-	common.h
-
-
-libmetacityincludedir = $(includedir)/metacity-1/metacity-private
-
-libmetacityinclude_HEADERS = \
-	common.h		\
-	gradient.h		\
-	preview-widget.h	\
-	theme.h			\
-	theme-parser.h		\
-	util.h
-
-
-metacity_theme_viewer_SOURCES = \
-	theme-viewer.c
-
-
-metacity_dialog_SOURCES = \
-	metacity-dialog.c
-
-
-bin_PROGRAMS = metacity metacity-theme-viewer
-libexec_PROGRAMS = metacity-dialog
-
-EFENCE = 
-metacity_LDADD = -lXext -lXrandr -lXext  -L/usr/X11R6/lib  -lSM -lICE -lX11 -lXext -lXinerama  -Wl,--export-dynamic -pthread -L/opt/gnome2/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgconf-2 -lORBit-2 -lm -llinc -lgmodule-2.0 -ldl -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lstartup-notification-1   $(EFENCE)
-metacity_theme_viewer_LDADD = -lXext -lXrandr -lXext  -L/usr/X11R6/lib  -lSM -lICE -lX11 -lXext -lXinerama  -Wl,--export-dynamic -pthread -L/opt/gnome2/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgconf-2 -lORBit-2 -lm -llinc -lgmodule-2.0 -ldl -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lstartup-notification-1   libmetacity-private.la
-metacity_dialog_LDADD = -lXext -lXrandr -lXext  -L/usr/X11R6/lib  -lSM -lICE -lX11 -lXext -lXinerama  -Wl,--export-dynamic -pthread -L/opt/gnome2/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgconf-2 -lORBit-2 -lm -llinc -lgmodule-2.0 -ldl -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lstartup-notification-1  
-
-testgradient_SOURCES = gradient.h gradient.c testgradient.c
-testasyncgetprop_SOURCES = async-getprop.h async-getprop.c testasyncgetprop.c
-
-noinst_PROGRAMS = testgradient testasyncgetprop
-
-testgradient_LDADD = -lXext -lXrandr -lXext  -L/usr/X11R6/lib  -lSM -lICE -lX11 -lXext -lXinerama  -Wl,--export-dynamic -pthread -L/opt/gnome2/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgconf-2 -lORBit-2 -lm -llinc -lgmodule-2.0 -ldl -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lstartup-notification-1  
-testasyncgetprop_LDADD = -lXext -lXrandr -lXext  -L/usr/X11R6/lib  -lSM -lICE -lX11 -lXext -lXinerama  -Wl,--export-dynamic -pthread -L/opt/gnome2/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgconf-2 -lORBit-2 -lm -llinc -lgmodule-2.0 -ldl -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lstartup-notification-1  
-
-desktopfilesdir = $(datadir)/gnome/wm-properties
-desktopfiles_in_files = metacity.desktop.in
-desktopfiles_files = $(desktopfiles_in_files:.desktop.in=.desktop)
-desktopfiles_DATA = $(desktopfiles_files)
-
-schemadir = $(sysconfdir)/gconf/schemas/
-schema_in_files = metacity.schemas.in
-schema_DATA = $(schema_in_files:.schemas.in=.schemas)
-
-IMAGES = default_icon.png stock_maximize.png stock_minimize.png stock_delete.png
-VARIABLES = default_icon_data $(srcdir)/default_icon.png \
-          stock_maximize_data $(srcdir)/stock_maximize.png \
-          stock_minimize_data $(srcdir)/stock_minimize.png \
-          stock_delete_data $(srcdir)/stock_delete.png
-
-
-BUILT_SOURCES = inlinepixbufs.h
-CLEANFILES = inlinepixbufs.h
-
-pkgconfigdir = $(libdir)/pkgconfig
-
-pkgconfig_DATA = libmetacity-private.pc
-
-EXTRA_DIST = $(desktopfiles_files) 	\
-	$(IMAGES) $(schema_DATA) 	\
-	update-from-egg.sh		\
-	$(desktopfiles_in_files)	\
-	$(schema_in_files)		\
-	libmetacity-private.pc.in
-
-
-EGGDIR = $(srcdir)/../../libegg/libegg
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../config.h
-CONFIG_CLEAN_FILES =  libmetacity-private.pc
-LTLIBRARIES =  $(lib_LTLIBRARIES)
-
-
-DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I..
-CPPFLAGS = 
-LDFLAGS = 
-LIBS = 
-X_CFLAGS =  -I/usr/X11R6/include
-X_LIBS =  -L/usr/X11R6/lib
-X_EXTRA_LIBS = -lXext -lXinerama 
-X_PRE_LIBS =  -lSM -lICE
-libmetacity_private_la_LDFLAGS = 
-libmetacity_private_la_LIBADD = 
-libmetacity_private_la_OBJECTS =  gradient.lo preview-widget.lo theme.lo \
-theme-parser.lo util.lo
-bin_PROGRAMS =  metacity$(EXEEXT) metacity-theme-viewer$(EXEEXT)
-libexec_PROGRAMS =  metacity-dialog$(EXEEXT)
-noinst_PROGRAMS =  testgradient$(EXEEXT) testasyncgetprop$(EXEEXT)
-PROGRAMS =  $(bin_PROGRAMS) $(libexec_PROGRAMS) $(noinst_PROGRAMS)
-
-metacity_OBJECTS =  async-getprop.$(OBJEXT) core.$(OBJEXT) \
-delete.$(OBJEXT) display.$(OBJEXT) draw-workspace.$(OBJEXT) \
-effects.$(OBJEXT) errors.$(OBJEXT) eventqueue.$(OBJEXT) \
-fixedtip.$(OBJEXT) frame.$(OBJEXT) frames.$(OBJEXT) gradient.$(OBJEXT) \
-group.$(OBJEXT) group-props.$(OBJEXT) iconcache.$(OBJEXT) \
-keybindings.$(OBJEXT) main.$(OBJEXT) menu.$(OBJEXT) \
-metaaccellabel.$(OBJEXT) place.$(OBJEXT) prefs.$(OBJEXT) \
-resizepopup.$(OBJEXT) screen.$(OBJEXT) session.$(OBJEXT) \
-stack.$(OBJEXT) tabpopup.$(OBJEXT) theme.$(OBJEXT) \
-theme-parser.$(OBJEXT) themewidget.$(OBJEXT) ui.$(OBJEXT) \
-util.$(OBJEXT) window.$(OBJEXT) window-props.$(OBJEXT) \
-workspace.$(OBJEXT) xprops.$(OBJEXT) eggaccelerators.$(OBJEXT)
-metacity_DEPENDENCIES = 
-metacity_LDFLAGS = 
-metacity_theme_viewer_OBJECTS =  theme-viewer.$(OBJEXT)
-metacity_theme_viewer_DEPENDENCIES =  libmetacity-private.la
-metacity_theme_viewer_LDFLAGS = 
-metacity_dialog_OBJECTS =  metacity-dialog.$(OBJEXT)
-metacity_dialog_DEPENDENCIES = 
-metacity_dialog_LDFLAGS = 
-testgradient_OBJECTS =  gradient.$(OBJEXT) testgradient.$(OBJEXT)
-testgradient_DEPENDENCIES = 
-testgradient_LDFLAGS = 
-testasyncgetprop_OBJECTS =  async-getprop.$(OBJEXT) \
-testasyncgetprop.$(OBJEXT)
-testasyncgetprop_DEPENDENCIES = 
-testasyncgetprop_LDFLAGS = 
-CFLAGS = -march=pentiumpro -O3 -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DATA =  $(desktopfiles_DATA) $(pkgconfig_DATA) $(schema_DATA)
-
-HEADERS =  $(libmetacityinclude_HEADERS)
-
-DIST_COMMON =  Makefile.am Makefile.in libmetacity-private.pc.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-SOURCES = $(libmetacity_private_la_SOURCES) $(metacity_SOURCES) $(metacity_theme_viewer_SOURCES) $(metacity_dialog_SOURCES) $(testgradient_SOURCES) $(testasyncgetprop_SOURCES)
-OBJECTS = $(libmetacity_private_la_OBJECTS) $(metacity_OBJECTS) $(metacity_theme_viewer_OBJECTS) $(metacity_dialog_OBJECTS) $(testgradient_OBJECTS) $(testasyncgetprop_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .obj .s
-$(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-libmetacity-private.pc: $(top_builddir)/config.status libmetacity-private.pc.in
-	cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-mostlyclean-libLTLIBRARIES:
-
-clean-libLTLIBRARIES:
-	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-
-distclean-libLTLIBRARIES:
-
-maintainer-clean-libLTLIBRARIES:
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(libdir)
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  if test -f $$p; then \
-	    echo "$(LIBTOOL)  --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \
-	    $(LIBTOOL)  --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \
-	  else :; fi; \
-	done
-
-uninstall-libLTLIBRARIES:
-	@$(NORMAL_UNINSTALL)
-	list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  $(LIBTOOL)  --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
-	done
-
-.c.o:
-	$(COMPILE) -c $<
-
-# FIXME: We should only use cygpath when building on Windows,
-# and only if it is available.
-.c.obj:
-	$(COMPILE) -c `cygpath -w $<`
-
-.s.o:
-	$(COMPILE) -c $<
-
-.S.o:
-	$(COMPILE) -c $<
-
-mostlyclean-compile:
-	-rm -f *.o core *.core
-	-rm -f *.$(OBJEXT)
-
-clean-compile:
-
-distclean-compile:
-	-rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libmetacity-private.la: $(libmetacity_private_la_OBJECTS) $(libmetacity_private_la_DEPENDENCIES)
-	$(LINK) -rpath $(libdir) $(libmetacity_private_la_LDFLAGS) $(libmetacity_private_la_OBJECTS) $(libmetacity_private_la_LIBADD) $(LIBS)
-
-mostlyclean-binPROGRAMS:
-
-clean-binPROGRAMS:
-	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-
-distclean-binPROGRAMS:
-
-maintainer-clean-binPROGRAMS:
-
-install-binPROGRAMS: $(bin_PROGRAMS)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(bindir)
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  if test -f $$p; then \
-	    echo " $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
-	    $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
-	  else :; fi; \
-	done
-
-uninstall-binPROGRAMS:
-	@$(NORMAL_UNINSTALL)
-	list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
-	done
-
-mostlyclean-libexecPROGRAMS:
-
-clean-libexecPROGRAMS:
-	-test -z "$(libexec_PROGRAMS)" || rm -f $(libexec_PROGRAMS)
-
-distclean-libexecPROGRAMS:
-
-maintainer-clean-libexecPROGRAMS:
-
-install-libexecPROGRAMS: $(libexec_PROGRAMS)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(libexecdir)
-	@list='$(libexec_PROGRAMS)'; for p in $$list; do \
-	  if test -f $$p; then \
-	    echo " $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
-	    $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
-	  else :; fi; \
-	done
-
-uninstall-libexecPROGRAMS:
-	@$(NORMAL_UNINSTALL)
-	list='$(libexec_PROGRAMS)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(libexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
-	done
-
-mostlyclean-noinstPROGRAMS:
-
-clean-noinstPROGRAMS:
-	-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-
-distclean-noinstPROGRAMS:
-
-maintainer-clean-noinstPROGRAMS:
-
-metacity$(EXEEXT): $(metacity_OBJECTS) $(metacity_DEPENDENCIES)
-	@rm -f metacity$(EXEEXT)
-	$(LINK) $(metacity_LDFLAGS) $(metacity_OBJECTS) $(metacity_LDADD) $(LIBS)
-
-metacity-theme-viewer$(EXEEXT): $(metacity_theme_viewer_OBJECTS) $(metacity_theme_viewer_DEPENDENCIES)
-	@rm -f metacity-theme-viewer$(EXEEXT)
-	$(LINK) $(metacity_theme_viewer_LDFLAGS) $(metacity_theme_viewer_OBJECTS) $(metacity_theme_viewer_LDADD) $(LIBS)
-
-metacity-dialog$(EXEEXT): $(metacity_dialog_OBJECTS) $(metacity_dialog_DEPENDENCIES)
-	@rm -f metacity-dialog$(EXEEXT)
-	$(LINK) $(metacity_dialog_LDFLAGS) $(metacity_dialog_OBJECTS) $(metacity_dialog_LDADD) $(LIBS)
-
-testgradient$(EXEEXT): $(testgradient_OBJECTS) $(testgradient_DEPENDENCIES)
-	@rm -f testgradient$(EXEEXT)
-	$(LINK) $(testgradient_LDFLAGS) $(testgradient_OBJECTS) $(testgradient_LDADD) $(LIBS)
-
-testasyncgetprop$(EXEEXT): $(testasyncgetprop_OBJECTS) $(testasyncgetprop_DEPENDENCIES)
-	@rm -f testasyncgetprop$(EXEEXT)
-	$(LINK) $(testasyncgetprop_LDFLAGS) $(testasyncgetprop_OBJECTS) $(testasyncgetprop_LDADD) $(LIBS)
-
-install-desktopfilesDATA: $(desktopfiles_DATA)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(desktopfilesdir)
-	@list='$(desktopfiles_DATA)'; for p in $$list; do \
-	  if test -f $(srcdir)/$$p; then \
-	    echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(desktopfilesdir)/$$p"; \
-	    $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(desktopfilesdir)/$$p; \
-	  else if test -f $$p; then \
-	    echo " $(INSTALL_DATA) $$p $(DESTDIR)$(desktopfilesdir)/$$p"; \
-	    $(INSTALL_DATA) $$p $(DESTDIR)$(desktopfilesdir)/$$p; \
-	  fi; fi; \
-	done
-
-uninstall-desktopfilesDATA:
-	@$(NORMAL_UNINSTALL)
-	list='$(desktopfiles_DATA)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(desktopfilesdir)/$$p; \
-	done
-
-install-pkgconfigDATA: $(pkgconfig_DATA)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(pkgconfigdir)
-	@list='$(pkgconfig_DATA)'; for p in $$list; do \
-	  if test -f $(srcdir)/$$p; then \
-	    echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p"; \
-	    $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p; \
-	  else if test -f $$p; then \
-	    echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p"; \
-	    $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p; \
-	  fi; fi; \
-	done
-
-uninstall-pkgconfigDATA:
-	@$(NORMAL_UNINSTALL)
-	list='$(pkgconfig_DATA)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(pkgconfigdir)/$$p; \
-	done
-
-install-schemaDATA: $(schema_DATA)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(schemadir)
-	@list='$(schema_DATA)'; for p in $$list; do \
-	  if test -f $(srcdir)/$$p; then \
-	    echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(schemadir)/$$p"; \
-	    $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(schemadir)/$$p; \
-	  else if test -f $$p; then \
-	    echo " $(INSTALL_DATA) $$p $(DESTDIR)$(schemadir)/$$p"; \
-	    $(INSTALL_DATA) $$p $(DESTDIR)$(schemadir)/$$p; \
-	  fi; fi; \
-	done
-
-uninstall-schemaDATA:
-	@$(NORMAL_UNINSTALL)
-	list='$(schema_DATA)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(schemadir)/$$p; \
-	done
-
-install-libmetacityincludeHEADERS: $(libmetacityinclude_HEADERS)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(libmetacityincludedir)
-	@list='$(libmetacityinclude_HEADERS)'; for p in $$list; do \
-	  if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
-	  echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(libmetacityincludedir)/$$p"; \
-	  $(INSTALL_DATA) $$d$$p $(DESTDIR)$(libmetacityincludedir)/$$p; \
-	done
-
-uninstall-libmetacityincludeHEADERS:
-	@$(NORMAL_UNINSTALL)
-	list='$(libmetacityinclude_HEADERS)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(libmetacityincludedir)/$$p; \
-	done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive  \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
-	@set fnord $(MAKEFLAGS); amf=$$2; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
-	@set fnord $(MAKEFLAGS); amf=$$2; \
-	dot_seen=no; \
-	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
-	  rev="$$subdir $$rev"; \
-	  test "$$subdir" != "." || dot_seen=yes; \
-	done; \
-	test "$$dot_seen" = "no" && rev=". $$rev"; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	here=`pwd` && cd $(srcdir) \
-	  && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-   if test "$$subdir" = .; then :; else \
-	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
-   fi; \
-	done; \
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
-	-rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-	for subdir in $(SUBDIRS); do \
-	  if test "$$subdir" = .; then :; else \
-	    test -d $(distdir)/$$subdir \
-	    || mkdir $(distdir)/$$subdir \
-	    || exit 1; \
-	    chmod 777 $(distdir)/$$subdir; \
-	    (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-async-getprop.o: async-getprop.c async-getprop.h
-core.o: core.c ../config.h core.h common.h frame.h window.h screen.h \
-	display.h eventqueue.h ui.h tabpopup.h util.h stack.h \
-	iconcache.h workspace.h prefs.h
-delete.o: delete.c ../config.h util.h window.h screen.h display.h \
-	eventqueue.h common.h ui.h tabpopup.h stack.h iconcache.h \
-	errors.h
-display.o: display.c ../config.h display.h eventqueue.h common.h util.h \
-	main.h screen.h ui.h tabpopup.h window.h stack.h iconcache.h \
-	window-props.h group-props.h group.h frame.h errors.h \
-	keybindings.h prefs.h resizepopup.h workspace.h
-draw-workspace.o: draw-workspace.c draw-workspace.h
-effects.o: effects.c ../config.h effects.h util.h screen.h display.h \
-	eventqueue.h common.h ui.h tabpopup.h
-eggaccelerators.o: eggaccelerators.c eggaccelerators.h
-errors.o: errors.c ../config.h errors.h util.h display.h eventqueue.h \
-	common.h
-eventqueue.o: eventqueue.c eventqueue.h
-fixedtip.o: fixedtip.c ../config.h fixedtip.h
-frame.o: frame.c ../config.h frame.h window.h screen.h display.h \
-	eventqueue.h common.h ui.h tabpopup.h util.h stack.h \
-	iconcache.h errors.h keybindings.h
-frames.o: frames.c ../config.h frames.h common.h theme.h gradient.h \
-	util.h core.h menu.h fixedtip.h prefs.h
-gradient.lo gradient.o : gradient.c gradient.h util.h
-group-props.o: group-props.c ../config.h group-props.h group.h window.h \
-	screen.h display.h eventqueue.h common.h ui.h tabpopup.h util.h \
-	stack.h iconcache.h group-private.h xprops.h
-group.o: group.c ../config.h util.h group-private.h group.h window.h \
-	screen.h display.h eventqueue.h common.h ui.h tabpopup.h \
-	stack.h iconcache.h group-props.h
-iconcache.o: iconcache.c ../config.h iconcache.h screen.h display.h \
-	eventqueue.h common.h ui.h tabpopup.h errors.h util.h
-keybindings.o: keybindings.c ../config.h keybindings.h display.h \
-	eventqueue.h common.h window.h screen.h ui.h tabpopup.h util.h \
-	stack.h iconcache.h workspace.h errors.h frame.h place.h \
-	prefs.h
-main.o: main.c ../config.h main.h util.h display.h eventqueue.h common.h \
-	errors.h ui.h tabpopup.h session.h window.h screen.h stack.h \
-	iconcache.h prefs.h
-menu.o: menu.c ../config.h menu.h frames.h common.h theme.h gradient.h \
-	main.h util.h core.h themewidget.h metaaccellabel.h
-metaaccellabel.o: metaaccellabel.c ../config.h metaaccellabel.h common.h \
-	util.h
-metacity-dialog.o: metacity-dialog.c ../config.h
-place.o: place.c ../config.h place.h window.h screen.h display.h \
-	eventqueue.h common.h ui.h tabpopup.h util.h stack.h \
-	iconcache.h frame.h workspace.h prefs.h
-prefs.o: prefs.c ../config.h prefs.h common.h ui.h tabpopup.h util.h
-preview-widget.lo preview-widget.o : preview-widget.c preview-widget.h \
-	theme.h gradient.h common.h inlinepixbufs.h
-resizepopup.o: resizepopup.c ../config.h resizepopup.h common.h util.h
-screen.o: screen.c ../config.h screen.h display.h eventqueue.h common.h \
-	ui.h tabpopup.h util.h errors.h window.h stack.h iconcache.h \
-	frame.h prefs.h workspace.h keybindings.h xprops.h
-session.o: session.c ../config.h session.h window.h screen.h display.h \
-	eventqueue.h common.h ui.h tabpopup.h util.h stack.h \
-	iconcache.h main.h workspace.h
-stack.o: stack.c ../config.h stack.h screen.h display.h eventqueue.h \
-	common.h ui.h tabpopup.h window.h util.h iconcache.h errors.h \
-	frame.h group.h prefs.h workspace.h
-tabpopup.o: tabpopup.c ../config.h util.h core.h common.h tabpopup.h \
-	workspace.h window.h screen.h display.h eventqueue.h ui.h \
-	stack.h iconcache.h draw-workspace.h frame.h
-testasyncgetprop.o: testasyncgetprop.c async-getprop.h
-testgradient.o: testgradient.c gradient.h
-theme-parser.lo theme-parser.o : theme-parser.c ../config.h \
-	theme-parser.h theme.h gradient.h common.h util.h
-theme-viewer.o: theme-viewer.c ../config.h util.h theme.h gradient.h \
-	common.h theme-parser.h preview-widget.h
-theme.lo theme.o : theme.c ../config.h theme.h gradient.h common.h \
-	theme-parser.h util.h
-themewidget.o: themewidget.c themewidget.h theme.h gradient.h common.h
-ui.o: ui.c ../config.h ui.h common.h tabpopup.h frames.h theme.h \
-	gradient.h util.h menu.h core.h eggaccelerators.h \
-	inlinepixbufs.h
-util.lo util.o : util.c ../config.h util.h main.h
-window-props.o: window-props.c ../config.h window-props.h window.h \
-	screen.h display.h eventqueue.h common.h ui.h tabpopup.h util.h \
-	stack.h iconcache.h xprops.h frame.h
-window.o: window.c ../config.h window.h screen.h display.h eventqueue.h \
-	common.h ui.h tabpopup.h util.h stack.h iconcache.h frame.h \
-	errors.h workspace.h keybindings.h place.h session.h effects.h \
-	prefs.h resizepopup.h xprops.h group.h window-props.h
-workspace.o: workspace.c ../config.h workspace.h window.h screen.h \
-	display.h eventqueue.h common.h ui.h tabpopup.h util.h stack.h \
-	iconcache.h errors.h prefs.h
-xprops.o: xprops.c ../config.h xprops.h display.h eventqueue.h common.h \
-	errors.h util.h async-getprop.h ui.h tabpopup.h \
-	metacity-Xatomtype.h window.h screen.h stack.h iconcache.h
-
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-install-exec-am: install-libLTLIBRARIES install-binPROGRAMS \
-		install-libexecPROGRAMS
-install-exec: install-exec-recursive
-
-install-data-am: install-desktopfilesDATA install-pkgconfigDATA \
-		install-schemaDATA install-libmetacityincludeHEADERS \
-		install-data-local
-install-data: install-data-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am: uninstall-libLTLIBRARIES uninstall-binPROGRAMS \
-		uninstall-libexecPROGRAMS uninstall-desktopfilesDATA \
-		uninstall-pkgconfigDATA uninstall-schemaDATA \
-		uninstall-libmetacityincludeHEADERS
-uninstall: uninstall-recursive
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS)
-all-redirect: all-recursive
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
-	$(mkinstalldirs)  $(DESTDIR)$(libdir) $(DESTDIR)$(bindir) \
-		$(DESTDIR)$(libexecdir) $(DESTDIR)$(desktopfilesdir) \
-		$(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(schemadir) \
-		$(DESTDIR)$(libmetacityincludedir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-mostlyclean-am:  mostlyclean-libLTLIBRARIES mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-binPROGRAMS \
-		mostlyclean-libexecPROGRAMS mostlyclean-noinstPROGRAMS \
-		mostlyclean-tags mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am:  clean-libLTLIBRARIES clean-compile clean-libtool \
-		clean-binPROGRAMS clean-libexecPROGRAMS \
-		clean-noinstPROGRAMS clean-tags clean-generic \
-		mostlyclean-am
-
-clean: clean-recursive
-
-distclean-am:  distclean-libLTLIBRARIES distclean-compile \
-		distclean-libtool distclean-binPROGRAMS \
-		distclean-libexecPROGRAMS distclean-noinstPROGRAMS \
-		distclean-tags distclean-generic clean-am
-	-rm -f libtool
-
-distclean: distclean-recursive
-
-maintainer-clean-am:  maintainer-clean-libLTLIBRARIES \
-		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-binPROGRAMS \
-		maintainer-clean-libexecPROGRAMS \
-		maintainer-clean-noinstPROGRAMS maintainer-clean-tags \
-		maintainer-clean-generic distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
-
-.PHONY: mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \
-clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \
-uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \
-distclean-compile clean-compile maintainer-clean-compile \
-mostlyclean-libtool distclean-libtool clean-libtool \
-maintainer-clean-libtool mostlyclean-binPROGRAMS distclean-binPROGRAMS \
-clean-binPROGRAMS maintainer-clean-binPROGRAMS uninstall-binPROGRAMS \
-install-binPROGRAMS mostlyclean-libexecPROGRAMS \
-distclean-libexecPROGRAMS clean-libexecPROGRAMS \
-maintainer-clean-libexecPROGRAMS uninstall-libexecPROGRAMS \
-install-libexecPROGRAMS mostlyclean-noinstPROGRAMS \
-distclean-noinstPROGRAMS clean-noinstPROGRAMS \
-maintainer-clean-noinstPROGRAMS uninstall-desktopfilesDATA \
-install-desktopfilesDATA uninstall-pkgconfigDATA install-pkgconfigDATA \
-uninstall-schemaDATA install-schemaDATA \
-uninstall-libmetacityincludeHEADERS install-libmetacityincludeHEADERS \
-install-data-recursive uninstall-data-recursive install-exec-recursive \
-uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
-all-recursive check-recursive installcheck-recursive info-recursive \
-dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-local install-data-am install-data install-am \
-install uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-%.desktop:   %.desktop.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
-
-%.schemas:   %.schemas.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -s -u -c $(top_builddir)/po/.intltool-merge-cache
-
-install-data-local:
-	GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$(schema_DATA)
-
-inlinepixbufs.h: $(IMAGES)
-	   $(GDK_PIXBUF_CSOURCE) --raw --build-list $(VARIABLES) >$(srcdir)/inlinepixbufs.h
-
-regenerate-built-sources:
-	EGGFILES="$(EGGFILES)" EGGDIR="$(EGGDIR)" $(srcdir)/update-from-egg.sh
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff -uN ../metacity-2.4.34-base/src/Makefile.am src/Makefile.am
--- ../metacity-2.4.34-base/src/Makefile.am	2003-02-04 22:46:06.000000000 -0500
+++ src/Makefile.am	2003-08-11 18:28:15.000000000 -0400
@@ -27,6 +27,7 @@
 	eventqueue.h				\
 	fixedtip.c				\
 	fixedtip.h				\
+	flip.c                  \
 	frame.c					\
 	frame.h					\
 	frames.c				\
diff -uN ../metacity-2.4.34-base/src/Makefile.in src/Makefile.in
--- ../metacity-2.4.34-base/src/Makefile.in	2003-02-04 23:36:14.000000000 -0500
+++ src/Makefile.in	2003-08-11 18:29:23.000000000 -0400
@@ -143,6 +143,7 @@
 	eventqueue.h				\
 	fixedtip.c				\
 	fixedtip.h				\
+	flip.c                  \
 	frame.c					\
 	frame.h					\
 	frames.c				\
@@ -316,7 +317,8 @@
 stack.$(OBJEXT) tabpopup.$(OBJEXT) theme.$(OBJEXT) \
 theme-parser.$(OBJEXT) themewidget.$(OBJEXT) ui.$(OBJEXT) \
 util.$(OBJEXT) window.$(OBJEXT) window-props.$(OBJEXT) \
-workspace.$(OBJEXT) xprops.$(OBJEXT) eggaccelerators.$(OBJEXT)
+workspace.$(OBJEXT) xprops.$(OBJEXT) eggaccelerators.$(OBJEXT) \
+flip.$(OBJEXT)
 metacity_DEPENDENCIES = 
 metacity_LDFLAGS = 
 metacity_theme_viewer_OBJECTS =  theme-viewer.$(OBJEXT)
@@ -725,6 +727,7 @@
 	iconcache.h errors.h keybindings.h
 frames.o: frames.c ../config.h frames.h common.h theme.h gradient.h \
 	util.h core.h menu.h fixedtip.h prefs.h
+flip.o: flip.c display.c
 gradient.lo gradient.o : gradient.c gradient.h util.h
 group-props.o: group-props.c ../config.h group-props.h group.h window.h \
 	screen.h display.h eventqueue.h common.h ui.h tabpopup.h util.h \
diff -uN ../metacity-2.4.34-base/src/display.c src/display.c
--- ../metacity-2.4.34-base/src/display.c	2003-07-21 20:49:40.000000000 -0400
+++ src/display.c	2003-08-11 17:28:52.000000000 -0400
@@ -92,6 +92,10 @@
 
 static void    prefs_changed_callback    (MetaPreference pref,
                                           void          *data);
+int meta_flip_event( int xl, int yt );
+void meta_flip_init( MetaScreen * mscr );
+
+
 
 static void
 set_utf8_string_hint (MetaDisplay *display,
@@ -604,9 +608,9 @@
     
     meta_error_trap_pop (display, FALSE);
   }
-  
+  meta_flip_init(display->screens->data);
   meta_display_ungrab (display);  
-  
+
   return TRUE;
 }
 
@@ -1423,6 +1427,14 @@
         meta_window_handle_mouse_grab_op_event (window, event);
       break;
     case EnterNotify:
+      {
+        XEnterWindowEvent *ewp = &(event->xcrossing);
+        if( meta_flip_event( ewp->x_root, ewp->y_root ) )
+        {
+          break;
+        } 
+      }
+
       if (display->grab_window == window &&
           grab_op_is_mouse (display->grab_op))
         meta_window_handle_mouse_grab_op_event (window, event);
diff -uN ../metacity-2.4.34-base/src/flip.c src/flip.c
--- ../metacity-2.4.34-base/src/flip.c	1969-12-31 19:00:00.000000000 -0500
+++ src/flip.c	2003-08-11 17:56:16.000000000 -0400
@@ -0,0 +1,526 @@
+#include <config.h>
+#include <stdio.h>
+#include <unistd.h>
+#include "display.h"
+#include "util.h"
+#include "main.h"
+#include "screen.h"
+#include "window.h"
+#include "window-props.h"
+#include "group-props.h"
+#include "frame.h"
+#include "errors.h"
+#include "keybindings.h"
+#include "prefs.h"
+#include "resizepopup.h"
+#include "workspace.h"
+#include <X11/Xatom.h>
+#include <X11/cursorfont.h>
+#ifdef HAVE_SOLARIS_XINERAMA
+#include <X11/extensions/xinerama.h>
+#endif
+#ifdef HAVE_XFREE_XINERAMA
+#include <X11/extensions/Xinerama.h>
+#endif
+#ifdef HAVE_RANDR
+#include <X11/extensions/Xrandr.h>
+#endif
+#ifdef HAVE_SHAPE
+#include <X11/extensions/shape.h>
+#endif
+#include <string.h>
+
+#define USE_GDK_DISPLAY
+
+
+
+/** 
+ * Much of the following taken directly from FVWM 2.4.16.
+ * -jr
+**/
+
+/* the root window is surrounded by four window slices, which are InputOnly.
+ * So you can see 'through' them, but they eat the input. An EnterEvent in
+ * one of these windows causes a Paging. The windows have the according cursor
+ * pointing in the pan direction or are hidden if there is no more panning
+ * in that direction. This is mostly intended to get a panning even atop
+ * of Motif applictions, which does not work yet. It seems Motif windows
+ * eat all mouse events.
+ *
+ * Hermann Dunkel, HEDU, dunkel@cul-ipn.uni-kiel.de 1/94
+**/
+
+#define XEVMASK_PANFW   (ButtonPressMask | ButtonReleaseMask | \
+                          KeyReleaseMask | KeyPressMask | \
+                         EnterWindowMask | LeaveWindowMask | \
+                         VisibilityChangeMask)
+/* Don't page if the pointer has moved for more than this many pixels between
+ * two samples */
+#define MAX_PAGING_MOVE_DISTANCE       10    /* pixels */
+
+typedef struct {
+    Window win;                    // window ID
+    int isMapped;
+} PanFrame;
+
+PanFrame PanFrameTop;
+PanFrame PanFrameLeft;
+PanFrame PanFrameRight;
+PanFrame PanFrameBottom;
+unsigned ScrollResistance = 100;
+int MyDisplayHeight = 0;
+int MyDisplayWidth = 0;
+int edge_thickness = 2;
+Time lastTimestamp = 0;
+XEvent Event;                    /* the current event */
+MetaScreen *mscreen;
+Display *dpy = NULL;            /* which display are we talking to */
+MetaDisplay *mdpy = NULL;
+
+/** External hooks **/
+void meta_flip_init( MetaScreen * mscr );
+void meta_flip_update_frames ( void );
+int meta_flip_event( int xl, int yt );
+void meta_flip_raise_frames( void );
+
+
+/* Records the time of the last processed event. Used in XSetInputFocus */
+Bool StashEventTime ( XEvent * ev );
+void initPanFrames( void );
+Bool has_neighbor( MetaMotionDirection direction );
+Bool GetLocationFromEventOrQuery ( Display * dpy, Window w, XEvent * eventp, int *ret_x, int *ret_y );
+int discard_events ( long event_mask );
+int discard_window_events ( Window w, long event_mask );
+Window create_pan_frame( int x, int y, int width, int height, 
+                          unsigned int valuemask, XSetWindowAttributes *attributes );
+
+void
+meta_flip_init( MetaScreen * mscr )
+{
+    mscreen = mscr;
+    mdpy = mscreen->display;
+    dpy = mdpy->xdisplay;
+
+    meta_display_ungrab( mdpy );
+    initPanFrames();
+    meta_display_grab( mdpy );
+    meta_flip_update_frames();
+}
+
+
+
+/***************************************************************************
+ * meta_flip_update_frames hides PanFrames if they are on the very border of the
+ * VIRTUAL screen and EdgeWrap for that direction is off.
+ * (A special cursor for the EdgeWrap border could be nice) HEDU
+ ****************************************************************************/
+void
+meta_flip_update_frames( void )
+{
+    if( mscreen == NULL )
+        return;
+    Bool do_unmap_l = !has_neighbor( META_MOTION_LEFT );
+    Bool do_unmap_r = !has_neighbor( META_MOTION_RIGHT );
+    Bool do_unmap_t = !has_neighbor( META_MOTION_UP );
+    Bool do_unmap_b = !has_neighbor( META_MOTION_DOWN );
+
+    /* thickness of 0 means remove the pan frames */
+    if( edge_thickness == 0 ) {
+        do_unmap_l = True;
+        do_unmap_r = True;
+        do_unmap_t = True;
+        do_unmap_b = True;
+    }
+
+    /* left */
+    if( do_unmap_l ) {
+        if( PanFrameLeft.isMapped ) {
+            XUnmapWindow ( dpy, PanFrameLeft.win );
+            PanFrameLeft.isMapped = False;
+        }
+    } else {
+        if( !PanFrameLeft.isMapped ) {
+            XMapRaised ( dpy, PanFrameLeft.win );
+            PanFrameLeft.isMapped = True;
+        }
+    }
+    /* right */
+    if( do_unmap_r ) {
+        if( PanFrameRight.isMapped ) {
+            XUnmapWindow ( dpy, PanFrameRight.win );
+            PanFrameRight.isMapped = False;
+        }
+    } else {
+        if( !PanFrameRight.isMapped ) {
+            XMapRaised ( dpy, PanFrameRight.win );
+            PanFrameRight.isMapped = True;
+        }
+    }
+    /* top */
+    if( do_unmap_t ) {
+        if( PanFrameTop.isMapped ) {
+            XUnmapWindow ( dpy, PanFrameTop.win );
+            PanFrameTop.isMapped = False;
+        }
+    } else {
+        if( !PanFrameTop.isMapped ) {
+            XMapRaised ( dpy, PanFrameTop.win );
+            PanFrameTop.isMapped = True;
+        }
+    }
+    /* bottom */
+    if( do_unmap_b ) {
+        if( PanFrameBottom.isMapped ) {
+            XUnmapWindow ( dpy, PanFrameBottom.win );
+            PanFrameBottom.isMapped = False;
+        }
+    } else {
+        if( !PanFrameBottom.isMapped ) {
+            XMapRaised ( dpy, PanFrameBottom.win );
+            PanFrameBottom.isMapped = True;
+        }
+    }
+    return;
+}
+
+
+/****************************************************************************
+ *
+ * Creates the windows for edge-scrolling
+ *
+ ****************************************************************************/
+void
+initPanFrames( )
+{   
+    MyDisplayWidth = DisplayWidth ( dpy, mscreen->number );
+    MyDisplayHeight = DisplayHeight ( dpy, mscreen->number );
+    XSetWindowAttributes attributes;
+    unsigned long valuemask = ( CWEventMask | CWCursor );
+
+    int saved_thickness = edge_thickness;
+    if( edge_thickness == 0 )
+        edge_thickness = 2;
+
+    attributes.event_mask = XEVMASK_PANFW;
+
+    /* I know these overlap, it's useful when at (0,0) and the top one is
+     * unmapped */
+    attributes.cursor = meta_display_create_x_cursor( mdpy, META_CURSOR_NORTH_RESIZE );
+    PanFrameTop.win = create_pan_frame( 0, 0, MyDisplayWidth, edge_thickness, valuemask, &attributes);
+    
+    attributes.cursor = meta_display_create_x_cursor( mdpy,  META_CURSOR_WEST_RESIZE);
+    PanFrameLeft.win = create_pan_frame( 0, 0, edge_thickness, MyDisplayHeight, valuemask, &attributes);
+    
+    attributes.cursor = meta_display_create_x_cursor( mdpy, META_CURSOR_EAST_RESIZE );
+    PanFrameRight.win = create_pan_frame( MyDisplayWidth - edge_thickness, 0, 
+                                          edge_thickness, MyDisplayHeight, 
+                                          valuemask, &attributes);
+
+    attributes.cursor = meta_display_create_x_cursor( mdpy, META_CURSOR_SOUTH_RESIZE );
+    PanFrameBottom.win = create_pan_frame( 0, MyDisplayHeight - edge_thickness,
+                                          MyDisplayWidth, edge_thickness, 
+                                          valuemask, &attributes);
+
+    PanFrameTop.isMapped    = False;
+    PanFrameLeft.isMapped   = False;
+    PanFrameRight.isMapped  = False;
+    PanFrameBottom.isMapped = False;
+
+    edge_thickness = saved_thickness;
+
+}
+void
+meta_flip_raise_frames( void )
+{
+    if( PanFrameTop.isMapped )
+        XRaiseWindow ( dpy, PanFrameTop.win );
+    if( PanFrameLeft.isMapped )
+        XRaiseWindow ( dpy, PanFrameLeft.win );
+    if( PanFrameRight.isMapped )
+        XRaiseWindow ( dpy, PanFrameRight.win );
+    if( PanFrameBottom.isMapped )
+        XRaiseWindow ( dpy, PanFrameBottom.win );
+}
+
+/**
+ *
+ * Check to see if the pointer is on the edge of the screen, and scroll/page
+ * if needed
+**/ 
+int
+meta_flip_event( int xl, int yt )
+{
+
+    static unsigned int add_time = 0;
+    int x, y;
+    XEvent e;
+    static Time my_timestamp = 0;
+    static Time my_last_timestamp = 0;
+    static Bool is_timestamp_valid = False;
+    static int last_x = 0;
+    static int last_y = 0;
+    static Bool is_last_position_valid = False;
+
+    if( ScrollResistance >= 10000 ) {
+        is_timestamp_valid = False;
+        add_time = 0;
+        return 0;
+    }
+    if( !is_timestamp_valid ) {
+        is_timestamp_valid = True;
+        my_timestamp = lastTimestamp;
+        is_last_position_valid = False;
+        add_time = 0;
+        last_x = -1;
+        last_y = -1;
+    } else if( my_last_timestamp != lastTimestamp ) {
+        add_time = 0;
+    }
+    my_last_timestamp = lastTimestamp;
+
+    do {
+        if( XPending ( dpy ) > 0 &&
+            ( XCheckWindowEvent ( dpy, PanFrameTop.win, LeaveWindowMask, &Event ) || 
+              XCheckWindowEvent ( dpy, PanFrameBottom.win, LeaveWindowMask, &Event ) || 
+              XCheckWindowEvent ( dpy, PanFrameLeft.win, LeaveWindowMask, &Event ) || 
+              XCheckWindowEvent ( dpy, PanFrameRight.win, LeaveWindowMask, &Event ) ) ) 
+        {
+            StashEventTime ( &Event );
+            is_timestamp_valid = False;
+            add_time = 0;
+            return 0;
+        } else if( XCheckMaskEvent ( dpy, ButtonPressMask | ButtonReleaseMask, &e ) ) {
+            XPutBackEvent ( dpy, &e );
+            is_timestamp_valid = False;
+            add_time = 0;
+            return 0;
+        }
+        /* get pointer location */
+        GetLocationFromEventOrQuery ( dpy, mscreen->xroot, &Event, &x, &y );
+        /* check actual pointer location since PanFrames can get buried under
+           a window being moved or resized - mab */
+        if( x >= edge_thickness && x < MyDisplayWidth - edge_thickness &&
+            y >= edge_thickness && y < MyDisplayHeight - edge_thickness ) 
+        {
+            is_timestamp_valid = False;
+            add_time = 0;
+            discard_window_events ( PanFrameTop.win, LeaveWindowMask );
+            discard_window_events ( PanFrameBottom.win, LeaveWindowMask );
+            discard_window_events ( PanFrameLeft.win, LeaveWindowMask );
+            discard_window_events ( PanFrameRight.win, LeaveWindowMask );
+            return 0;
+        }
+        if(  is_last_position_valid &&
+            ( x - last_x > MAX_PAGING_MOVE_DISTANCE ||
+              x - last_x < -MAX_PAGING_MOVE_DISTANCE ||
+              y - last_y > MAX_PAGING_MOVE_DISTANCE ||
+              y - last_y < -MAX_PAGING_MOVE_DISTANCE ) ) 
+        {
+            /* The pointer is moving too fast, prevent paging until it slows
+             * down. Don't prevent paging when fLoop is set since we can't be
+             * sure that HandlePaging will be called again. */
+            is_timestamp_valid = True;
+            my_timestamp = lastTimestamp;
+            add_time = 0;
+            last_x = x;
+            last_y = y;
+            return 0;
+        }
+
+        last_x = x;
+        last_y = y;
+        is_last_position_valid = True;
+        usleep ( 10000 );
+        add_time += 10;
+    } while( lastTimestamp - my_timestamp + add_time < ScrollResistance );
+
+    if( lastTimestamp - my_timestamp + add_time < ScrollResistance ) {
+        return 0;
+    }
+
+    /* determine the flip direction and mouse destination */
+    MetaMotionDirection direction;
+    if( x < edge_thickness ) {
+        direction = META_MOTION_LEFT;
+        xl = MyDisplayWidth - edge_thickness - 2;
+    } else if( x >= MyDisplayWidth - edge_thickness ) {
+        direction = META_MOTION_RIGHT;
+        xl = edge_thickness + 2;
+    } else if( y < edge_thickness ) {
+        direction = META_MOTION_UP;
+        yt = MyDisplayHeight - edge_thickness - 2;
+    } else if( y >= MyDisplayHeight - edge_thickness ) {
+        direction = META_MOTION_DOWN;
+        yt = edge_thickness + 2;
+    } else {
+        return 0;
+    }
+
+    is_timestamp_valid = False;
+    add_time = 0;
+    MetaWorkspace *flipto = meta_workspace_get_neighbor( mscreen->active_workspace, 
+                                                         direction);
+
+    if( flipto != NULL && flipto != mscreen->active_workspace ) {
+        Window junkW = 0;
+        int junkV = 0;
+        unsigned int junkMask = 0;
+        XWarpPointer ( dpy, None, mscreen->xroot, 0, 0, 0, 0, xl, yt );
+        meta_workspace_activate( flipto );
+        XQueryPointer ( dpy, mscreen->xroot, &junkW, &junkW,
+                        &xl, &yt, &junkV, &junkV, &junkMask );
+        return 1;
+    } else {
+        return 0;
+    }
+}
+
+
+/*
+ * This function determines the location of the mouse pointer from the event
+ * if possible, if not it queries the X server. Returns False if it had to
+ * query the server and the call failed.
+ */
+Bool
+GetLocationFromEventOrQuery ( Display * dpy, Window w, XEvent * eventp, int *ret_x, int *ret_y )
+{
+    Window JunkW;
+    int JunkC;
+    unsigned int JunkM;
+
+    switch ( eventp->type ) {
+    case ButtonPress:
+    case ButtonRelease:
+        *ret_x = eventp->xbutton.x_root;
+        *ret_y = eventp->xbutton.y_root;
+        return True;
+    case KeyPress:
+    case KeyRelease:
+        *ret_x = eventp->xkey.x_root;
+        *ret_y = eventp->xkey.y_root;
+        return True;
+    case MotionNotify:
+        if( eventp->xmotion.same_screen == True ) {
+            *ret_x = eventp->xmotion.x_root;
+            *ret_y = eventp->xmotion.y_root;
+        } else {
+            /* pointer is on different screen */
+            *ret_x = 0;
+            *ret_y = 0;
+        }
+        return True;
+    default:
+        return XQueryPointer ( dpy, w, &JunkW, &JunkW, ret_x, ret_y, &JunkC, &JunkC, &JunkM );
+    }
+
+}
+
+
+/* This function discards all queued up ButtonPress, ButtonRelease and
+ * ButtonMotion events. */
+int
+discard_events ( long event_mask )
+{
+    XEvent e;
+    int count;
+
+    XSync ( dpy, 0 );
+    for( count = 0; XCheckMaskEvent ( dpy, event_mask, &e ); count++ ) {
+        StashEventTime ( &e );
+    }
+
+    return count;
+}
+
+/* This function discards all queued up ButtonPress, ButtonRelease and
+ * ButtonMotion events. */
+int
+discard_window_events ( Window w, long event_mask )
+{
+    XEvent e;
+    int count;
+
+    XSync ( dpy, 0 );
+    for( count = 0; XCheckWindowEvent ( dpy, w, event_mask, &e ); count++ ) {
+        StashEventTime ( &e );
+    }
+
+    return count;
+}
+
+Window
+create_pan_frame( int x, int y, int width, int height, 
+                  unsigned int valuemask, XSetWindowAttributes *attributes )
+{
+    return XCreateWindow ( dpy, mscreen->xroot, 
+                            x, y, width, height, 
+                            0,    /* no border */
+                            CopyFromParent, InputOnly, CopyFromParent, 
+                            valuemask, attributes );
+}
+
+
+
+Bool
+has_neighbor( MetaMotionDirection direction )
+{
+    MetaWorkspace *flipto = meta_workspace_get_neighbor( mscreen->active_workspace, 
+                                                         direction);
+    if( flipto != NULL && flipto != mscreen->active_workspace ) {
+        return True;
+    }
+    return False;
+}
+
+/****************************************************************************
+ *
+ * Records the time of the last processed event. Used in XSetInputFocus
+ *
+ ****************************************************************************/
+#define CLOCK_SKEW_MS                  30000    /* ms */
+Bool
+StashEventTime ( XEvent * ev )
+{
+    Time NewTimestamp = CurrentTime;
+
+    switch ( ev->type ) {
+    case KeyPress:
+    case KeyRelease:
+        NewTimestamp = ev->xkey.time;
+        break;
+    case ButtonPress:
+    case ButtonRelease:
+        NewTimestamp = ev->xbutton.time;
+        break;
+    case MotionNotify:
+        NewTimestamp = ev->xmotion.time;
+        break;
+    case EnterNotify:
+    case LeaveNotify:
+        NewTimestamp = ev->xcrossing.time;
+        break;
+    case PropertyNotify:
+        NewTimestamp = ev->xproperty.time;
+        break;
+    case SelectionClear:
+        NewTimestamp = ev->xselectionclear.time;
+        break;
+    case SelectionRequest:
+        NewTimestamp = ev->xselectionrequest.time;
+        break;
+    case SelectionNotify:
+        NewTimestamp = ev->xselection.time;
+        break;
+    default:
+        return False;
+    }
+    /* Only update if the new timestamp is later than the old one, or
+     * if the new one is from a time at least 30 seconds earlier than the
+     * old one (in which case the system clock may have changed) */
+    if( NewTimestamp > lastTimestamp ||
+        lastTimestamp - NewTimestamp > CLOCK_SKEW_MS )
+        lastTimestamp = NewTimestamp;
+    return True;
+}
+
+#undef CLOCK_SKEW_MS
diff -uN ../metacity-2.4.34-base/src/libmetacity-private.pc src/libmetacity-private.pc
--- ../metacity-2.4.34-base/src/libmetacity-private.pc	2003-07-21 21:06:37.000000000 -0400
+++ src/libmetacity-private.pc	1969-12-31 19:00:00.000000000 -0500
@@ -1,12 +0,0 @@
-prefix=/usr/
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-libgnome_serverdir=${exec_prefix}/libexec
-
-Name: libmetacity-private
-Description: Metacity internals shared 
-Requires: gtk+-2.0
-Version: 2.4.34
-Libs: -L${libdir} -lmetacity-private
-Cflags: -I${includedir}/metacity-1
Common subdirectories: ../metacity-2.4.34-base/src/themes and src/themes
Common subdirectories: ../metacity-2.4.34-base/src/tools and src/tools
diff -uN ../metacity-2.4.34-base/src/window.c src/window.c
--- ../metacity-2.4.34-base/src/window.c	2003-07-21 20:42:50.000000000 -0400
+++ src/window.c	2003-08-10 11:23:52.000000000 -0400
@@ -131,10 +131,11 @@
 
 void meta_window_unqueue_move_resize  (MetaWindow *window);
 void meta_window_flush_move_resize    (MetaWindow *window);
-
+void meta_flip_raise_frames(void);
 static void meta_window_apply_session_info (MetaWindow                  *window,
                                             const MetaWindowSessionInfo *info);
 
+
 #ifdef WITH_VERBOSE_MODE
 static const char*
 wm_state_to_string (int state)
@@ -3255,6 +3256,7 @@
               "Raising window %s\n", window->desc);
 
   meta_stack_raise (window->screen->stack, window);
+  meta_flip_raise_frames();
 }
 
 void
Common subdirectories: ../metacity-2.4.34-base/src/wm-tester and src/wm-tester
diff -uN ../metacity-2.4.34-base/src/workspace.c src/workspace.c
--- ../metacity-2.4.34-base/src/workspace.c	2003-02-04 22:46:07.000000000 -0500
+++ src/workspace.c	2003-08-11 17:04:33.000000000 -0400
@@ -218,6 +218,7 @@
 
   meta_topic (META_DEBUG_FOCUS, "Focusing default window on new workspace\n");
   meta_screen_focus_default_window (workspace->screen, NULL);
+  meta_flip_update_frames();
 }
 
 int
