Skip to content


Subversion checkout URL

You can clone with
Download ZIP
An extension to add Emacs's editing features to Firefox
JavaScript Haskell Shell CSS
Branch: master
Failed to load latest commit information.
chrome C-h resets the mark.
components Removing trailing white spaces.
.gitignore Adding .gitignore.
chrome.manifest catch up to FF4 way.
install.rdf updating install.rdf. catch up to FF4 way.


The author of Firemacs is Kazu YAMAMOTO <>

* To make the .xpi package

  On the top directory of firemacs:

	% sh

  "work/firemacs-x.y.xpi" will be created.

  Please "open" this file to install this Firemacs.

* To use this sources directly, instead of .xpi

  1) Find the profile directory of Firefox.

     On Mac, it is "~/Library/Application Support/Firefox/"

  2) Find the firemacs directory under the profile directory

     Suppose your profile name is "profile.default", it would be

  3) Change directory to the firemacs directory.

  4) Remove all files on the firemacs directory using:

	% rm -rf *

  5) Create three files: "components", "chrome", "install.rdf",

  5.1) Make symbolic link to the "components" directory of Git:

	% ln -s $GITDIR/components

  5.2) Make symbolic link to the "chrome" directory of Git:

	% ln -s $GITDIR/chrome

  5.3) Copy the "install.rdf" file from Git:

	% cp $GITDIR/install.rdf .

  5.4) Create the "chrome.manifest" file whose contents are:

overlay	chrome://browser/content/browser.xul	chrome://firemacs/content/firemacs.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} appversion>=4.0
overlay	chrome://browser/content/browser.xul	chrome://firemacs/content/statusbar.xul
content	firemacs	chrome/content/
skin	firemacs	classic/1.0	chrome/skin/

  6) Your modification to the source files will be in effect when you
     restart Firefox.

* Generating files in the "chrome/content" directory

  "config-name.js","keybinding.js", and "config.xul" under the
  "chrome/content" directory are automatically generated.

  Automatic make tool is in the "chrome/content/db" directory.

  - "firemacs.yml" contains keybiding information in the YML style.
  - "make.hs" will create these three files above from "firemacs.yml"
    and "config.xul".

  "make.hs" is written by Haskell. You need to install Haskell

  To compile and run "make.hs", type in the "chrome/content/db"

	% runghc make.hs
	Generating "../config-name.js"... done
	Generating "../keybinding.js"... done
	Generating "../config.xul"... done
Something went wrong with that request. Please try again.