diff --git a/Makefile b/Makefile
index c039a59f..e2f7cdd1 100644
--- a/Makefile
+++ b/Makefile
@@ -1,194 +1,6 @@
#### configuration
-TOP = $(shell pwd)
-
VERSION = 0.6pre
-OS = $(shell uname -s)
-BUILD_DATE = $(shell date "+%Y/%m/%d %H:%M:%S")
-
-DOC_SRC_FILES = $(wildcard locale/*/*.txt)
-DOC_FILES = ${DOC_SRC_FILES:%.txt=%.html}
-
-JAR_TXT_FILES = ${shell find content skin locale \
- -type f \
- -a ! -path '*CVS*' \
- -a \( \
- -path '*.js' \
- -o -path '*.css' \
- -o -path '*.xul' \
- -o -path '*.html' \
- \) \
- }
-JAR_DIRS = $(foreach f,${JAR_FILES},$(dir $f))
-JAR_BIN_FILES = ${shell find content skin \
- -type f \
- -a ! -path '*CVS*' \
- -a -path '*.png' \
- }
-JAR_FILES = ${JAR_BIN_FILES} ${JAR_TXT_FILES} ${DOC_FILES}
-JAR = chrome/vimperator.jar
-
-XPI_TXT_FILES = install.rdf chrome.manifest TODO AUTHORS Donators NEWS
-XPI_DIRS = $(foreach f,${XPI_FILES},$(dir $f))
-XPI_BIN_FILES = ${JAR} Makefile
-XPI_FILES = ${XPI_BIN_FILES} ${XPI_TXT_FILES}
-XPI_NAME = vimperator_${VERSION}.xpi
-XPI = ../downloads/${XPI_NAME}
-
-RDF = ../downloads/update.rdf
-RDF_IN = ${RDF}.in
-
-BUILD_DIR = build.${VERSION}.${OS}
-BUILD_JAR_DIR = ${BUILD_DIR}/jar
-BUILD_XPI_DIR = ${BUILD_DIR}/xpi
-
-BUILD_JAR_SUBDIRS = $(sort ${JAR_DIRS:%=${BUILD_JAR_DIR}/%})
-BUILD_XPI_SUBDIRS = $(sort ${XPI_DIRS:%=${BUILD_XPI_DIR}/%})
-
-ASCIIDOC = asciidoc
-ZIP = zip
-SED = sed
-
-# find the vimperator chrome dir
-
-ifeq (${OS},Darwin)
-FIREFOX_DEFAULT = $(wildcard ${HOME}/Library/Application\ Support/Firefox/Profiles/*default)
-else
-ifeq ($(findstring CYGWIN,${OS}),CYGWIN)
-HOME = $(shell cygpath -sm "${USERPROFILE}")
-FIREFOX_DEFAULT = $(wildcard ${HOME}/Application\ Data/Mozilla/Firefox/Profiles/*default)
-else
-FIREFOX_DEFAULT = $(wildcard ${HOME}/.mozilla/firefox/*.default)
-endif
-endif
-
-VIMPERATOR_CHROME_EMAIL = ${FIREFOX_DEFAULT}/extensions/vimperator@mozdev.org/chrome/
-FOUND_CHROME_UUID = $(dir $(wildcard ${FIREFOX_DEFAULT}/extensions/{*-*-*-*-*}/chrome/vimperator.jar))
-FOUND_CHROME_EMAIL = $(dir $(wildcard ${VIMPERATOR_CHROME_EMAIL}))
-FOUND_CHROME = $(if ${FOUND_CHROME_UUID},${FOUND_CHROME_UUID},${FOUND_CHROME_EMAIL})
-INSTALL_CHROME = $(if ${FOUND_CHROME},${FOUND_CHROME},${VIMPERATOR_CHROME_EMAIL})
-
-# specify V=1 on make line to see more verbose output
-Q=$(if ${V},,@)
-CP_V=$(if ${V},-v)
-
-#### rules
-
-.PHONY: all help info needs_chrome_dir doc jar xpi install clean distclean
-all: help
-
-help:
- @echo "vimperator ${VERSION} build"
- @echo
- @echo " make help - display this help"
- @echo " make info - show some info about the system"
- @echo " make doc - build doc files"
- @echo " make jar - build a JAR (${JAR})"
- @echo " make install - install into your firefox dir (run info)"
- @echo " make xpi - build an XPI (${XPI_NAME})"
- @echo " make release - updates update.rdf (this is not for you)"
- @echo " make clean - clean up"
- @echo " make distclean - clean up more"
- @echo
- @echo "running some commands with V=1 will show more build details"
-
-info:
- @echo "version ${VERSION}"
- @echo "release file ${XPI}"
- @echo "doc files ${DOC_SRC_FILES}"
- @echo -e "jar files $(shell echo ${JAR_FILES} | sed 's/ /\\n /g' )"
- @test -d "${FIREFOX_DEFAULT}" || ( echo "E: didn't find your .mozilla/firefox/*.default/ dir" ; false )
- @echo "firefox default ${FIREFOX_DEFAULT}"
- @test -d "${FOUND_CHROME}" || ( echo "E: didn't find an existing vimperator chrome dir" ; false )
- @[ -n "${FOUND_CHROME_UUID}" ] && \
- echo "vimperator chrome ${FOUND_CHROME_UUID}" || true
- @[ -n "${FOUND_CHROME_EMAIL}" ] && \
- echo "vimperator chrome ${FOUND_CHROME_EMAIL}" || true
- @[ -z "${FOUND_CHROME_UUID}" -o -z "${FOUND_CHROME_EMAIL}" ] || \
- (echo "E: you have multiple vimperator's installed, you need to fix that" ; false)
-
-needs_chrome_dir:
- @echo "Checking chrome dir..."
- -${Q}mkdir -p "${INSTALL_CHROME}"
- ${Q}test -d "${INSTALL_CHROME}"
-
-doc: ${DOC_FILES}
-xpi: ${XPI}
-jar: ${JAR}
-
-install: needs_chrome_dir ${JAR}
- @echo "Installing JAR..."
- ${Q}cp ${CP_V} ${JAR} "${INSTALL_CHROME}"
-
-release: ${XPI} ${RDF}
-
-${RDF}: ${RDF_IN} Makefile
- @echo "Preparing release..."
- ${Q}${SED} -e "s,###VERSION###,${VERSION},g" \
- -e "s,###DATE###,${BUILD_DATE},g" \
- < $< > $@
- @echo "SUCCESS: $@"
-
-clean:
- @echo "Cleanup..."
- ${Q}rm -f ${JAR} ${XPI}
- ${Q}find . -name '*~' -exec rm -f {} \;
-
-distclean: clean
- @echo "More cleanup..."
- ${Q}rm -f ${DOC_FILES}
- ${Q}rm -rf ${BUILD_DIR}
-
-#### xpi
-
-${BUILD_XPI_SUBDIRS}:
- ${Q}mkdir -p $@
-
-${XPI}: ${BUILD_XPI_SUBDIRS} ${XPI_FILES}
- @echo "Building XPI..."
- ${Q}mkdir -p $(dir ${XPI})
- ${Q}for f in ${XPI_BIN_FILES} ; do \
- cp $$f ${BUILD_XPI_DIR}/$$f ; \
- done
- ${Q}for f in ${XPI_TXT_FILES} ; do \
- ${SED} -e "s,###VERSION###,${VERSION},g" \
- -e "s,###DATE###,${BUILD_DATE},g" \
- < $$f > ${BUILD_XPI_DIR}/$$f ; \
- ( diff -q $$f ${BUILD_XPI_DIR}/$$f 1>/dev/null ) || \
- ( echo "modified: $$f" ; \
- diff -u $$f ${BUILD_XPI_DIR}/$$f | grep '^[-+][^-+]' ) ; \
- done
- # FIXME: VERSION and DATE tokens not replaced
- ${Q}${SED} -e 's,\(skin\|content\|locale/.*\)/$$,jar:chrome/vimperator.jar!/\1/,' \
- < chrome.manifest > ${BUILD_XPI_DIR}/chrome.manifest
- ${Q}( cd ${BUILD_XPI_DIR} && ${ZIP} -r ${TOP}/${XPI} ${XPI_FILES} )
- @echo "SUCCESS: $@"
-
-#### jar
-
-${BUILD_JAR_SUBDIRS}:
- ${Q}mkdir -p $@
-
-${JAR}: ${BUILD_JAR_SUBDIRS} ${JAR_FILES}
- @echo "Building JAR..."
- ${Q}mkdir -p $(dir ${JAR})
- ${Q}for f in ${JAR_BIN_FILES} ; do \
- cp $$f ${BUILD_JAR_DIR}/$$f ; \
- done
- ${Q}for f in ${JAR_TXT_FILES} ; do \
- ${SED} -e "s,###VERSION###,${VERSION},g" \
- -e "s,###DATE###,${BUILD_DATE},g" \
- < $$f > ${BUILD_JAR_DIR}/$$f ; \
- ( diff -q $$f ${BUILD_JAR_DIR}/$$f 1>/dev/null ) || \
- ( echo "modified: $$f" ; \
- diff -u $$f ${BUILD_JAR_DIR}/$$f | grep '^[-+][^-+]' ) ; \
- done
- ${Q}( cd ${BUILD_JAR_DIR} && ${ZIP} -r ${TOP}/${JAR} ${JAR_FILES} )
- @echo "SUCCESS: $@"
-
-#### doc
-
-${DOC_FILES}: %.html: %.txt Makefile locale/en-US/asciidoc.conf
- @echo "DOC $@"
- ${Q}${ASCIIDOC} --unsafe -a linkcss -o $@ $<
+NAME = vimperator
+include Makefile.common
diff --git a/Makefile.common b/Makefile.common
new file mode 100644
index 00000000..717e7a7e
--- /dev/null
+++ b/Makefile.common
@@ -0,0 +1,155 @@
+#### configuration
+
+TOP = $(shell pwd)
+OS = $(shell uname -s)
+BUILD_DATE = $(shell date "+%Y/%m/%d %H:%M:%S")
+
+DOC_SRC_FILES = $(wildcard locale/*/*.txt)
+DOC_FILES = ${DOC_SRC_FILES:%.txt=%.html}
+
+# TODO: specify source files manually?
+JAR_TXT_FILES = ${shell find content skin locale \
+ -type f \
+ -a ! -path '*CVS*' \
+ -a \( \
+ -path '*.js' \
+ -o -path '*.css' \
+ -o -path '*.xul' \
+ -o -path '*.html' \
+ \) \
+ }
+JAR_DIRS = $(foreach f,${JAR_FILES},$(dir $f))
+JAR_BIN_FILES = ${shell find content skin \
+ -type f \
+ -a ! -path '*CVS*' \
+ -a -path '*.png' \
+ }
+JAR_FILES = ${JAR_BIN_FILES} ${JAR_TXT_FILES} ${DOC_FILES}
+JAR = chrome/${NAME}.jar
+
+XPI_TXT_FILES = install.rdf chrome.manifest TODO AUTHORS Donators NEWS
+XPI_DIRS = $(foreach f,${XPI_FILES},$(dir $f))
+XPI_BIN_FILES = ${JAR} Makefile.common Makefile
+XPI_FILES = ${XPI_BIN_FILES} ${XPI_TXT_FILES}
+XPI_NAME = ${NAME}_${VERSION}.xpi
+XPI = ../downloads/${XPI_NAME}
+
+RDF = ../downloads/update.rdf
+RDF_IN = ${RDF}.in
+
+BUILD_DIR = build.${VERSION}.${OS}
+BUILD_JAR_DIR = ${BUILD_DIR}/jar
+BUILD_XPI_DIR = ${BUILD_DIR}/xpi
+
+BUILD_JAR_SUBDIRS = $(sort ${JAR_DIRS:%=${BUILD_JAR_DIR}/%})
+BUILD_XPI_SUBDIRS = $(sort ${XPI_DIRS:%=${BUILD_XPI_DIR}/%})
+
+ASCIIDOC = asciidoc
+ZIP = zip
+SED = sed
+
+# specify V=1 on make line to see more verbose output
+Q=$(if ${V},,@)
+CP_V=$(if ${V},-v)
+
+#### rules
+
+.PHONY: all help info doc jar xpi install clean distclean
+all: help
+
+help:
+ @echo "${NAME} ${VERSION} build"
+ @echo
+ @echo " make help - display this help"
+ @echo " make info - show some info about the system"
+ @echo " make doc - build doc files"
+ @echo " make jar - build a JAR (${JAR})"
+ @echo " make xpi - build an XPI (${XPI_NAME})"
+ @echo " make release - updates update.rdf (this is not for you)"
+ @echo " make clean - clean up"
+ @echo " make distclean - clean up more"
+ @echo
+ @echo "running some commands with V=1 will show more build details"
+
+info:
+ @echo "version ${VERSION}"
+ @echo "release file ${XPI}"
+ @echo "doc files ${DOC_SRC_FILES}"
+ @echo -e "jar files $(shell echo ${JAR_FILES} | sed 's/ /\\n /g' )"
+
+doc: ${DOC_FILES}
+xpi: ${XPI}
+jar: ${JAR}
+
+release: ${XPI} ${RDF}
+
+${RDF}: ${RDF_IN} Makefile
+ @echo "Preparing release..."
+ ${Q}${SED} -e "s,###VERSION###,${VERSION},g" \
+ -e "s,###DATE###,${BUILD_DATE},g" \
+ < $< > $@
+ @echo "SUCCESS: $@"
+
+clean:
+ @echo "Cleanup..."
+ ${Q}rm -f ${JAR} ${XPI}
+ ${Q}find . -name '*~' -exec rm -f {} \;
+
+distclean: clean
+ @echo "More cleanup..."
+ ${Q}rm -f ${DOC_FILES}
+ ${Q}rm -rf ${BUILD_DIR}
+
+#### xpi
+
+${BUILD_XPI_SUBDIRS}:
+ ${Q}mkdir -p $@
+
+${XPI}: ${BUILD_XPI_SUBDIRS} ${XPI_FILES}
+ @echo "Building XPI..."
+ ${Q}mkdir -p $(dir ${XPI})
+ ${Q}for f in ${XPI_BIN_FILES} ; do \
+ cp $$f ${BUILD_XPI_DIR}/$$f ; \
+ done
+ ${Q}for f in ${XPI_TXT_FILES} ; do \
+ ${SED} -e "s,###VERSION###,${VERSION},g" \
+ -e "s,###DATE###,${BUILD_DATE},g" \
+ < $$f > ${BUILD_XPI_DIR}/$$f ; \
+ ( diff -q $$f ${BUILD_XPI_DIR}/$$f 1>/dev/null ) || \
+ ( echo "modified: $$f" ; \
+ diff -u $$f ${BUILD_XPI_DIR}/$$f | grep '^[-+][^-+]' ) ; \
+ done
+ # FIXME: VERSION and DATE tokens not replaced
+ ${Q}${SED} -e 's,\(skin\|content\|locale/.*\)/$$,jar:chrome/${NAME}.jar!/\1/,' \
+ < chrome.manifest > ${BUILD_XPI_DIR}/chrome.manifest
+ ${Q}( cd ${BUILD_XPI_DIR} && ${ZIP} -r ${TOP}/${XPI} ${XPI_FILES} )
+ @echo "SUCCESS: $@"
+
+#### jar
+
+${BUILD_JAR_SUBDIRS}:
+ ${Q}mkdir -p $@
+
+${JAR}: ${BUILD_JAR_SUBDIRS} ${JAR_FILES}
+ @echo "Building JAR..."
+ ${Q}mkdir -p $(dir ${JAR})
+ ${Q}for f in ${JAR_BIN_FILES} ; do \
+ cp $$f ${BUILD_JAR_DIR}/$$f ; \
+ done
+ ${Q}for f in ${JAR_TXT_FILES} ; do \
+ ${SED} -e "s,###VERSION###,${VERSION},g" \
+ -e "s,###DATE###,${BUILD_DATE},g" \
+ < $$f > ${BUILD_JAR_DIR}/$$f ; \
+ ( diff -q $$f ${BUILD_JAR_DIR}/$$f 1>/dev/null ) || \
+ ( echo "modified: $$f" ; \
+ diff -u $$f ${BUILD_JAR_DIR}/$$f | grep '^[-+][^-+]' ) ; \
+ done
+ ${Q}( cd ${BUILD_JAR_DIR} && ${ZIP} -r ${TOP}/${JAR} ${JAR_FILES} )
+ @echo "SUCCESS: $@"
+
+#### doc
+
+${DOC_FILES}: %.html: %.txt Makefile.common locale/en-US/asciidoc.conf
+ @echo "DOC $@"
+ ${Q}${ASCIIDOC} --unsafe -a linkcss -o $@ $<
+
diff --git a/chrome.manifest b/chrome.manifest
index 591c43da..75423120 100644
--- a/chrome.manifest
+++ b/chrome.manifest
@@ -1,3 +1,4 @@
+# Firefox
content vimperator content/
locale vimperator en-US locale/en-US/
skin vimperator classic/1.0 skin/
diff --git a/content/muttator.xul b/content/muttator.xul
new file mode 100644
index 00000000..242d83ee
--- /dev/null
+++ b/content/muttator.xul
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/install.rdf b/install.rdf
index 839bd5a7..3657fa6c 100644
--- a/install.rdf
+++ b/install.rdf
@@ -4,7 +4,7 @@
vimperator@mozdev.org
- Vimperator
+ Vimperator2
###VERSION###
Make Firefox behave like Vim
Martin Stubenschrott