Sawfish
Register
Advertisement
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.

Precompiled packages

Several Linux distributions include precompiled packages for sawfish.

Debian

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: (doesn't work any more)

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
   

Ubuntu

See Ubuntu. It uses Debian derived packages. See also the debian section above for deb-src.

Gentoo

Sawfish-1.8.x & librep's ebuilds are included in official portage tree.

Fedora

Sawfish is included to Fedora 15 and newer. Use "yum install sawfish" command.

Other Distros

Other Distributions known to ship Sawfish in their repos (sometimes in Contrib or User repos):

  • GNU/Linux
    • Arch Linux
    • ALT Linux
    • openSuSE
    • Mandriva
    • Frugalware
    • T2 Linux
  • BSD
    • NetBSD
    • OpenBSD
    • FreeBSD

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.

GIT

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.

Preparation

For the first time, do

Normal access

git clone git://git.tuxfamily.org/gitroot/librep/main.git librep
git clone git://git.tuxfamily.org/gitroot/librep/gtk.git rep-gtk
git clone git://git.tuxfamily.org/gitroot/sawfish/main.git sawfish
git clone git://git.tuxfamily.org/gitroot/sawfishpager/pager.git sawfish-pager

For developers, with write access

git clone ssh://USERNAME@git.tuxfamily.org/gitroot/librep/main.git librep
git clone ssh://USERNAME@git.tuxfamily.org/gitroot/librep/gtk.git rep-gtk
git clone ssh://USERNAME@git.tuxfamily.org/gitroot/sawfish/main.git sawfish
git clone ssh://USERNAME@git.tuxfamily.org/gitroot/sawfishpager/pager.git sawfish-pager

Having all three takes about 40M disk space. Once you "cloned" and have the local repositories, you can update them with:

git pull

in each directory. (Far faster than clone.)

Branches

Accessing a branch

Normal access

git clone git://git.tuxfamily.org/gitroot/sawfish/main.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

For developers with write access

git clone ssh://USERNAME@git.tuxfamily.org/gitroot/sawfish/main.git sawfish
cd sawfish
git branch -r # lists all remote branches
# Suppose you like sawfish-1.5.0 series
git branch --track -b sawfish-1.5.0 remotes/origin/sawfish-1.5.0 
# now you're on the sawfish 1.5x BRANCH
# with ability to push changes to the remote

Compilation

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

./autogen.sh

Troubleshooting

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.

Alternative repositories

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.

Old issues

For old sources, you have to run, instead of autogen.sh, aclocal and autoconf before the usual ./configure)

Download Statistics

Advertisement