The basic instructions on how to apply a patch[]

  1. Copy/paste the patch listed below into some file, eg. TEST.diff.
  2. If you don't have sawfish sources yet, have one, as described get it from GIT repo.
  3. Go into the directory where sawfish sources reside, eg. cd sawfish
  4. Test if the patch applies cleanly with this command:
    patch -p1 --ignore-whitespace --dry-run < TEST.diff
    in case of problems try also: -p0 or -p2
  5. If it applies cleanly, then remove the --dry-run from above command and run it again, otherwise ask on the mailing list.
  6. Compile sawfish: ./ && make
  7. Install it for testing, but it depends on your linux distribution.
    1. It is always better to install sawfish as your distribution package, but it is different for each distribution.
    2. So you may try make install, which will install sawifish in /usr/local/share/sawfish/ (if you have write access). But then make sure that you run the correct version and delete it from that directory afterwards, to avoid any conflicts.
  8. Se also
    • how to prepare a patch - this instruction is useful for patch testing also.
    • Patch testing howto for practical tips.

PS: edit this template if you feel that those instructions can be improved.

Maintainer's viewpoint[]

  • Have read code?
  • Tested in which circumstance? OS, linux distro, etc.
  • Which points are examined?
  • The patched part of code is really executed?

Tester's tips[]

How to apply the patch elegantly[]

Many patches involve only lisp. In such cases, I (Teika kazura)

  1. make a backup copy of the lisp directory (/usr/share/sawfish/1.x.y/lisp/sawfish in my case),
  2. make two directories, 'trunk' and 'test', which are copies of the original, as a non-root.
  3. Make a symbolic link from the original to 'sawfish' in my private dir,
  4. and another symlink 'sawfish' chooses 'trunk' or 'test'.
     Don't forget to restart the sawfish!

For a drastic change, running sawfish with a different user account, or under nested X server helps.

See also[]