Sawfish
m (See tuxfamily page.)
Tag: sourceedit
 
(13 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
{{Documentation}}
 
{{Documentation}}
   
  +
See our [http://sawfish.tuxfamily.org/ Tuxfamily page] for downloads.
The latest versions of sawfish and its platforms are:
 
* [http://download.tuxfamily.org/librep/ librep (all releases)]
 
* [http://download.tuxfamily.org/librep/rep-gtk/ rep-gtk (all releases)]
 
* [http://download.tuxfamily.org/sawfish/ sawfish (all releases)]
 
* [http://downloads.tuxfamily.org/sawfishpager/ sawfish-pager (all releases)]
 
   
 
You also need
 
You also need
   
* gtk+ >= 2.12
+
* gtk+ >= 2.24
 
* pango (optional, but recommended for UTF-8 support)
 
* pango (optional, but recommended for UTF-8 support)
 
* gdk-pixbuf-xlib OR imlib1 (imlib2 is currently not supported)
 
* gdk-pixbuf-xlib OR imlib1 (imlib2 is currently not supported)
Line 15: Line 11:
   
 
== Precompiled packages ==
 
== Precompiled packages ==
  +
''Notice: this list may not be up-to-date.'' Sorry.
  +
 
Several Linux distributions include precompiled packages for sawfish.
 
Several Linux distributions include precompiled packages for sawfish.
   
Line 21: Line 19:
   
 
==== 3rd party builds ====
 
==== 3rd party builds ====
Additionally you can find pre-built packages for Debian/Unstable (AMD64 and Source) in [[User:Flashrider|Christopher Bratusek]]'s repo:
+
Additionally you can find pre-built packages for Debian/Unstable (AMD64 and Source) in [[User:Flashrider|Christopher Bratusek]]'s repo:
   
 
<pre>
 
<pre>
Line 30: Line 28:
 
For getting the public key, issue:
 
For getting the public key, issue:
   
<pre>
+
<pre>
wget http://apt.nanolx.org/photonic.asc
+
wget http://apt.nanolx.org/photonic.asc
apt-key add phonotic.asc
+
apt-key add photonic.asc
</pre>
+
</pre>
 
   
 
=== Ubuntu ===
 
=== Ubuntu ===
See [http://packages.ubuntu.com/sawfish Ubuntu]. It uses Debian derived packages.
+
See [http://packages.ubuntu.com/sawfish Ubuntu]. It uses Debian derived packages. See also the debian section above for deb-src.
   
 
=== Gentoo ===
 
=== Gentoo ===
Sawfish-1.7.x & required librep's ebuilds are found in [https://bugs.gentoo.org/show_bug.cgi?id=341855 bug # 341855].
+
Sawfish-1.8.x & librep's ebuilds are included in official portage tree.
   
 
=== Fedora ===
 
=== Fedora ===
  +
Sawfish is included to Fedora 15 and newer. Use "yum install sawfish" command.
See [http://b.bbbs.net/sawfish/ Kim B Heino's site].
 
   
 
=== Other Distros ===
 
=== Other Distros ===
Line 50: Line 47:
 
** Arch Linux
 
** Arch Linux
 
** ALT Linux
 
** ALT Linux
** Gentoo Linux
 
 
** openSuSE
 
** openSuSE
 
** Mandriva
 
** Mandriva
Line 60: Line 56:
 
** FreeBSD
 
** 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 <code>make install</code> 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 [[Debian|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 ==
 
== 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.)
 
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.)
   
* The web git interfaces are: [http://git.tuxfamily.org/sawfish/main.git sawfish], [http://git.tuxfamily.org/librep/main.git librep], [http://git.tuxfamily.org/librep/gtk.git rep-gtk] and [http://git.tuxfamily.org/sawfishpager/pager.git sawfish-pager].
+
* The web git interfaces are: [https://github.com/SawfishWM/sawfish sawfish], [https://github.com/SawfishWM/librep librep], [https://github.com/SawfishWM/rep-gtk rep-gtk], [https://github.com/SawfishWM/sawfish-pager sawfish-pager] and [https://github.com/SawfishWM/ssd sawfish-session-dialog].
  +
* '''Unofficial''' tarball of the snapshot of [http://gitorious.org/sawfish/sawfish/archive-tarball/master sawfish] and [http://gitorious.org/sawfish/librep/archive-tarball/master librep]. They may be a bit older than the official git repository.
 
 
=== Remark on versions ===
 
=== Remark on versions ===
 
If the current release of the Sawfish is, say, 1.2.3, then the git
 
If the current release of the Sawfish is, say, 1.2.3, then the git
Line 73: Line 78:
   
 
=== Preparation ===
 
=== Preparation ===
 
<pre>git clone https://github.com/SawfishWM/librep.git librep
For the first time, do
 
 
git clone https://github.com/SawfishWM/rep-gtk.git rep-gtk
 
 
git clone https://github.com/SawfishWM/sawfish.git sawfish
'''Normal''' access
 
 
git clone https://github.com/SawfishWM/sawfish-pager.git sawfish-pager
 
<pre>git clone git://git.tuxfamily.org/gitroot/librep/main.git librep
+
git clone https://github.com/SawfishWM/ssd.git sawfish-session-dialog.git</pre>
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</pre>
 
 
For '''developers''', with write access
 
 
<pre>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</pre>
 
   
 
Having all three takes about 40M disk space.
 
Having all three takes about 40M disk space.
Line 95: Line 90:
 
=== Branches ===
 
=== Branches ===
 
==== Accessing a branch ====
 
==== Accessing a branch ====
 
<pre>git clone https://github.com/SawfishWM/sawfish.git sawfish
'''Normal''' access
 
 
<pre>git clone git://git.gnome.org/sawfish
 
 
cd sawfish
 
cd sawfish
 
git branch -r # lists all remote branches
 
git branch -r # lists all remote branches
 
# Suppose you like sawfish-1.5.0 series
 
# 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</pre>
 
git checkout remotes/origin/sawfish-1.5.0 # now you're on the sawfish 1.5x BRANCH</pre>
 
For '''developers''' with write access
 
 
<pre>git clone git+ssh://USERNAME@git.gnome.org/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</pre>
 
   
 
=== Compilation ===
 
=== Compilation ===
Line 118: Line 101:
 
After getting the source tree, you need to run
 
After getting the source tree, you need to run
   
autogen.sh
+
./autogen.sh
   
 
==== Troubleshooting ====
 
==== Troubleshooting ====
Line 133: Line 116:
 
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.
 
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.
   
=== Other repositories ===
+
=== Alternative repositories ===
 
If someone provides their own git repository access, then you can use them in the following way:
 
If someone provides their own git repository access, then you can use them in the following way:
   
Line 141: Line 124:
 
# list remote branches
 
# list remote branches
 
git branch -r
 
git branch -r
git branch --track foo-tracker foobar/foo-branch
+
# create a branch in your filesystem which tracks foobar
  +
git checkout -b foo-tracker foobar/foo-branch
# once you do above, do the following to pull in the HEAD:
 
  +
  +
# Receive updates
 
git checkout foo-tracker
 
git checkout foo-tracker
 
git pull</pre>
 
git pull</pre>
Line 150: Line 135:
 
Fuchur has made ebuilds [http://mitglied.lycos.de/fuchur2004/gentoo-sawfish-git-ebuilds.tar.bz2 here].
 
Fuchur has made ebuilds [http://mitglied.lycos.de/fuchur2004/gentoo-sawfish-git-ebuilds.tar.bz2 here].
   
Fuchur also suggested a good way to try them (in svn) in Gentoo [http://mail.gnome.org/archives/sawfish-list/2009-February/msg00062.html here].
+
Fuchur also suggested a good way to try them in Gentoo [http://mail.gnome.org/archives/sawfish-list/2009-February/msg00062.html here]. It was written for svn, but the required change is obvious.
   
 
=== Old issues ===
 
=== Old issues ===
 
For old sources, you have to run, instead of <code>autogen.sh</code>, <code>aclocal</code> and <code>autoconf</code> before the usual <code>./configure</code>)
 
For old sources, you have to run, instead of <code>autogen.sh</code>, <code>aclocal</code> and <code>autoconf</code> before the usual <code>./configure</code>)
 
==== SVN ====
 
The subversion repository is not updated any more.
 
 
   
 
== Download Statistics ==
 
== Download Statistics ==

Latest revision as of 08:09, 1 June 2015

Documentation quick access

See our Tuxfamily page for downloads.

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[]

Notice: this list may not be up-to-date. Sorry.

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:

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[]

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 pull

in each directory. (Far faster than clone.)

Branches[]

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

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[]