|Documentation quick access|
The latest versions of sawfish and its platforms are:
You also need
- gtk+ >= 2.24
- pango (optional, but recommended for UTF-8 support)
- gdk-pixbuf-xlib OR imlib1 (imlib2 is currently not supported)
- GNU autotools to compile.
Several Linux distributions include precompiled packages for sawfish.
See sawfish. Also look for pager and other extras.
3rd party builds
Additionally you can find pre-built packages for Debian/Unstable (AMD64 and Source) in Christopher Bratusek's repo:
deb http://apt.nanolx.org/ photonic main deb-src http://apt.nanolx.org/ photonic main
For getting the public key, issue:
wget http://apt.nanolx.org/photonic.asc apt-key add photonic.asc
See Ubuntu. It uses Debian derived packages. See also the debian section above for deb-src.
Sawfish-1.8.x & librep's ebuilds are included in official portage tree.
Sawfish is included to Fedora 15 and newer. Use "yum install sawfish" command.
Other Distributions known to ship Sawfish in their repos (sometimes in Contrib or User repos):
- Arch Linux
- ALT Linux
- T2 Linux
Compilation from source
It's easy to compile from the source on your own, once get accustomed. See Compilation from source for the basic instruction.
In order to get the latest sawfish release with all the newest add-ons and help developers beta-test at the same time you can see Compilation from GIT. As an alternative Snapshot releases are being rolled-out.
Even when you compile from the source, use the package manager and don't do
make install from the shell. It's likely to get into trouble at upgrading, often from inteference from the old files.
In Debian, deb-src is provided. See above. In Red-Hat based distros, fetch the source and use the *.spec provided. It's not officially maintained, so you may have to modify it manually.
The latest development sources are stored in git repository. (With no guarantees, or even they may not compile. Sawfish is quite stable, so it is rare, though.)
Remark on versions
If the current release of the Sawfish is, say, 1.2.3, then the git source is usually given the version 1.2.4 or 1.3.0, that is of the next (planned) release.
Sometimes you have to install the latest librep and rep-gtk, too. Read the "NEWS" well.
git clone https://github.com/SawfishWM/librep.git librep git clone https://github.com/SawfishWM/rep-gtk.git rep-gtk git clone https://github.com/SawfishWM/sawfish.git sawfish git clone https://github.com/SawfishWM/sawfish-pager.git sawfish-pager git clone https://github.com/SawfishWM/ssd.git sawfish-session-dialog.git
Having all three takes about 40M disk space. Once you "cloned" and have the local repositories, you can update them with:
git pullin each directory. (Far faster than clone.)
Accessing a branch
git clone https://github.com/SawfishWM/sawfish.git sawfish cd sawfish git branch -r # lists all remote branches # Suppose you like sawfish-1.5.0 series git checkout remotes/origin/sawfish-1.5.0 # now you're on the sawfish 1.5x BRANCH
To compile the source, you need automake, autoconf and libtool. automake 1.10 and autoconf >= 2.60 have been tested and are known to work.
After getting the source tree, you need to run
The above step may fail if aclocal cannot find the autoconf macros for any of the compile-time requisites. In that case, look for them (they are the files from your -devel packages with an .m4 extension) and add their location to your aclocal call, as
aclocal -I /some/dir -I /some/other/dir
In some cases you need to install the packages where the missing macros are located. For example:
pinocchio@balocchi ~/s/sawfish> aclocal aclocal:configure.in:148: warning: macro `AM_PROG_LIBTOOL' not found in library
With some guessing, you should be able to figure out in which package are located these macros: for example in this case it's installed in libtool package (Debian/Ubuntu). By installing these packages, the corresponding macros will be installed in /usr/share/aclocal, where they're looked up by aclocal, and you shouldn't get error messages anymore.
If someone provides their own git repository access, then you can use them in the following way:
# preparation git remote add foobar git://foo.bar/baz git fetch foobar # list remote branches git branch -r # create a branch in your filesystem which tracks foobar git checkout -b foo-tracker foobar/foo-branch # Receive updates git checkout foo-tracker git pull
Git ebuilds for Gentoo Linux
Fuchur has made ebuilds here.
Fuchur also suggested a good way to try them in Gentoo here. It was written for svn, but the required change is obvious.
For old sources, you have to run, instead of
autoconf before the usual