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 +#include +#include +#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 +#include +#ifdef HAVE_SOLARIS_XINERAMA +#include +#endif +#ifdef HAVE_XFREE_XINERAMA +#include +#endif +#ifdef HAVE_RANDR +#include +#endif +#ifdef HAVE_SHAPE +#include +#endif +#include + +#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