--- sawfish-1.3.5.2.orig/debian/README.source +++ sawfish-1.3.5.2/debian/README.source @@ -0,0 +1,57 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +To configure quilt to use debian/patches instead of patches, you want +either to export QUILT_PATCHES=debian/patches in your environment +or use this snippet in your ~/.quiltrc: + + for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do + if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then + export QUILT_PATCHES=debian/patches + fi + done + +To get the fully patched source after unpacking the source package, cd to +the root level of the source package and run: + + quilt push -a + +The last patch listed in debian/patches/series will become the current +patch. + +To add a new set of changes, first run quilt push -a, and then run: + + quilt new + +where is a descriptive name for the patch, used as the filename in +debian/patches. Then, for every file that will be modified by this patch, +run: + + quilt add + +before editing those files. You must tell quilt with quilt add what files +will be part of the patch before making changes or quilt will not work +properly. After editing the files, run: + + quilt refresh + +to save the results as a patch. + +Alternately, if you already have an external patch and you just want to +add it to the build system, run quilt push -a and then: + + quilt import -P /path/to/patch + quilt push -a + +(add -p 0 to quilt import if needed). as above is the filename to +use in debian/patches. The last quilt push -a will apply the patch to +make sure it works properly. + +To remove an existing patch from the list of patches that will be applied, +run: + + quilt delete + +You may need to run quilt pop -a to unapply patches first before running +this command. --- sawfish-1.3.5.2.orig/debian/00menu.jl +++ sawfish-1.3.5.2/debian/00menu.jl @@ -0,0 +1,4 @@ +; load the debian menu +(require 'debian-menu) +; install it +(setq apps-menu debian-menu) --- sawfish-1.3.5.2.orig/debian/postrm +++ sawfish-1.3.5.2/debian/postrm @@ -0,0 +1,10 @@ +#! /bin/sh -e + +if [ "$1" = purge ]; then + rm -rf /etc/X11/sawfish 2>/dev/null || true + rm -rf /var/lib/sawfish 2>/dev/null || true +fi + +#DEBHELPER# + +exit 0 --- sawfish-1.3.5.2.orig/debian/sawfish.1 +++ sawfish-1.3.5.2/debian/sawfish.1 @@ -0,0 +1,48 @@ +.TH "sawfish" "1" +.SH "NAME" +sawfish \(em Sawfish window manager. +.SH "SYNOPSIS" +.PP +\fBsawfish\fR [\fB\-\-display \fI[=DPY]\fR \fP] [\fB\-\-multihead \fP] [\fB\-\-visual \fI[=VISUAL]\fR \fP] [\fB\-\-depth \fI[=DEPTH]\fR \fP] [\fB\-\-disable-nls \fP] [\fBFILE \fP] [\fB\-\-batch \fP] [\fB\-\-interp \fP] [\fB-f, \-\-call \fIFUNCTION\fR \fP] [\fB-l, \-\-load \fIFILE\fR \fP] [\fB\-\-version \fP] [\fB\-\-no-rc \fP] [\fB-q, \-\-quit \fP] +.SH "DESCRIPTION" +.PP +Sawfish is a lisp-extensible window manager for X11. Its aim is to +allow all areas of window management (decoration, manipulation) to be +customized as far as is possible, yet still remain as fast or faster +than existing window managers. +.SH "OPTIONS" +.IP "\fB\-\-display=\fIDPY\fR\fP" 10 +Connect to X display \fIDPY\fR. +.IP "\fB\-\-multihead\fP" 10 +Fork a copy of sawfish for each screen. +.IP "\fB\-\-visual=\fIVISUAL\fR\fP" 10 +Preferred \fIVISUAL\fR type. +.IP "\fB\-\-depth=\fIDEPTH\fR\fP" 10 +Preferred color \fIDEPTH\fR. +.IP "\fB\-\-disable-nls\fP" 10 +Disable internationalization of messages. +.IP "\fBFILE\fP " 10 +Load the Lisp file \fIFILE\fR (from the +cwd if possible, implies \fI\-\-batch\fR mode). +.IP "\fB\-\-batch\fP " 10 +Batch mode: process options and exit. +.IP "\fB\-\-interp\fP " 10 +Interpreted mode: don't load compiled Lisp files. +.IP "\fB-f, \-\-call\fP \fBFUNCTION\fP " 10 +Call Lisp function \fIFUNCTION\fR. +.IP "\fB-l, \-\-load\fP \fBFILE\fP " 10 +Load the file of Lisp forms called \fIFUNCTION\fR. +.IP "\fB\-\-version\fP" 10 +Print version details. +.IP "\fB\-\-no-rc\fP" 10 +Don't load rc or site-init files. +.IP "\fB-q, \-\-quit-\fP" 10 +Terminate the interpreter process. +.SH "SEE ALSO" +.PP +Sawfish is documented fully by \fIJohn Harper\fP available via the \fBInfo\fP system. +.SH "AUTHOR" +.PP +This manual page was written by Christian Marillat marillat@debian.org for +the \fBDebian GNU/Linux\fP system (but may be used by others). +.\" created by instant / docbook-to-man, Sat 02 Feb 2008, 23:15 --- sawfish-1.3.5.2.orig/debian/manpages +++ sawfish-1.3.5.2/debian/manpages @@ -0,0 +1,3 @@ +debian/sawfish-client.1 +debian/sawfish-ui.1 +debian/sawfish.1 --- sawfish-1.3.5.2.orig/debian/50cursors.jl +++ sawfish-1.3.5.2/debian/50cursors.jl @@ -0,0 +1,3 @@ +; change cursors when moving or resizing a window +(setq move-cursor-shape 'hand2) +(setq resize-cursor-shape 'hand2) --- sawfish-1.3.5.2.orig/debian/defaults.jl +++ sawfish-1.3.5.2/debian/defaults.jl @@ -0,0 +1,35 @@ +;; sawmill-default.jl -- default user startup +;; $Id: defaults.jl,v 1.19 2000/11/15 21:51:02 jsh Exp $ + +;; Copyright (C) 1999 John Harper + +;; This file is part of sawmill. + +;; sawmill is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; sawmill is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with sawmill; see the file COPYING. If not, write to +;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +;; Commentary: + +;; This file provides defaults for users without .sawmillrc files + +(declare (in-module user)) + +;; magic comment to get an alias installed +;; (define-structure-alias sawmill-defaults sawfish.wm.defaults) + +;; this is probably good for novice users? +(require 'sawfish.wm.ext.window-history) + +;; save errors to aid debugging +(require 'sawfish.wm.ext.error-handler) --- sawfish-1.3.5.2.orig/debian/prerm +++ sawfish-1.3.5.2/debian/prerm @@ -0,0 +1,12 @@ +#!/bin/sh -e + +if [ "$1" = "remove" ]; then + install-info --quiet --remove /usr/share/info/sawfish.info + +# Because dh_installwm don't remove a slave manpage + update-alternatives --remove x-window-manager /usr/bin/sawfish +fi + +#DEBHELPER# + +exit 0 --- sawfish-1.3.5.2.orig/debian/dirs +++ sawfish-1.3.5.2/debian/dirs @@ -0,0 +1,5 @@ +etc/X11/sawfish/site-init.d +etc/etc/emacs/site-start.d +usr/share/emacs/site-lisp/sawfish +usr/share/sawfish/site-lisp +usr/share/lintian/overrides --- sawfish-1.3.5.2.orig/debian/gnome-defaults.jl +++ sawfish-1.3.5.2/debian/gnome-defaults.jl @@ -0,0 +1,4 @@ +; load the sawfish defaults +(require 'sawmill-defaults) +; load gnome support +(require 'gnome) --- sawfish-1.3.5.2.orig/debian/compat +++ sawfish-1.3.5.2/debian/compat @@ -0,0 +1 @@ +5 --- sawfish-1.3.5.2.orig/debian/sawfish-ui.sgml +++ sawfish-1.3.5.2/debian/sawfish-ui.sgml @@ -0,0 +1,129 @@ +Christian"> + Marillat"> + april 7, 2001"> + 1"> + marillat@debian.org"> + + sawfish-ui"> + + Debian GNU/Linux"> + GNU"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2001 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + The Sawfish Configurator. + + + + + &dhpackage; + + + + + + + + + + DESCRIPTION + + This program can be used to invoke the GUI manually; if GNOME is being + used, then the GNOME Control Center can also be used to customize + certain classes. + + + + OPTIONS + + + + + + + + Display only GROUP-NAME + + GROUP-NAME should be one of these + names Sawfish, Appearance, Bindings, Focus, Matched Windows, + Minimizing/Maximizing, Miscellaneous, Move/Resize, Placement, Sounds, Workspaces + + + + + + + display sub-groups inline instead of using a tree widget + (good for control center). In normal `tree' item, don't put frame + the widgets + + + + + + Don't display the tree widget. + + + + + + + + This option allow the ui to be embedded in the gnome control + center. This also disables the ok/cancel/etc buttons and enables + a hacky protocol on stdin/stdout + + + + + + + AUTHOR + + This manual page was written by &dhusername; &dhemail; for + the &debian; system (but may be used by others). + + +
+ + --- sawfish-1.3.5.2.orig/debian/sawfish.el +++ sawfish-1.3.5.2/debian/sawfish.el @@ -0,0 +1,1003 @@ +;;; sawfish.el --- Sawfish mode. +;; Copyright 1999,2000,2001,2002,2003,2004 by Dave Pearson +;; $Revision: 1.32 $ + +;; sawfish.el is free software distributed under the terms of the GNU +;; General Public Licence, version 2. For details see the file COPYING. + +;;; Commentary: +;; +;; sawfish.el is an emacs mode for writing code for the sawfish window +;; manager . As well as providing a +;; programming mode it also allows for direct interaction with the running +;; window manager. +;; +;; The latest sawfish.el is always available from: +;; +;; + +;;; THANKS: +;; +;; John Harper for help regarding sawfish and rep. +;; +;; Stefan Monnier for finding the font-lock (or lack of) with derived modes +;; problem and providing a fix for GNU Emacs. +;; +;; Jan Vroonhof for his invaluable pointers regarding XEmacs. +;; +;; Hubert Selhofer for the code to syntax highlight "#||#" comments, for the +;; GNU emacs font-lock code to provide support for various rep and sawfish +;; "keywords" and for the GNU emacs emacs-lisp menu removal kludge. +;; +;; Kai Grossjohann for his enhancments to `sawfish-console'. +;; +;; Markus Holmberg for the code that improves integration with info. + +;;; BUGS: +;; +;; o The handling of the apropos buffer totally breaks down under XEmacs. +;; +;; o sawfish.el needs a total rewrite. When I started this mode rep (the +;; lisp that sawfish is based around) was an elisp-a-like. Since then it +;; has turned into a scheme-a-like that happens to retain some +;; elisp-a-like bits. Ideally a new sawfish.el would be written in terms +;; of a librep.el which would be a ground-up-rewritten mode for dealing +;; with rep. + +;;; INSTALLATION: +;; +;; o Drop sawfish.el somwehere into your `load-path'. Try your site-lisp +;; directory for example (you might also want to byte-compile the file). +;; +;; o Add autoloads for the various sawfish functions to ~/.emacs. At the +;; very least you want to do something like: +;; +;; (autoload 'sawfish-mode "sawfish" "sawfish-mode" t) +;; +;; o Add the following to ~/.emacs to ensure that sawfish mode is used when +;; you go to edit sawfish code: +;; +;; (setq auto-mode-alist (cons '("\\.sawfishrc$" . sawfish-mode) auto-mode-alist) +;; auto-mode-alist (cons '("\\.jl$" . sawfish-mode) auto-mode-alist) +;; auto-mode-alist (cons '("\\.sawfish/rc$" . sawfish-mode) auto-mode-alist)) + +;;; Code: + +;; Things we need: +(eval-when-compile + (require 'cl) + (require 'info)) +(require 'thingatpt) +(require 'font-lock) +(require 'regexp-opt) +(require 'pp) +(require 'easymenu) +(require 'inf-lisp) + +;; Shut the compiler up. +(eval-when-compile + + ;; Keep everyone quiet. + (defvar sawfish-mode-map) + (defvar sawfish-mode-menu) + + ;; Things to keep XEmacs quiet. + (unless (boundp 'font-lock-defaults-alist) + (defvar font-lock-defaults-alist)) + + ;; Things to keep GNU Emacs quiet. + (unless (boundp 'delete-menu-item) + (defun delete-menu-item (path) + nil))) + +;; Attempt to handle older/other emacs. +(eval-and-compile + ;; If customize isn't available just use defvar instead. + (unless (fboundp 'defgroup) + (defmacro defgroup (&rest rest) nil) + (defmacro defcustom (symbol init docstring &rest rest) + `(defvar ,symbol ,init ,docstring)))) + +;; Customize options. + +(defgroup sawfish nil + "Mode for editing the configuration of and interacting with the sawfish +window manager." + :group 'languages + :prefix "sawfish-") + +(defcustom sawfish-client "sawfish-client" + "*Command for interacting with the window manager." + :type 'string + :group 'sawfish) + +(defcustom sawfish-exec-parameter "-e" + "*Parameter for `sawfish-client' that tells it to eval a form and exit." + :type 'string + :group 'sawfish) + +(defcustom sawfish-interactive-parameter "-" + "*Interactive mode parameter for `sawfish-client'." + :type 'string + :group 'sawfish) + +(defcustom sawfish-result-buffer "*sawfish*" + "*Name of the long result display buffer." + :type 'string + :group 'sawfish) + +(defcustom sawfish-help-buffer "*sawfish-help*" + "*Name of the sawfish help buffer." + :type 'string + :group 'sawfish) + +(defcustom sawfish-apropos-buffer "*sawfish-apropos*" + "*Name of the sawfish apropos buffer." + :type 'string + :group 'sawfish) + +(defcustom sawfish-scratch-buffer "*sawfish-scratch*" + "*Name of the sawfish scratch buffer." + :type 'string + :group 'sawfish) + +(defcustom sawfish-buffer-symbol-lists t + "*Buffer the lists of function and variable names?" + :type 'boolean + :group 'sawfish) + +(defcustom sawfish-apropos-searches-info-files t + "*Search info files for apropos \"one-liner\" help? + +This variable controls the action of the sawfish apropos functions. When nil +the apropos functions won't go looking in the sawfish info files for a +one-line doc-string to display in the apropos buffer if the symbol doesn't +have a doc-string. This will make apropos calls a lot faster." + :type 'boolean + :group 'sawfish) + +(defcustom sawfish-mode-hook nil + "*List of hooks to execute on entry to sawfish-mode." + :type 'hook + :group 'sawfish) + +(defcustom sawfish-info-files '(("sawfish" "Function Index" "Variable Index") + ("librep" "Function Index" "Variable Index")) + "*List of info files to search when looking for info documentation. + +This is a list of lists. Each entry in the list is of the format: + + (INFO-FILE FUNCTION-INDEX VARIABLE-INDEX)" + :type '(repeat (list :tag "Info file information" + (string :tag "Info file name") + (string :tag "Function index name") + (string :tag "Variable index name"))) + :group 'sawfish) + +(defcustom sawfish-comint-prompt "^sawfish% " + "*Regular expression for matching the sawfish-client prompt." + :type 'regexp + :group 'sawfish) + +(defcustom sawfish-extra-keyword-list + '("add-frame-style" "call-after-load" "call-after-property-changed" + "call-after-state-changed" "custom-set-property") + "List of extra keywords for Sawfish used in highlighting. +Highlight these expressions with `font-lock-keyword-face'." + :group 'sawfish + :type '(repeat (string :tag "Keyword: "))) + +(defcustom sawfish-warning-keyword-list + '("fixme" "FIXME" "Fixme" "fix me" "Fix me" "!!!" "Grrr" "Bummer") + "List of keywords for Sawfish used in highlighting. +Highlight these expressions with `font-lock-warning-face' even if +already fontified." + :group 'sawfish + :type '(repeat (string :tag "Keyword: "))) + +;; Non customising variables. + +(defvar sawfish-function-list nil + "List of sawfish functions.") + +(defvar sawfish-variable-list nil + "List of sawfish variables.") + +(defvar sawfish-function-p '(lambda (s) + (and + (boundp s) + (or + (functionp (symbol-value s)) + (macrop (symbol-value s)) + (special-form-p (symbol-value s))))) + "Closure to pass to sawfish-client for testing if a symbol is a function.") + +(defvar sawfish-variable-p `(lambda (s) + (and (boundp s) + (not (,sawfish-function-p s)))) + "Closure to pass to sawfish-client for testing if a symbol is a variable.") + +(defvar sawfish-read-expression-map nil + "Minibuffer keymap used for reading sawfish lisp expressions.") + +(defvar sawfish-interaction-mode-map nil + "Keymap for use with `sawfish-interaction'.") + +(defvar sawfish-read-expression-history nil + "History list for `sawfish-eval-expression'.") + +(defvar sawfish-describe-symbol + '(lambda (s) + (if (boundp s) + (cond ((special-form-p (symbol-value s)) "Special form") + ((macrop (symbol-value s)) "Macro") + ((subrp (symbol-value s)) "Built-in function") + ((commandp (symbol-value s)) "Command") + ((functionp (symbol-value s)) "Function") + ((binding-immutable-p s ) "Constant") + (t "Variable")) + "Symbol")) + "Closure to pass to sawfish-client that will describe a symbol's binding.") + +;; Constants. + +(defconst sawfish-defines-regexp + (concat "(\\(" + (regexp-opt + ;; A cute way to obtain the list below would be: + ;; (sawfish-code (mapcar symbol-name (apropos "^define"))) + ;; + ;; It would, however, mean that you'd have a list of "keywords" + ;; define in your running instance of sawfish. It would also + ;; mean that you'd have to have sawfish running at the time + ;; that this constant is defined. + (list + "define" "define-command-args" "define-command-to-screen" + "define-custom-deserializer" "define-custom-serializer" + "define-custom-setter" "define-datum-printer" + "define-file-handler" "define-focus-mode" + "define-frame-class" "define-frame-type-mapper" + "define-interface" "define-linear-viewport-commands" + "define-match-window-formatter" + "define-match-window-group" "define-match-window-property" + "define-match-window-setter" "define-parse" + "define-placement-mode" "define-record-type" + "define-record-discloser" "define-scan-body" + "define-scan-form" "define-scan-internals" + "define-structure" "define-value" + "define-window-animator")) + "\\)\\>[ \t'(]*\\(\\sw+\\)?") + "List of define-structures known by Sawfish.") + +(defconst sawfish-additional-keywords + (append lisp-font-lock-keywords-2 + (list + ;; highlight define-* + (list + sawfish-defines-regexp + '(1 font-lock-keyword-face) + `(,(regexp-opt-depth sawfish-defines-regexp) + font-lock-variable-name-face nil t)) + ;; extra keywords + (if sawfish-extra-keyword-list + (list (concat "\\<" + `,(regexp-opt sawfish-extra-keyword-list) + "\\>") + '(0 font-lock-keyword-face))) + ;; highlight warnings + (if sawfish-warning-keyword-list + (list (concat "\\<" + `,(regexp-opt sawfish-warning-keyword-list) + "\\>") + '(0 font-lock-warning-face prepend))))) + "Some additonal keywords to highlight in `sawfish-mode'.") + +;; Main code: + +;;;###autoload +(define-derived-mode sawfish-mode emacs-lisp-mode "Sawfish" + "Major mode for editing sawfish files and for interacting with sawfish. + +Special commands: + +\\{sawfish-mode-map}" + ;; `define-derived-mode' in both GNU Emacs and XEmacs doesn't appear to + ;; derive the font-lock settings. So, depending on the editor in use we + ;; need to drag those settings down to us in different ways (hmm).... + (if (and (boundp 'running-xemacs) (symbol-value 'running-xemacs)) + ;; XEmacs appears to do something like this... + (put 'sawfish-mode 'font-lock-defaults + (get 'emacs-lisp-mode 'font-lock-defaults)) + ;; ...with GNU Emacs we need to pull it from `font-lock-defaults-alist'. + (unless font-lock-defaults + (set (make-local-variable 'font-lock-defaults) + (cdr (assoc 'emacs-lisp-mode font-lock-defaults-alist))) + ;; Add the additional font-lock pattern to `font-lock-defaults' + ;; only once + (unless (memq 'sawfish-additional-keywords (car font-lock-defaults)) + (setq font-lock-defaults (copy-alist font-lock-defaults)) + (setcar font-lock-defaults + (append (car font-lock-defaults) + '(sawfish-additional-keywords)))))) + ;; Menu stuff. + (if (and (boundp 'running-xemacs) (symbol-value 'running-xemacs)) + ;; XEmacs. + (progn + ;; For some odd reason `delete-menu-item' doesn't seem to always work. + ;; Anyone know why? + (delete-menu-item '("Emacs-Lisp")) + ;; XEmacs seems to require that you add the menu yourself. + (easy-menu-add sawfish-mode-menu)) + ;; See the end of this file for the code that removes the emacs lisp + ;; menu. + ) + ;; Add support for #| ... |# style comments (call it style b) see GNU + ;; Emacs Lisp Reference Manual (Rev. 2.5), p. 673-675 + (modify-syntax-entry ?# "' 14b") ; quote or comment (style b) + (modify-syntax-entry ?| "_ 23b") ; symbol or comment (style b) + (modify-syntax-entry ?\n ">a") ; end comment (style a) + ;; The following adds some indentation information to help sawfish-mode + ;; (rep is a sort of elisp/scheme hybrid with some extra stuff of its own, + ;; we inherit from emacs-lisp-mode so we need to add a sprinkle of scheme + ;; support). + (loop for sym in '((define . 1) + (define-interface . 1) + (define-record-discloser . 1) + (define-record-type . 1) + (define-structure . 3) + (letrec . 1) + (structure . 2) + (with-output-to-screen . 0)) + do (unless (get (car sym) 'lisp-indent-function) + (put (car sym) 'lisp-indent-function (cdr sym))))) + +(defun sawfish-eval (sexp &optional target-buffer) + "Pass SEXP to sawfish for evaluation. + +SEXP can either be a list or a string. + +If passed the result of the evaluation is inserted into TARGET-BUFFER." + (call-process sawfish-client nil target-buffer nil sawfish-exec-parameter + (if (stringp sexp) sexp (format "%S" sexp)))) + +(defun sawfish-string-readable-p (sexp) + "Can string SEXP be safely `read'?" + (not (string-match "#<\\w+" sexp))) + +(defun sawfish-buffer-readable-p (&optional buffer) + "Can the content of BUFFER be safely `read'?" + (sawfish-string-readable-p + (with-current-buffer (or buffer (current-buffer)) + (buffer-string)))) + +(defun sawfish-eval-noread (sexp) + "Eval SEXP and return the result without `read'ing it." + (with-temp-buffer + (sawfish-eval sexp t) + (buffer-substring-no-properties (point-min) (1- (point-max))))) + +(defun sawfish-eval-read (sexp) + "Eval SEXP and return the result of `read'ing the result. + +SEXP can either be a list or a string." + (let ((result (sawfish-eval-noread sexp))) + (if (sawfish-string-readable-p result) + (read result) + result))) + +;;;###autoload +(defun sawfish-eval-region (start end &optional target-buffer) + "Evaluate the region bounded by START and END. + +TARGET-BUFFER is the optional target for the return value of the +evaluation." + (interactive "r") + (sawfish-eval (buffer-substring-no-properties start end) target-buffer)) + +;;;###autoload +(defun sawfish-eval-buffer () + "Evaluate the whole buffer." + (interactive) + (sawfish-eval-region (point-min) (point-max) nil)) + +;;;###autoload +(defun sawfish-eval-defun (insert-value) + "Evaluate the top level form at or near `point'. + +INSERT-VALUE is a prefix parameter, if it is non-NIL the value of the +expression is inserted into the buffer after the form." + (interactive "P") + (save-restriction + (save-excursion + (narrow-to-defun) + (setf (point) (point-max)) + (let ((result (sawfish-eval-last-sexp nil))) + (if insert-value + (let ((standard-output (current-buffer))) + (setf (point) (point-min)) + (end-of-defun) + (unless (bolp) + (terpri)) + (princ result) + (terpri)) + (sawfish-output result)))))) + +;;;###autoload +(defun sawfish-eval-expression (sexp &optional insert-value) + "Evaluate SEXP and display the value in the minibuffer. + +If the optional parameter INSERT-VALUE is supplied as a non-NIL value the +value of SEXP will be inserted into the current buffer." + (interactive + (list + (read-from-minibuffer "Sawfish Eval: " nil sawfish-read-expression-map t 'sawfish-read-expression-history) + current-prefix-arg)) + (let ((result (sawfish-eval-noread sexp))) + (if insert-value + (let ((standard-output (current-buffer))) + (princ result)) + (sawfish-output result)))) + +(defun sawfish-output (output) + "Display output either in mini-buffer or a seperate buffer. + +If the output is empty then the string \"No output\" is displayed. + +If the output is one line long and the length of the line is less than the +`frame-width' then it is displayed using `message'. + +If the output has multiple lines or is longer than `frame-width' then a new +buffer is opened and the text is displayed there. The name of the buffer is +set by the variable `sawfish-result-buffer'" + (with-temp-buffer + (let ((temp-buffer (current-buffer))) + (insert output) + (let ((lines (count-lines (point-min) (point-max)))) + (cond + ((zerop lines) ; Nothing to display. + (message "No output")) + ((and (= 1 lines) ; If there is only one line + (< (- (point-max) ; and it isn't too wide for + (point-min)) ; the display. + (frame-width))) + (setf (point) (point-min)) + (replace-string "\n" "") ; Strip any trailing EOLs. + (when (get-buffer-window sawfish-result-buffer) + ;; The long result buffer is visible, delete it. + (delete-window (get-buffer-window sawfish-result-buffer))) + (message "%s" (buffer-string))) + (t ; Too large for message area, use a buffer. + (with-output-to-temp-buffer sawfish-result-buffer + (with-current-buffer sawfish-result-buffer + (if (sawfish-string-readable-p output) + (pp (read output) (current-buffer)) + (setf (buffer-string) (format "%s" (with-current-buffer temp-buffer + (buffer-string))))) + (shrink-window-if-larger-than-buffer (display-buffer (current-buffer)))) + (bury-buffer (current-buffer))))))))) + +(defun sawfish-insert (string) + "Insert STRING into `current-buffer', pretty print if at all possible." + (if (sawfish-string-readable-p string) + (pp (read string) (current-buffer)) + (insert string))) + +;;;###autoload +(defun sawfish-eval-last-sexp (to-buffer) + "Version of `eval-last-sexp' that interacts with sawfish." + (interactive "P") + (let ((home-buffer (current-buffer))) + (with-temp-buffer + (let ((temp-buffer (current-buffer))) + (with-current-buffer home-buffer + (sawfish-eval-region (save-excursion + (backward-sexp) + (point)) + (point) + temp-buffer) + (funcall (if to-buffer + #'sawfish-insert + #'sawfish-output) + (with-current-buffer temp-buffer (buffer-string)))))))) + +;;;###autoload +(defun sawfish-eval-print-last-sexp () + (interactive) + (insert "\n") + (sawfish-eval-last-sexp t)) + +(defmacro sawfish-code (&rest body) + "Pass BODY to sawfish for evaluation." + `(sawfish-eval-read (cons 'progn (quote ,body)))) + +(defun sawfish-load-helpers () + "Load modules that help us work with sawfish." + (sawfish-code + (require 'rep.structures) + (require 'lisp-doc))) + +(defun sawfish-load-symbols (&optional force) + "Loads the names of the sawfish functions and variables." + (unless (and (not (or force (not sawfish-buffer-symbol-lists))) + sawfish-function-list sawfish-variable-list) + (setq sawfish-function-list nil + sawfish-variable-list nil) + (flet ((sawfish-fun-p (sym) (second sym)) + (sawfish-var-p (sym) (third sym))) + (loop for sym in (sawfish-eval-read + `(mapcar (lambda (sym) + (list + (symbol-name sym) + (or (macrop sym) (,sawfish-function-p sym)) + (,sawfish-variable-p sym))) + (apropos "."))) + if (sawfish-fun-p sym) do (push (list (car sym)) sawfish-function-list) + if (sawfish-var-p sym) do (push (list (car sym)) sawfish-variable-list))))) + +(defun sawfish-documentation (symbol &optional is-variable) + "Get the documentation for SYMBOL." + (sawfish-eval-read `(documentation (quote ,symbol) ,is-variable))) + +(defun sawfish-funcall-at-point () + "Try and work out the function being called at or near `point'." + ;; `thing-at-point', when trying to grab a list, doesn't appear to do what + ;; I need most of the time. I need to figure out what is wrong or write + ;; something better. + (let ((list (thing-at-point 'list))) + (when list + (let ((fun (symbol-name (car (read list))))) + (when (assoc fun sawfish-function-list) + fun))))) + +(defun sawfish-variable-at-point () + "Try and work out the variable being called at or near `point'." + (let ((sym (thing-at-point 'symbol))) + (when sym + (let ((var (symbol-name (read sym)))) + (when (assoc var sawfish-variable-list) + var))))) + +(defun sawfish-describe-ask (default description lookups) + "Ask the user for a symbol. + +The symbol will be described as DESCRIPTION with a completing read using +LOOKUPS for the completion. DEFAULT should be a function that returns a +default value for the read." + (sawfish-load-symbols) + (intern (completing-read (format "Sawfish %s: " description) + (symbol-value lookups) + nil + t + (funcall default)))) + +(defun sawfish-describe-ask-function () + "Ask for a function name." + (sawfish-describe-ask #'sawfish-funcall-at-point "function" 'sawfish-function-list)) + +(defun sawfish-describe-ask-variable () + "Ask for a variable name." + (sawfish-describe-ask #'sawfish-variable-at-point "variable" 'sawfish-variable-list)) + +(defun sawfish-info-function-index (info-file) + "Return the name of the function index from INFO-FILE. + +This function is used to pull information from the entries found in the +variable `sawfish-info-files'." + (cadr info-file)) + +(defun sawfish-info-variable-index (info-file) + "Return the name of the variable index from INFO-FILE. + +This function is used to pull information from the entries found in the +variable `sawfish-info-files'." + (car (cddr info-file))) + +(defun sawfish-info-index-function (is-variable) + "Return the a function for accessing the info file list." + (if is-variable #'sawfish-info-variable-index #'sawfish-info-function-index)) + +(defun sawfish-describe-show (symbol &optional is-variable) + "Show the sawfish description for SYMBOL." + (with-output-to-temp-buffer sawfish-help-buffer + (princ (format "`%s' is a %s" symbol + (sawfish-eval-read `(,sawfish-describe-symbol (quote ,symbol))))) + (when is-variable + (princ "\n\nValue:\n\n") + (pp (sawfish-eval-read symbol))) + (princ "\n\nDocumentation:\n\n") + (let ((doc (or (sawfish-documentation symbol is-variable) + (sawfish-search-and-grab-info (sawfish-info-index-function is-variable) symbol)))) + (if doc + (princ doc) + (princ (format "%s is undocumented" symbol)))) + (let ((plist (sawfish-eval-read `(symbol-plist (quote ,symbol))))) + (when (and plist (listp plist)) + (princ "\n\nProperty list for symbol:\n") + (loop for prop on plist by #'cddr + do (princ (format "\n%s: %S" (car prop) (cadr prop)))))))) + +;;;###autoload +(defun sawfish-describe-function (function) + "Display the doc-string for FUNCTION." + (interactive (list (sawfish-describe-ask-function))) + (sawfish-load-helpers) + (sawfish-describe-show function)) + +;;;###autoload +(defun sawfish-describe-variable (variable) + "Display the doc-string for VARIABLE." + (interactive (list (sawfish-describe-ask-variable))) + (sawfish-load-helpers) + (sawfish-describe-show variable t)) + +(defun sawfish-find-info-entry (info-file node symbol) + "Try to find SYMBOL in NODE of INFO-FILE. + +If the symbol isn't found the Info buffer is killed and the function returns +nil, otherwise the Info buffer is left as the `current-buffer'." + (condition-case nil + (progn + (require 'info) + (Info-find-node info-file node) + (Info-menu (format "%s" symbol)) + t) + (error + (when (string= (buffer-name) "*info*") + (kill-buffer (current-buffer))) + nil))) + +(defun sawfish-jump-to-info-documentaiton (symbol) + "Jump to the documentation for SYMBOL in an info buffer. + +Returns NIL if the documentation could not be found. Note that the +`current-buffer' must be the info buffer you are searching." + (prog1 + (search-forward-regexp (format "^ - .*: %s" symbol) nil t) + (beginning-of-line))) + +(defun sawfish-extract-info-entry (symbol) + "Extract the info documentation for SYMBOL as a string." + (when (sawfish-jump-to-info-documentaiton symbol) + ;; For some odd reason, in XEmacs, the `current-buffer' inside + ;; `with-output-to-string' is the string output buffer, not your + ;; `current-buffer' before the call to `with-output-to-string'. Bizarre! + ;; GNU emacs does the right thing. + ;; + ;; Anyway, to get round this odd behaviour you'll see lots of pointless + ;; calls to `with-current-buffer' . + (let ((info-buffer (current-buffer))) + (with-output-to-string nil + (princ (with-current-buffer info-buffer + (buffer-substring-no-properties + (+ (point) 3) ; Strip the leading " - ". + (save-excursion + (end-of-line) + (point))))) + (terpri) + (terpri) + (with-current-buffer info-buffer + (forward-line)) + (loop while (with-current-buffer info-buffer + ;; I'm not 100% sure what to look for when trying to + ;; find the end of a info entry. This seems to work. + (and (not (eobp)) + (or (looking-at "^ ") + (looking-at "^ *$")))) + do (let ((eol (with-current-buffer info-buffer + (save-excursion + (end-of-line) + (point))))) + (princ (with-current-buffer info-buffer + (buffer-substring-no-properties + (min (+ (point) 5) eol) ; Strip the leading white space. + eol)))) + (terpri) + (with-current-buffer info-buffer + (forward-line))))))) + +(defun sawfish-search-and-grab-info (index-function symbol) + "Look for SYMBOL in all the sawfish info files, return the docs. + +INDEX-FUNCTION is used to decide which index name will be searched. The +function is used to access the lists in `sawfish-info-files'." + (save-excursion + (loop for info-file in sawfish-info-files + if (sawfish-find-info-entry (car info-file) (funcall index-function info-file) symbol) + return (prog1 (sawfish-extract-info-entry symbol) (kill-buffer (current-buffer))) + finally return nil))) + +(defun sawfish-search-info-files (index-function symbol) + "Look for SYMBOL in all the sawfish info files. + +INDEX-FUNCTION is used to decide which index name will be searched. The +function is used to access the lists in `sawfish-info-files'." + (loop for info-file in sawfish-info-files + if (sawfish-find-info-entry (car info-file) (funcall index-function info-file) symbol) return t + finally (error "No info documentation found for %s" symbol))) + +(defun sawfish-search-info-files-for-function (function) + "Search for info documentation for FUNCTION." + (sawfish-search-info-files #'sawfish-info-function-index function)) + +(defun sawfish-search-info-files-for-variable (variable) + "Search for info documentation for VARIABLE." + (sawfish-search-info-files #'sawfish-info-variable-index variable)) + +;;;###autoload +(defun sawfish-info-function (function) + "Display the Info documentation for FUNCTION." + (interactive (list (sawfish-describe-ask-function))) + (sawfish-search-info-files-for-function function) + (sawfish-jump-to-info-documentaiton function)) + +;;;###autoload +(defun sawfish-info-variable (variable) + "Display the Info documentation for VARIABLE." + (interactive (list (sawfish-describe-ask-variable))) + (sawfish-search-info-files-for-variable variable) + (sawfish-jump-to-info-documentaiton variable)) + +(defsubst sawfish-apropos-symbol (sym) + "`sawfish-apropos' support function." + (nth 0 sym)) + +(defsubst sawfish-apropos-symbol-name (sym) + "`sawfish-apropos' support function." + (symbol-name (sawfish-apropos-symbol sym))) + +(defsubst sawfish-apropos-description (sym) + "`sawfish-apropos' support function." + (nth 1 sym)) + +(defsubst sawfish-apropos-variable-p (sym) + "`sawfish-apropos' support function." + (nth 2 sym)) + +(defsubst sawfish-apropos-doc-string (sym) + "`sawfish-apropos' support function." + (nth 3 sym)) + +(defun sawfish-doc-string-first-line (doc-string) + "Given doc string DOC-STRING return the first line. + +If the doc-string is NIL (no documentation) then \"Undocumented\" is +returned." + (if doc-string + (with-temp-buffer + (insert doc-string) + (setf (point) (point-min)) + (end-of-line) + (buffer-substring-no-properties (point-min) (point))) + "Undocumented")) + +(defun sawfish-remove-info-one-liner-intro (doc-string) + "Remove the leading symbol type text from an info derived doc-string." + (when doc-string + (with-temp-buffer + (insert doc-string) + (setf (point) (point-min)) + (if (search-forward-regexp ": +" nil t) + (buffer-substring-no-properties (point) (point-max)) + doc-string)))) + +(defun sawfish-apropos-insert-link (sym) + "Insert a documentation link for SYM into the apropos buffer." + (let ((start (point))) + (insert (sawfish-apropos-symbol-name sym)) + (put-text-property start (point) 'face 'bold)) + (insert "\n ") + (let ((start (point))) + (insert (sawfish-apropos-description sym) ":") + (put-text-property start (point) 'mouse-face 'highlight) + (let ((local-map (make-sparse-keymap)) + (desc `(lambda () + (interactive) + (,(if (sawfish-apropos-variable-p sym) + #'sawfish-describe-variable #'sawfish-describe-function) + (quote ,(sawfish-apropos-symbol sym)))))) + (define-key local-map [mouse-2] desc) + (define-key local-map [return] desc) + (put-text-property (- start 2) (point) 'local-map local-map))) + (insert " " + (sawfish-doc-string-first-line (or (sawfish-apropos-doc-string sym) + (and sawfish-apropos-searches-info-files + (sawfish-remove-info-one-liner-intro + (sawfish-search-and-grab-info + (sawfish-info-index-function + (sawfish-apropos-variable-p sym)) + (sawfish-apropos-symbol sym)))))) + "\n")) + +;;;###autoload +(defun sawfish-apropos (regexp) + "Show all bound sawfish symbols whose names match REGEXP." + (interactive "sSawfish Apropos (regexp): ") + (sawfish-load-helpers) + (let ((hits (sort (sawfish-eval-read + `(progn + (require (quote lisp-doc)) + (mapcar + (lambda (s) + (list s + (,sawfish-describe-symbol s) + (,sawfish-variable-p s) + (documentation s (,sawfish-variable-p s)))) + (apropos ,regexp)))) + (lambda (symX symY) + (string< (sawfish-apropos-symbol-name symX) + (sawfish-apropos-symbol-name symY)))))) + (if (not (zerop (length hits))) + (with-output-to-temp-buffer sawfish-apropos-buffer + (with-current-buffer sawfish-apropos-buffer + (setf (buffer-string) "") + (loop for sym in hits do (sawfish-apropos-insert-link sym)))) + (message "No apropos matches for `%s'" regexp)))) + +;;;###autoload +(defun sawfish-complete-symbol () + "Attempt to complete the symbol at `point'." + (interactive) + (let ((sym (thing-at-point 'symbol))) + (when sym + (let* ((sym (symbol-name (read sym))) + (sym-re (concat "^" (regexp-quote sym))) + (completion (sawfish-eval-read + `(complete-string ,sym (mapcar symbol-name (apropos ,sym-re)))))) + (if completion + (if (equal completion sym) + (let ((sym-list (sawfish-eval-read `(mapcar symbol-name (apropos ,(format "^%s" sym)))))) + (when (> (length sym-list) 1) + (with-output-to-temp-buffer "*Completions*" + (display-completion-list + (sawfish-eval-read `(mapcar symbol-name (apropos ,sym-re))))))) + (let ((bounds (bounds-of-thing-at-point 'symbol))) + (delete-region (car bounds) (cdr bounds)) + (insert completion))) + (error "No completion for `%s'" sym)))))) + +;;;###autoload +(defun sawfish-info () + "View the sawfish info file." + (interactive) + (info "sawfish")) + +;;;###autoload +(defun sawfish-rep-info () + "View the librep info file." + (interactive) + (info "librep")) + +(define-derived-mode sawfish-console-mode inferior-lisp-mode + "*sawfish-console*" nil + (make-local-variable 'inferior-lisp-prompt) + (setq inferior-lisp-prompt sawfish-comint-prompt)) + +;;;###autoload +(defun sawfish-console () + "Run the sawfish client as an inferior lisp." + (interactive) + ;; TODO: How to set lisp-*-command variables for this particular + ;; instantiation of the inferior lisp buffer? + (unless (comint-check-proc "*sawfish-client*") + (set-buffer (make-comint "sawfish-client" sawfish-client nil sawfish-interactive-parameter)) + (sawfish-console-mode)) + (set (make-local-variable 'inferior-lisp-buffer) "*sawfish-client*") + (pop-to-buffer "*sawfish-client*")) + +(defun sawfish-interaction-mode () + "Extend `sawfish-mode' for use with `sawfish-interaction'." + (sawfish-mode) + (setq major-mode 'sawfish-interaction-mode + mode-name "sawfish interaction") + (use-local-map sawfish-interaction-mode-map)) + +;;;###autoload +(defun sawfish-interaction () + "Create a sawfish interaction buffer." + (interactive) + (let ((new-buffer (not (get-buffer sawfish-scratch-buffer)))) + (switch-to-buffer (get-buffer-create sawfish-scratch-buffer)) + (when new-buffer + (insert ";; This buffer is for interacting with the sawfish window manager.\n\n"))) + (sawfish-interaction-mode)) + +;; Define the sawfish-mode keymap. +(define-key sawfish-mode-map [(control x) (control e)] #'sawfish-eval-last-sexp) +(define-key sawfish-mode-map [(meta control x)] #'sawfish-eval-defun) +(define-key sawfish-mode-map [(meta :)] #'sawfish-eval-expression) +(define-key sawfish-mode-map [(control c) (control h) ?a] #'sawfish-apropos) +(define-key sawfish-mode-map [(control c) (control h) ?f] #'sawfish-describe-function) +(define-key sawfish-mode-map [(control c) (control h) (control f)] #'sawfish-info-function) +(define-key sawfish-mode-map [(control c) (control h) ?v] #'sawfish-describe-variable) +(define-key sawfish-mode-map [(control c) (control h) (control v)] #'sawfish-info-variable) +(define-key sawfish-mode-map [(meta tab)] #'sawfish-complete-symbol) +(define-key sawfish-mode-map [(control c) (control h) ?i] #'sawfish-info) +(define-key sawfish-mode-map [(control meta :)] #'eval-expression) + +;; Define the minibuffer keymap. +(unless sawfish-read-expression-map + (setq sawfish-read-expression-map (make-sparse-keymap)) + (set-keymap-parent sawfish-read-expression-map minibuffer-local-map) + (define-key sawfish-read-expression-map [(meta tab)] #'sawfish-complete-symbol)) + +;; Define the sawfish-interaction keymap. +(unless sawfish-interaction-mode-map + (setq sawfish-interaction-mode-map (make-sparse-keymap)) + (set-keymap-parent sawfish-interaction-mode-map sawfish-mode-map) + (define-key sawfish-interaction-mode-map [(control j)] #'sawfish-eval-print-last-sexp)) + +;; Further define the sawfish-console-mode keymap. It is initialised already +;; because of define-derived-mode. +(define-key sawfish-console-mode-map [(tab)] #'sawfish-complete-symbol) +(define-key sawfish-console-mode-map [(control c) (control h) ?a] #'sawfish-apropos) +(define-key sawfish-console-mode-map [(control c) (control h) ?f] #'sawfish-describe-function) +(define-key sawfish-console-mode-map [(control c) (control h) (control f)] #'sawfish-info-function) +(define-key sawfish-console-mode-map [(control c) (control h) ?v] #'sawfish-describe-variable) +(define-key sawfish-console-mode-map [(control c) (control h) (control v)] #'sawfish-info-variable) + +;; Indentation hints for macros and functions provided by sawfish.el +(put 'sawfish-code 'lisp-indent-function 0) + +;;; Menus + +;; GNU Emacs/XEmacs difference crap. +(defun sawfish-region-active-p () + "Is there an active region?" + (if (and (boundp 'running-xemacs) (symbol-value 'running-xemacs)) + (funcall (symbol-function 'region-exists-p)) + (symbol-value 'mark-active))) + +(easy-menu-define sawfish-mode-menu sawfish-mode-map "sawfish commands" + '("Sawfish" + ["Indent Line" lisp-indent-line t] + ["Indent Region" indent-region (sawfish-region-active-p)] + ["Comment Out Region" comment-region (sawfish-region-active-p)] + "----" + ["Evaluate Last S-expression" sawfish-eval-last-sexp t] + ["Evaluate Top Level Form" sawfish-eval-defun t] + ["Evaluate Region" sawfish-eval-region (sawfish-region-active-p)] + ["Evaluate Buffer" sawfish-eval-buffer t] + ["Evaluate Expression" sawfish-eval-expression t] + "----" + ["Describe Sawfish Variable" sawfish-describe-variable t] + ["Describe Sawfish Function" sawfish-describe-function t] + ["Info on Variable" sawfish-info-variable t] + ["Info on Function" sawfish-info-function t] + ["Apropos" sawfish-apropos t] + "----" + ["Open Sawfish Interaction Buffer" sawfish-interaction t] + ["Open Sawfish Console" sawfish-console t] + "----" + ["Read Sawfish Documentation" sawfish-info t] + ["Read librep Documentation" sawfish-rep-info t])) + +;; GNU emacs emacs-lisp menu removal kludge. + +(defvar sawfish-gnu-emacs-menu-kludged nil + "Check if we've kludged the menu in GNU emacs.") + +(unless (and (boundp 'running-xemacs) (symbol-value 'running-xemacs)) + (unless sawfish-gnu-emacs-menu-kludged + (let ((old-emacs-lisp-mode-map (copy-keymap emacs-lisp-mode-map))) + ;; Remove the binding for the emacs-lisp menu. + (define-key emacs-lisp-mode-map [menu-bar emacs-lisp] 'undefinded) + ;; Initialise sawfish-mode. + (with-temp-buffer (sawfish-mode)) + ;; Restore the emacs-lisp-mode keymap. + (setq emacs-lisp-mode-map (copy-keymap old-emacs-lisp-mode-map))) + (setq sawfish-gnu-emacs-menu-kludged t))) + +;; Helpful hints for info lookups (provided by Markus Holmberg). + +(eval-after-load "info-look" + '(info-lookup-maybe-add-help + :mode 'sawfish-mode + :regexp "[^()`',\" \t\n]+" + :doc-spec '(("(sawfish)Function Index" nil "^ - [^:]+: " "\\b") + ("(sawfish)Variable Index" nil "^ - [^:]+: " "\\b") + ("(librep)Function Index" nil "^ - [^:]+: " "\\b") + ("(librep)Variable Index" nil "^ - [^:]+: " "\\b")))) + +(provide 'sawfish) + +;;; sawfish.el ends here --- sawfish-1.3.5.2.orig/debian/sawfish.emacsen-remove +++ sawfish-1.3.5.2/debian/sawfish.emacsen-remove @@ -0,0 +1,15 @@ +#!/bin/sh -e +# /usr/lib/emacsen-common/packages/remove/sawfish + +FLAVOR=$1 +PACKAGE=sawfish + +if [ ${FLAVOR} != emacs ]; then + if test -x /usr/sbin/install-info-altdir; then + echo remove/${PACKAGE}: removing Info links for ${FLAVOR} + install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/a2ps.info.gz + fi + + echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} + rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE} +fi --- sawfish-1.3.5.2.orig/debian/00debian.jl +++ sawfish-1.3.5.2/debian/00debian.jl @@ -0,0 +1,2 @@ +; load the sawfish defaults +(require 'sawmill-defaults) --- sawfish-1.3.5.2.orig/debian/README.sawfish-data +++ sawfish-1.3.5.2/debian/README.sawfish-data @@ -0,0 +1,5 @@ +This package contains the architecture independent data for sawfish, +that is the compiled lisp files and the translations. It is unlikely +to be of any use if you don't have sawfish installed. + +If you want to see the lisp code, install sawfish-lisp-source. --- sawfish-1.3.5.2.orig/debian/NEWS.Debian +++ sawfish-1.3.5.2/debian/NEWS.Debian @@ -0,0 +1,26 @@ +sawfish (1.3.2-1) unstable; urgency=low + + * This release includes the patches collected by the sawfish community, + In particular: + + - http://sawfish.wikia.com/wiki/Fix_Xlib_client_message + + This patch addresses an issue with 64 bit datatypes handling. Please, + if you've been affected by issues unreproducible under 32bit archs + test again and report your results to the BTS. + + + - http://sawfish.wikia.com/wiki/Net_wm_properties + + In order to properly handle applications that always set their title + in UTF-8 encoding, and to enable displaying characters not in the + current sesion's encoding, this patch modified *all* internal string + handling in sawfish to use UTF-8. + + If you have scripts or configuration files with strings that are + displayed by sawfish you will need to reencode them. Of course, if + your scripts contain only characters in the ASCII range, they are + already UTF-8 and no action is needed. + + -- Luis Rodrigo Gallardo Cruz Sat, 02 Feb 2008 21:50:11 -0600 + --- sawfish-1.3.5.2.orig/debian/sawfish-client.1 +++ sawfish-1.3.5.2/debian/sawfish-client.1 @@ -0,0 +1,35 @@ +.TH "sawfish-client" "1" +.SH "NAME" +sawfish-client \(em Evaluate arbitrary Lisp forms with sawfish. +.SH "SYNOPSIS" +.PP +\fBsawfish-client\fR [\fB \-\-display \fIX \fR\fP] [\fB \-q \fP] [\fB \-f \fIFUNCTION \fR\fP] [\fB \-c \fICOMMAND \fR\fP] [\fB \-r \fIFEATURE \fR\fP] [\fB \-e \fIFORM \fR\fP] [\fB \- \fP] [\fB \-\- \fP] +.SH "DESCRIPTION" +.PP +This allows you to connect to a window manager process and +evaluate arbitrary Lisp forms. +.SH "OPTIONS" +.IP "\fB\-\-display\fP" 10 +Connect to the window manager on display X +.IP "\fB-q\fP" 10 +Be quiet (perform commands asynchronously) +.IP "\fB-f\fP \fBFUNCTION\fP " 10 +Call Lisp function \fIFUNCTION\fR on the server +.IP "\fB-c\fP \fBCOMMAND\fP " 10 +Call the interactive Lisp function \fICOMMAND\fR +.IP "\fB-r\fP \fBFEATURE\fP " 10 +Require the module called \fIFEATURE\fR +.IP "\fB-e\fP \fBFORM\fP " 10 +Evaluate Lisp form \fIFORM\fR on the server +.IP "\fB-\fP" 10 +Read lines of input until \fIEOF\fR, evaluating each one as it is read +.IP "\fB\-\-\fP" 10 +Read forms from standard input until \fIEOF\fR, evaluating the whole lot in one go (inside a progn) +.SH "SEE ALSO" +.PP +Sawfish are documented fully by \fIJohn Harper\fP available via the \fBInfo\fP system . +.SH "AUTHOR" +.PP +This manual page was written by Christian Marillat marillat@debian.org for +the \fBDebian GNU/Linux\fP system (but may be used by others). +.\" created by instant / docbook-to-man, Sat 02 Feb 2008, 23:15 --- sawfish-1.3.5.2.orig/debian/copyright +++ sawfish-1.3.5.2/debian/copyright @@ -0,0 +1,44 @@ +This package was debianized by Mikolaj J. Habryn on +Tue, 19 Oct 1999 16:12:32 +1000. + +It was downloaded from +https://sourceforge.net/project/showfiles.php?group_id=32&package_id=17 + +Upstream Author: John Harper and the sawfish community. + +Copyright (C) 1997-1998 Stuart Parmenter and Elliot Lee +Copyright (C) 1999 Ryan Lovett +Copyright (C) 1999-2002 John Harper +Copyright (C) 2000 Topi Paavola +Copyright (C) 2000 Unai Uribarri +Copyright (C) 2000-2001 Kai Grossjohann +Copyright (C) 2001 Eazel, Inc +Copyright (C) 2002 mx & ta + +License: + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + +On Debian systems, the complete text of the GNU General Public License +version 2 can be found in /usr/share/common-licenses/GPL-2 file. + +The Debian package itself is + +Copyright (C) 1999-2000 Mikolaj J. Habryn +Copyright (C) 2000 Ian McKellar +Copyright (C) 2000-2006 Christian Marillat +Copyright (C) 2006-2009 Rodrigo Gallardo + +And is distributed under the same terms as sawfish. --- sawfish-1.3.5.2.orig/debian/sawfish.emacsen-startup +++ sawfish-1.3.5.2/debian/sawfish.emacsen-startup @@ -0,0 +1,11 @@ +;; -*-emacs-lisp-*- + +(setq load-path (cons (concat "/usr/share/" + (symbol-name flavor) + "/site-lisp/sawfish") load-path)) + +(autoload 'sawfish-mode "sawfish" "sawfish-mode" t) + +(setq auto-mode-alist (cons '("\\.sawfishrc$" . sawfish-mode) auto-mode-alist) +auto-mode-alist (cons '("\\.jl$" . sawfish-mode) auto-mode-alist) +auto-mode-alist (cons '("\\.sawfish/rc$" . sawfish-mode) auto-mode-alist)) --- sawfish-1.3.5.2.orig/debian/postinst +++ sawfish-1.3.5.2/debian/postinst @@ -0,0 +1,40 @@ +#!/bin/sh -e + +if [ "$1" = "configure" ]; then + +# Move old conffiles in < 0.37.2-2 + if [ -e /etc/X11/sawfish/defaults.jl ]; then + mv /etc/X11/sawfish/defaults.jl /etc/X11/sawfish/site-init.d/00debian.jl + fi + if [ -e /etc/X11/sawfish/menu.jl ]; then + mv /etc/X11/sawfish/menu.jl /etc/X11/sawfish/site-init.d/00menu.jl + fi + +# Remove old conffiles in < 0.38-1 + rm /etc/X11/sawfish/site-init.d/defaults.jl 2>/dev/null || true + rm /etc/X11/sawfish/site-init.d/menu.jl 2>/dev/null || true + +# Be sure to remove this old file + rm /etc/X11/sawfish/site-init.jl 2>/dev/null || true + +# Remove old generated menu file in /etc + rm /etc/X11/sawfish/debian-menu.jl 2>/dev/null || true + +# Touch all jlc files + find /usr/share/sawfish/*/lisp -name *.jlc | xargs touch + +# Install info files + install-info --quiet --section "Window Manager" "Window Manager" \ + /usr/share/info/sawfish.info + +# Because dh_installwm don't install a slave manpage + update-alternatives --install /usr/bin/x-window-manager \ + x-window-manager /usr/bin/sawfish 70 \ + --slave /usr/share/man/man1/x-window-manager.1.gz \ + x-window-manager.1.gz /usr/share/man/man1/sawfish.1.gz + +fi + +#DEBHELPER# + +exit 0 --- sawfish-1.3.5.2.orig/debian/control +++ sawfish-1.3.5.2/debian/control @@ -0,0 +1,62 @@ +Source: sawfish +Section: x11 +Build-Conflicts: autoconf2.13, automake1.4 +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Luis Rodrigo Gallardo Cruz +Standards-Version: 3.8.1 +Build-Depends: gettext (>= 0.10.37), debhelper (>= 5.0.0), libxinerama-dev, + libesd0-dev, rep-gtk (>= 1:0.18.3), libgmp3-dev (>= 4.1.4-8), + texinfo (<< 4.11) | texinfo (>= 4.11.dfsg.1-3), + libgtk2.0-dev (>= 2.6), libxrender-dev, libxext-dev, libxt-dev, + autotools-dev, automake1.10, quilt (>=0.40), librep-dev (>= 0.17.3), + rep, libtool +Vcs-Browser: http://git.debian.org/?p=collab-maint/sawfish.git +Vcs-Git: git://git.debian.org/git/collab-maint/sawfish.git +Homepage: http://sawfish.wikia.com/ + +Package: sawfish +Architecture: any +Depends: ${shlibs:Depends}, rep-gtk (>= 0.18.4), gnome-terminal | x-terminal-emulator, sawfish-data (= ${source:Version}) +Suggests: menu, gnome-control-center, yelp +Provides: x-window-manager +Replaces: sawfish-lisp-source (<= 0.38-6), sawfish2 +Conflicts: sawfish2, sawfish-themer, menu (<< 2.1.14) +Description: a window manager for X11 + Sawfish is an extensible window manager using an Emacs Lisp-like scripting + language. All window decorations are configurable, the basic idea is to + have as much user-interface policy as possible controlled through the Lisp + language. + +Package: sawfish-dbg +Architecture: any +Depends: sawfish (= ${binary:Version}) +Recommends: sawfish-lisp-source +Section: debug +Priority: extra +Description: sawfish debugging symbols + This package contains the debugging symbols from the sawfish window manager. + It is not needed for normal operation of the package. + . + Install it if you need to debug problems in sawfish. You will also almost + certainly need sawfish-lisp-source in that case. + +Package: sawfish-data +Architecture: all +Replaces: sawfish (<= 1:1.3+cvs20060518-2) +Conflicts: sawfish (<= 1:1.3+cvs20060518-2) +Description: sawfish architecture independent data + This package contains the architecture independent lisp compiled files + and other data, such as theme pixmaps. It is unlikely to be of any + use without the sawfish window manager. + . + The lisp source files are in the sawfish-lisp-source package. + +Package: sawfish-lisp-source +Architecture: all +Description: sawfish lisp files + This package contains the lisp source files in case you want to modify, + study or debug the behaviour of the window manager. + . + It is not required for normal use of sawfish and not installing it will save + space in small systems. --- sawfish-1.3.5.2.orig/debian/preinst +++ sawfish-1.3.5.2/debian/preinst @@ -0,0 +1,9 @@ +#! /bin/sh -e + +if [ -d /var/lib/sawfish ]; then + rm -rf /var/lib/sawfish 2>/dev/null || true +fi + +#DEBHELPER# + +exit 0 --- sawfish-1.3.5.2.orig/debian/sawfish-client.sgml +++ sawfish-1.3.5.2/debian/sawfish-client.sgml @@ -0,0 +1,158 @@ +Christian"> + Marillat"> + march 5, 2001"> + 1"> + marillat@debian.org"> + + sawfish-client"> + + Debian GNU/Linux"> + GNU"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2001 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + Evaluate arbitrary Lisp forms with sawfish. + + + + + &dhpackage; + + + + + + + + + + + + + + DESCRIPTION + + This allows you to connect to a window manager process and + evaluate arbitrary Lisp forms. + + + + OPTIONS + + + + + + Connect to the window manager on display X + + + + + + Be quiet (perform commands asynchronously) + + + + + + + + Call Lisp function FUNCTION on the server + + + + + + + + Call the interactive Lisp function COMMAND + + + + + + + + Require the module called FEATURE + + + + + + + + Evaluate Lisp form FORM on the server + + + + + + Read lines of input until EOF, evaluating each one as it is read + + + + + + Read forms from standard input until EOF, evaluating the whole lot in one go (inside a progn) + + + + + + + SEE ALSO + + Sawfish are documented fully by John Harper + available via the Info system . + + + + AUTHOR + + This manual page was written by &dhusername; &dhemail; for + the &debian; system (but may be used by others). + + +
+ + --- sawfish-1.3.5.2.orig/debian/menu-method +++ sawfish-1.3.5.2/debian/menu-method @@ -0,0 +1,27 @@ +#!/usr/bin/install-menu + +!include menu.h +compat="menu-2"; +outputencoding="UTF-8"; +outputlanguage="C"; + +userprefix=".sawfish/lisp"; +rootprefix="/var/lib/sawfish"; +genmenu="debian-menu.jl"; +rootsection="Debian"; + +function label($arg)=tolower(replacewith($arg,"/ ","--")); +function q($arg)=esc($arg,"\"\\"); + +supported; + x11=" '(\"" q(title()) "\" (system \"exec " q($command) " &\"))" ifneq(entryindex(), sub(entrycount(), "1"), "\n"); + text=" '(\"" q(title()) "\" (system \"exec " q(term()) " &\"))" ifneq(entryindex(), sub(entrycount(), "1"), "\n"); + wm=" '(\"" q(title()) "\" (progn (setq saved-command-line-args '(\"" q($command) "\")) (restart)))" ifneq(entryindex(), sub(entrycount(), "1"), "\n"); +endsupported; + +preoutput=";; This is -*-Lisp-*-\n;; Automagically generated file. Do not edit (see /usr/doc/menu/html/index.html)\n\n(provide 'debian-menu)\n\n"; + +startmenu="(defvar " label($section)"-menu\n (list\n"; +endmenu="))\n"; +submenutitle=" '(\"" translate("",title()) "\" . " label($section) "-menu)" ifneq(entryindex(), sub(entrycount(), "1"), "\n"); +sort=tolower(translate("",title())) --- sawfish-1.3.5.2.orig/debian/README.Debian +++ sawfish-1.3.5.2/debian/README.Debian @@ -0,0 +1,45 @@ +Sawfish for Debian +------------------ + +The sawfish package includes sawfish.el, written by Dave Pearson +, which is normally distributed from his web site +http://www.davep.org/sawfish/ + +For each upstream release you need to restart sawfish with : + +sawfish-client -f restart + +I'll close all bugs report related to this feature. + +Also if you have this error: + +$ sawfish-ui +error--> (file-error "No such file or directory" "gui/gtk") + +This is because you have mixed up Ximian packages and Debian packages. +You need to replace all Ximian packages related to sawfish by the Debian +packages (rep, rep-gtk, librep9). + +Why this doesn't work ? + +Because Ximian doesn't follow the Debian policy (Chapter 12.1) : + + If a program needs to specify an _architecture specification string_ + in some place, the following format should be used: + + - + + where ' is one of the following: i386, alpha, arm, m68k, + powerpc, sparc and ' is one of: linux, gnu. Use of _gnu_ in this + string is reserved for the GNU/Hurd operating system. + +I'll close all bugs report related to this feature too. + +Since GNOME 2 use AA (Anti Aliased) fonts, you should remove/disable usage +of libgdkxft0. + +If rep take 100% CPU when you try to access to custom popup menu (with +middle mouse click on the root window), you should install the +gnome-control-center package or forget to access this menu entry. + +Christian --- sawfish-1.3.5.2.orig/debian/sawfish-lisp-source.dirs +++ sawfish-1.3.5.2/debian/sawfish-lisp-source.dirs @@ -0,0 +1 @@ +usr/share/lintian/overrides --- sawfish-1.3.5.2.orig/debian/menu +++ sawfish-1.3.5.2/debian/menu @@ -0,0 +1,2 @@ +?package(sawfish): needs="wm" section="Window Managers" \ + title="Sawfish" command="/usr/bin/sawfish" --- sawfish-1.3.5.2.orig/debian/site-init.jl +++ sawfish-1.3.5.2/debian/site-init.jl @@ -0,0 +1,10 @@ +(setq load-path (nconc load-path (list "/var/lib/sawfish"))) +(let* + ((dir "/etc/X11/sawfish/site-init.d") + (files (and (file-directory-p dir) (directory-files dir)))) + (mapc + (lambda (file) + (condition-case data + (load (expand-file-name file dir) t t t) + (error (error-handler-function (car data) (cdr data))))) + (sort files))) --- sawfish-1.3.5.2.orig/debian/debian-sawfish-policy +++ sawfish-1.3.5.2/debian/debian-sawfish-policy @@ -0,0 +1,344 @@ +-*-indented-text-*- + +[ Due to a general lack of time, this document is way too terse, and + should be better organized, so be prepared to suffer a little. + Improvements are welcome. + + Also, there will be some changes in the nearish future to allow + add-on packages to avoid (if they choose) rebuilding unnecessarily. +] + +First, some terminology: when I say below I mean one of (emacs +xemacs20 emacs19 emacs20), but when I say , I mean just one of +(xemacs20 emacs19 emacs20). + +1) emacsen-common + + Each flavor of emacs must depend on emacsen-common. This package + contains all of the Debian specific emacs flavor independent files + like debian-rundir, and all the infrastructure implementing our + mechanism for dealing with all the various emacsen. + +2) Flavor indication + + [ NOTE: I am at least temporarily rescinding my recent changes (the + ones detailed below). Though aesthetically appealing, they have + caused too much trouble. For now (at least for Debian's current + frozen release), please revert to the previous behavior of + setting debian-emacs-flavor early in your particular emacsen's + startup process and regardless of the setting of -q or + --no-site-file. + + I believe that this reversion also means that emacsen maintainers + can remove the emacsen-common version dependency... + + Thanks, and sorry for the short notice. (rlb). ] + + Each emacs binary must indicate it's "flavor" which must be the + same as the name of the debian package. This is now handed with an + argument to the debian-startup function discussed later. For + example, the emacs20 package does this in startup.el like this: + + (debian-startup 'emacs20) + + This is a change from previous versions of emacsen-common. Once a + flavor has been modified to follow this new approach, it should add + a depends line to make sure the right version of emacsen common is + installed: "Depends: emacsen-common (>= 1.4.10)". This change + provides a better abstraction, and it minimizes the amount of code + we have to insinuate into startup.el. + +3) Emacs startup strategy + + We have the following startup files/directories: + + emacsen-common: /etc/emacs/site-start.{el,d} + emacs20: /etc/X11/sawfish/site-start.d + + /etc/emacs/site-start.el is a conffile, and is owned by + emacsen-common. This file should not be modified by *any* add-on + packages, or by any emacsen package maintainer. It is solely for + the use of the local admin. It should be empty unless the local + admin modifies it. + + The load-path for a given emacs flavor must include /etc/ + and /etc/emacs in that order, and on startup each emacsen must call + (debian-startup) and then load "site-start". This means that + /etc/emacs/site-start.el will be loaded if it exists, unless there's + an /etc//site-start.el{,c} or /etc/emacs/site-start.elc + which will take precedence. These site-start.el files are also the + sole domain of the local system admin, and should be empty unless + modified by the local admin. + + Given that the site-startup.el files are "off-limits" to the emacsen + maintainers, the next question is, "From where can we run + debian-startup?" The safest possibility, and the one I had + originally intended was to modify lisp/startup.el to do the right + thing, and I had also intended that --no-site-file would disable all + of the debian startup bits, including calling debian startup. So I + did this in emacs20's startup.el: + + ;; Debian version of site-start. + (if site-run-file + (progn + ;; Load all the debian package snippets. + ;; It's in here because we want -q to kill it too. + (if (load "debian-startup" t t nil) + (debian-startup 'emacs20)) + ;; Now the normal site file... + (load site-run-file t t nil))) + + This makes sure that debian's bits are setup as early as possible, + and requires only minor modifications to the emacs source. An + alternate possibility might be to use lisp/site-init.el, but I'm not + sure that would work right. Feel free to contact me if you know + better. + + debian-startup, among other things, sets debian-emacs-flavor and + then calls debian-run-directories. debian-run-directories takes the + union of all the file base names (i.e. without any .el or .elc + extension, and without the directory component: + i.e. /etc/xemacs/site-start.d/50foo.elc => foo). Then + debian-startup temporarily augments the emacs load path to include + /etc//site-start.d and /etc/emacs/site-start.d in that + order, and then calls (load base-name) in alphabetical order. + + This result is that .elc files will take precedence over .el files + in a given directory, and files in the site-start.d + directory will take precedence over those in the emacs common + directory. + +4) Code locations + + In addition to the /etc//site-start* directories, we have the + following directories (their use will be described shortly): + + emacsen-common: /usr/share/emacs/site-lisp/ + emacs20: /usr/share/sawfish/site-lisp/ + + These are treated as part of the normal emacsen load path with the + dir taking precedence over the emacs (common) dir. + + /usr/share//site-lisp must be a symlink to the normal + site-lisp directory for that flavor of emacs. For example: + + /usr/share/emacs20/site-lisp -> ../../emacs/20.2/site-lisp + +6) Emacs add-on package support (there are examples later which make + this much clearer) + + A) Each package may place a file named the same as the package into + + /usr/lib/sawfish/packages/install/ + /usr/lib/sawfish/packages/remove/ + + and the package must call + + /usr/lib/sawfish/emacs-package-install foo + + in the postinst and + + /usr/lib/sawfish/emacs-package-remove foo + + in the prerm. + + For now, "emacs-package-install foo" will conceptually just turn + into a call for the common package emacs, and for each installed + flavor to + + /usr/lib/sawfish/packages/install/foo + + The arguments to these scripts will be the flavor being installed + (or just the common name "emacs") followed by a list of other + flavors already installed, potentially including the current one. + + So if emacs20 and xemacs20 were installed, installing foo would + result in calls to: + + /usr/lib/emacsen-common/packages/install/foo emacs emacs20 xemacs20 + /usr/lib/emacsen-common/packages/install/foo emacs20 emacs20 xemacs20 + /usr/lib/emacsen-common/packages/install/foo xemacs20 emacs20 xemacs20 + + emacs-package remove does the symmetric thing. + + B) Each emacsen main package must have a call to + "/usr/lib/emacsen-common/emacs-install in its postinst + and a call to "/usr/lib/emacsen-common/emacs-remove in + it's prerm. + + The emacs-install script (for now) just executes + + /usr/lib/emacsen-common/packages/install/ + + for each installed , but might do more later. Similarly, + emacs-remove would just be equivalent to + + /usr/lib/emacsen-common/packages/remove/ + + for now. Don't forget that the argument list to the add-on + package install scripts will indicate both the flavor being + installed, and the flavors already installed. In this case, + since we're actually installing a flavor, the first argument + won't appear in the subsequent arguments. + + C) Each add-on package has the right to place files into the + following directories: + + /etc/X11/sawfish/site-start.d + /usr/share/sawfish/site-lisp/ + + D) Each add-on package must declare relevant dependencies on other + packages (including other add-on packages). Note that add-on + packages should not depend on emacsen-common directly, but rather + on either the virtual package "emacsen" (see below), or some + appropriate combination of flavors (i.e. Depends: emacs20 | + emacs19). In addition, any tools needed by the install/remove + scripts must be listed as package dependencies. For example, + many add-on packages will probably use make in the install + script, so they need to add "Depends: make" to their control + file. emacsen-common will make sure that the install/remove + scripts are ordered to respect inter-add-on package dependencies. + +8) Virtual package + + Each emacsen main package will "Provides: emacsen". It would be + nice to use "emacs", but for historical reasons, and given the + nature of the packaging system, we can't. + + Packages that just need to make sure some flavor of emacs is + installed should just "Depends: emacsen". If they depend on + specific flavors of emacs, then they should list those dependencies + explicitly instead. + +9) Emacs lisp load path. + + At a minimum, each emacs has the following directories in the given + order in their load path: + + /etc/ + /etc/emacs + /usr/local/share/emacs//site-lisp + /usr/local/share/emacs/site-lisp + /usr/share/emacs//site-lisp + /usr/share/emacs/site-lisp + + where is the normal emacs upstream version number for + the relevant flavor like 20.2 or 19.34. The symlink mentioned in + (4) will also effectively add + + /usr/local/share/emacs//site-lisp + + in the same position as + + /usr/local/share/emacs//site-lisp + +10) Usage of autoload instead of load in the site-start.d files. + + It's been suggested, and is probably a good idea that maintainers + switch to using autoload rather than load when possible in their + site-start.d files. + + For example, instead of (load "some-package), you should use + autoloads for all the top level, user visible functions. Currently + the calc package has a good example of this. + + + +That's it. I think this gives the add-on package maintainers the +flexibility they need to be able to DTRT, and I think the common case +won't be all that difficult. + +Examples (I've been told that there may be some bugs in these +examples, but I haven't had time to check through them yet. So don't +take them as gospel at the moment. I suggest that you loook at +existing packages for examples of working code. I will probably be +revamping these soon, but I don't want to do it now since there are +probably about to be some changes that will invalidate some of this): + +1) Xemacs20 and the add-on packages tm and auctex are already installed, + and now someone installs emacs20. + + In it's postinst, emacs20 would make this call: + + /usr/lib/emacsen-common/emacs-install emacs20 + + which would result in calls to + + /usr/lib/emacsen-common/packages/install/auctex emacs xemacs20 + /usr/lib/emacsen-common/packages/install/auctex emacs20 xemacs20 + /usr/lib/emacsen-common/packages/emacs20/install/tm emacs xemacs20 + /usr/lib/emacsen-common/packages/emacs/install/tm emacs20 xemacs20 + +2) Now, given (1), assume that someone removes xemacs20. + + In it's postinst, xemacs20 would make this call: + + /usr/lib/emacsen-common/emacs-remove xemacs20 + + which would result in calls to + + /usr/lib/emacsen-common/packages/remove/auctex emacs emacs20 xemacs20 + /usr/lib/emacsen-common/packages/remove/auctex xemacs20 emacs20 xemacs20 + /usr/lib/emacsen-common/packages/remove/tm emacs emacs20 xemacs20 + /usr/lib/emacsen-common/packages/remove/tm xemacs20 emacs20 xemacs20 + +3) Now assume emacs20 and xemacs20 are installed, and that someone removes + tm. + + The call to emacsen-package-remove in tm's prerm will result in + the following calls: + + /usr/lib/emacsen-common/packages/remove/tm emacs emacs20 xemacs20 + /usr/lib/emacsen-common/packages/remove/tm emacs20 emacs20 xemacs20 + /usr/lib/emacsen-common/packages/remove/tm xemacs20 emacs20 xemacs20 + + In the remove/tm file, tm is responsible for cleaning up any files + it put into it's allowed locations: + + /etc/X11/sawfish/site-init.d/ + /usr/share/shawfish/site-lisp/tm + +4) Finally, here are sample install and remove scripts for a + hypothetical package "foo": + + #!/bin/sh + # /usr/lib/emacsen-common/packages/install/foo + # [ This particular script hasn't been tested, so be careful. ] + set -e + + FLAVOR=$1 + echo install/foo: Handling install of emacsen flavor ${FLAVOR} + + byte_compile_options="-batch -f batch-byte-compile" + el_files="some-file.el some-other-file.el etc.el" + el_dir=/usr/share/emacs/site-lisp/foo/ + elc_dir=/usr/share/${FLAVOR}/site-lisp/foo/ + el_path_list=`echo ${el_files} | perl -pe 's|^|${el_dir}|o'` + elc_path_list=`echo ${el_files} | perl -pe 's|^|${elc_dir}|o'` + + if [ ${FLAVOR} != emacs ] + then + echo install/foo: byte-compiling + + # Copy the temp .el files + cp ${el_path_list} ${elc_dir} + + # Byte compile them + ${FLAVOR} ${byte_compile_options} ${el_path_list} + + # remove the redundant .el files + # presumes that any .el files in the dir are trash. + rm ${elc_dir}/*.el + fi + exit 0; + + #!/bin/sh + # /usr/lib/emacsen-common/packages/remove/foo + # [ This particular script hasn't been tested either, so be careful. ] + set -e + + echo remove/foo: Handling removal of emacsen flavor ${FLAVOR} + + echo emacsen-common: purging byte-compiled files + rm -f /usr/share/sawfish/site-lisp/foo/*.elc + exit 0; --- sawfish-1.3.5.2.orig/debian/changelog +++ sawfish-1.3.5.2/debian/changelog @@ -0,0 +1,1147 @@ +sawfish (1:1.3.5.2-1ubuntu2) maverick; urgency=low + + * debian/patches/remote_sawfish_error.patch: + Cherry-pick relevant code hunk from upstream git changeset + ff1212a2006f195fa35335e1a6432cfb3ab51e7b to resolve fatal + error at runtime. (LP: #433358) + + -- Daniel T Chen Fri, 02 Jul 2010 02:06:11 -0400 + +sawfish (1:1.3.5.2-1ubuntu1) lucid; urgency=low + + * Add rep to Build-Depends (fixes FTBFS). + + -- Michael Bienia Sun, 21 Mar 2010 14:17:44 +0100 + +sawfish (1:1.3.5.2-1) unstable; urgency=low + + * New Upstream Release. Adds assorted bugfixes and updates from community + reviewed patches and updates the build infrastructure to the new + librep and rep-gtk releases. + + - theme/Crux/theme.jl: Added two new button layouts: + Complete and Complete-Inverse (Closes: #101164). + + - debian/patches/integration.jl, debian/patches/menus.jl, + debian/patches/sawfish-menus.jl have been integrated upstream. + + - config.h.in cherry picked from upstream 5b22f0c28 to define some macros. + + * debian/control: Bump build depends on librep and rep-gtk and add libtool. + * Expand package descriptions. + * sawfish-dbg is Section: debug and Recommends: sawfish-lisp-source. + * Update debian/watch for the new upstream tarball names. + * Remove unused quilt version lintian override. + * Bump Standards-Version to 3.8.1. No changes needed. + + -- Luis Rodrigo Gallardo Cruz Sat, 02 May 2009 15:03:53 -0700 + +sawfish (1:1.3.4-1) unstable; urgency=low + + * New upstream release (Closes: #501092). + - Includes patch from upstream BTS to fix focus handling after move-window-* + (Closes: #132236). + - Bump build dependency on GTK+ to 2.6. + * Loosen quilt dependency. + * Add README.source. Bump Standards-Version to 3.8.0. + + -- Luis Rodrigo Gallardo Cruz Thu, 05 Mar 2009 11:53:27 -0800 + +sawfish (1:1.3.3-1) unstable; urgency=low + + * New Upstream Release. + - Fixes encoding issues introduced by the use of UTF-8 in + 1.3.2. (Closes: #464139). + - Fixes pango fonts handling, to allow more than one to be used at a + time (Closes: #269905). + - Fixes interaction with KDE systray. + * Loosen overly tight build-dependency on gettext, and tighten the one + on quilt (We use the makefile snippet from 0.40-1) + + -- Luis Rodrigo Gallardo Cruz Mon, 18 Feb 2008 16:27:26 -0600 + +sawfish (1:1.3.2+debian-1) unstable; urgency=low + + * Repack source tarball, after running `make distclean'. The original + tarball contains ./configure generated files with references to the + i486 arch, which cause build failures in the rest of the + architectures. + + -- Luis Rodrigo Gallardo Cruz Mon, 04 Feb 2008 09:12:13 -0600 + +sawfish (1:1.3.2-1) unstable; urgency=low + + * New upstream release. + - This release includes the patches collected by the sawfish community, + In particular: + http://sawfish.wikia.com/wiki/Fix_Xlib_client_message + (Closes: #406559, #403100). + http://sawfish.wikia.com/wiki/Net_wm_properties + (Closes: #439311) + As well as several others + - Several of those patches we'd been carrying as debian-specific (but + weren't, really). In particular: + debian/patches/... + updated-manual + desktop_file + fix-select-workspace + dontSaveDesktopSize + autoconf-upgrade + * All the manpages have been regenerated, to remove the bad use of + hyphens. The content was not changed. + + -- Luis Rodrigo Gallardo Cruz Sat, 02 Feb 2008 23:19:47 -0600 + +sawfish (1:1.3.1-3) unstable; urgency=low + + * Build-Depend on texinfo (<< 4.11) | texinfo (>= 4.11.dfsg.1-3), to avoid + being hit by #451268, present on intermediate versions (Closes: #456791). + + -- Luis Rodrigo Gallardo Cruz Wed, 26 Dec 2007 18:10:21 -0600 + +sawfish (1:1.3.1-2) unstable; urgency=low + + * Convert patch handling to quilt. + * Include updated documentation for Sawfish 1.3 by Derek Upham + (sand at blarg.net) (Closes: #89122). + * Update maintainer address. + * Remove XS- prefix from VCS-* fields. + * Move Hompage from description into field. + * Upgrade Standards-Version to 3.7.3. No changes needed. + * Make configure-stamp depend on the stamp-patch file, to avoid it + running twice during the build. + * Bump debhelper compatibility mode to 5, and update build-depends. + * Create -dbg package. + + -- Luis Rodrigo Gallardo Cruz Wed, 12 Dec 2007 17:36:00 -0600 + +sawfish (1:1.3.1-1) unstable; urgency=low + + * New upstream release, by a new upstream maintainer team. + - Update homepage URL. + * Fix debian/rules to link to scripts in /usr/share/sawfish/$(version), + instead of hardcoded 1.3 + * fix-select-workspace.dpatch (closes: #413584). + * A bit more debian/rules cleanups. + * Upgrade to new menu policy. + * Fix .desktop files to compy with freedesktop.org standard. + + -- Luis Rodrigo Gallardo Cruz Thu, 09 Aug 2007 14:02:43 -0500 + +sawfish (1:1.3+svn4194-1) unstable; urgency=low + + * New upstream snapshot. + - Updated translations for ar and dz. + - Upstream source has migrated to subversion. New number version scheme. + - Add source target to debian/rules. + * Run autotools during build, as recommended by autotools-dev. + - Patch configure.in to behave correctly with autoconf > 2.13. + * Fix up clean rule. + + -- Luis Rodrigo Gallardo Cruz Wed, 2 May 2007 15:48:01 -0500 + +sawfish (1:1.3+cvs20061004-1) unstable; urgency=low + + * New upstream snapshot. Updated translations. + * Avoid saving session properties for desktop windows (closes: #234655). + + -- Luis Rodrigo Gallardo Cruz Wed, 9 Oct 2006 15:30:20 -0500 + +sawfish (1:1.3+cvs20060518-3) unstable; urgency=low + + * Split architecture independent data to sawfish-data. + * Do not load other packages' site files during byte-compilation of + sawfish.el, by including code snippet from debhelper (closes: #378843). + * Replace capplets by gnome-control-center in Suggests (closes: #377281). + + -- Luis Rodrigo Gallardo Cruz Wed, 19 Jul 2006 21:09:56 -0500 + +sawfish (1:1.3+cvs20060518-2) unstable; urgency=low + + * Adopted package (closes: #373702) + * Retired 08_install-info.dpatch in favor of removing any + installed info file in debian/rules install target. + * Fixed lintian/linda warnings: + - Fixed path to install-menu in menu-method. + - Removed -rpath from linker options. + - Fixed libdir in *la files. + - Added execute permissions to sawfish/ui/main.jl* + - Removed lintian overrides. + + -- Luis Rodrigo Gallardo Cruz Tue, 27 Jun 2006 18:05:39 -0500 + +sawfish (1:1.3+cvs20060518-1.1) unstable; urgency=high + + * Non-maintainer upload. + * 08_install-info.dpatch: Comment out call to install-info in + man/Makefile.in; the manual should not be installed into the filesystem + before at postinst time, otherwise it causes file conflicts. + (Closes: #373866) + + -- Steinar H. Gunderson Tue, 27 Jun 2006 22:17:05 +0200 + +sawfish (1:1.3+cvs20060518-1) unstable; urgency=low + + * New cvs release. + * Bytecompile sawfish.el if emacs/xemacs are present (Closes: #367322) + * Orphaned. I don't intent to spend my time with non-existent bug report + like 368546. + + -- Christian Marillat Thu, 15 Jun 2006 09:14:51 +0200 + +sawfish (1:1.3+cvs20050709-6) unstable; urgency=low + + * Add libxinerama-dev in Build-Depends (Closes: #333234, #327878) + + -- Christian Marillat Tue, 11 Oct 2005 09:39:23 +0200 + +sawfish (1:1.3+cvs20050709-5) unstable; urgency=low + + * Add xsession desktop file (Closes: #322652) + * Move to dpatch. + + -- Christian Marillat Sun, 25 Sep 2005 14:55:35 +0200 + +sawfish (1:1.3+cvs20050709-4) unstable; urgency=low + + * Build with -fno-strict-aliasing (noticed by Harald van Dijk) to solve + ALT key problem (Closes: #317817) + + -- Christian Marillat Wed, 27 Jul 2005 14:00:24 +0200 + +sawfish (1:1.3+cvs20050709-3) unstable; urgency=low + + * Don't know why I've removed the librep-dev dependency (Closes: #318335) + + -- Christian Marillat Fri, 15 Jul 2005 08:34:41 +0200 + +sawfish (1:1.3+cvs20050709-2) unstable; urgency=low + + * Fix typo in sawfish.1 (Closes: #308907) + * Rebuild against the latest librep-dev package. + * Removed the dummy sawfish-gnome package. + + -- Christian Marillat Wed, 13 Jul 2005 09:07:23 +0200 + +sawfish (1:1.3+cvs20050709-1) unstable; urgency=low + + * New cvs release. + * This release add basic XRrandR support. + * Update rep Build-depends to 0.17-8 and rep-gtk to 0.18-9 + + -- Christian Marillat Sat, 9 Jul 2005 16:58:45 +0200 + +sawfish (1:1.3+cvs20050222-1) unstable; urgency=low + + * New cvs release. + * Add an emacs initialisation script to load sawfish.el (Closes: #295290) + * Updated sawfish.el to 1.32 + + -- Christian Marillat Wed, 23 Feb 2005 16:16:46 +0100 + +sawfish (1:1.3+cvs20050105-1) unstable; urgency=low + + * New cvs release. + * Fix build with gcc 4.0 (Closes: #288457) + * Fix accented chars in some window titles (Closes: #288419) + + -- Christian Marillat Wed, 5 Jan 2005 15:48:31 +0100 + +sawfish (1:1.3+cvs20041206-1) unstable; urgency=low + + * New cvs release. + * Add support for mouse with 9 buttons (Closes: #281308) + + -- Christian Marillat Tue, 28 Dec 2004 15:53:02 +0100 + +sawfish (1:1.3+cvs20040617-7) unstable; urgency=low + + * Don't bytecompile sawfish.el (Closes: #264509) + + -- Christian Marillat Mon, 9 Aug 2004 09:52:16 +0200 + +sawfish (1:1.3+cvs20040617-6) unstable; urgency=high + + * New patch to fix panel position. This feature has been introduced in + GNOME 2.6 whom is already in testing, so set urgency to high + (Closes: #255980) + + -- Christian Marillat Sat, 17 Jul 2004 18:06:37 +0200 + +sawfish (1:1.3+cvs20040617-5) unstable; urgency=low + + * debian/rules Copy config.sub and config.guess from the autotools-dev + package and add a Build-Dependency for that package (Closes: #254849) + + -- Christian Marillat Tue, 29 Jun 2004 08:13:24 +0200 + +sawfish (1:1.3+cvs20040617-4) unstable; urgency=low + + * Back to the menu package. I've never noticed that sawfish doesn't + support GNOME 2 desktop files. Add new menu-method file from bug + #251565 (Closes: #255789) + + -- Christian Marillat Mon, 28 Jun 2004 17:58:12 +0200 + +sawfish (1:1.3+cvs20040617-3) unstable; urgency=low + + * Update config.sub and config.guess by hand + + -- Christian Marillat Thu, 17 Jun 2004 19:57:07 +0200 + +sawfish (1:1.3+cvs20040617-2) unstable; urgency=low + + * Add libxt-dev in Build-Depends (Closes: #252293) + * Pass CFLAGS correctly to ./configure + + -- Christian Marillat Thu, 17 Jun 2004 14:44:54 +0200 + +sawfish (1:1.3+cvs20040617-1) unstable; urgency=low + + * cvs release. + * Update config.sub and config.guess (Closes: #254826) + * Use menu-xdg for Debian menus, remove menu files and replace menu by + menu-xdg in Suggests (Closes: #251565) + * Suggests capplets instead of gnome-control-center. + * Remove patches included in cvs : + o 04_tooltips + o 08_wm-spec.jl + + -- Christian Marillat Thu, 17 Jun 2004 10:34:54 +0200 + +sawfish (1:1.3+cvs20031104-5) unstable; urgency=low + + * Update sawfish.el to latest version 1.31 + * Add libxext-dev in Builde-Depends (Closes: #249107) + + -- Christian Marillat Sat, 15 May 2004 10:13:14 +0200 + +sawfish (1:1.3+cvs20031104-4) unstable; urgency=low + + * Re-enable root window menu (disabled by upstream) (Closes: #225843) + + -- Christian Marillat Fri, 2 Jan 2004 10:36:26 +0100 + +sawfish (1:1.3+cvs20031104-3) unstable; urgency=low + + * debian/changelog Fix wrong character in 1:1.3+cvs20031104-1 entry (Closes: #219431) + * Update librep-dev Build-Dependency to 0.17-2 + + -- Christian Marillat Sun, 7 Dec 2003 09:11:33 +0100 + +sawfish (1:1.3+cvs20031104-2) unstable; urgency=low + + * Remove DOC file in the clean target (Closes: #219312) + + -- Christian Marillat Wed, 5 Nov 2003 16:43:16 +0100 + +sawfish (1:1.3+cvs20031104-1) unstable; urgency=low + + * Cvs release who fix reading negative unsigned values on 64-bit + platforms (Closes: #218359) + + -- Christian Marillat Tue, 4 Nov 2003 08:06:58 +0100 + +sawfish (1:1.3+cvs20031023-1) unstable; urgency=low + + * Cvs release with better font support. + * Adds support for shading windows of types utility, menu, and toolbar (Closes: #204757) + + -- Christian Marillat Thu, 23 Oct 2003 16:26:47 +0200 + +sawfish (1:1.3-5) unstable; urgency=low + + * New patch to manage properly _NET_WM_STATE_ABOVE and _NET_WM_STATE_BELOW + (Closes: #210518) + * Should Build-depends on libxrender-dev + + -- Christian Marillat Fri, 26 Sep 2003 16:16:19 +0200 + +sawfish (1:1.3-4) unstable; urgency=low + + * Patch from bugzilla to (Closes: #151636) + + -- Christian Marillat Fri, 1 Aug 2003 14:54:54 +0200 + +sawfish (1:1.3-3) unstable; urgency=low + + * New patch: restart sawfish when he crash. This work only with + gnome-session and you need to edit your session configuration to change + the style option to restart (Closes: #197718) + + -- Christian Marillat Mon, 7 Jul 2003 01:42:37 +0200 + +sawfish (1:1.3-2) unstable; urgency=low + + * Update section + * Install Sawfish.desktop + * Sawfish should depends on latest rep-gtk 0.17 (Closes: #187018) + * Patches from CVS + - Include iconified window when cycling (Closes: #187120) + - Fix 'menu already active' bug (Closes: #158084, #170257) + + -- Christian Marillat Fri, 4 Apr 2003 14:24:45 +0200 + +sawfish (1:1.3-1) unstable; urgency=low + + * New upstream release. + * Add yelp in Suggests (Closes: #178994) + * Escape "" in menu (Closes: #177593) + * The Hide window button is now working (not for sticky windows) (Closes: #181535) + + -- Christian Marillat Wed, 26 Mar 2003 17:03:01 +0100 + +sawfish (1:1.2-4) unstable; urgency=low + + * New patches from CVS + * Remove the libwnck hack in workspace-grid.jl (Closes: #176021) + * Fix build with GTK 2.2 (Closes: #176716) + * Replace save-session call by gnome-session-save (Closes: #176722) + + -- Christian Marillat Sat, 18 Jan 2003 10:47:17 +0100 + +sawfish (1:1.2-3) unstable; urgency=low + + * Apply upstream patche to fix fullscreen bug (Closes: #168795) + + -- Christian Marillat Thu, 14 Nov 2002 15:15:23 +0100 + +sawfish (1:1.2-2) unstable; urgency=low + + * debian/control replace gnome-control-center2 by gnome-control-center + (Closes: #168634) + * debian/emacsen-startup replace sawfish2 by sawfish (Closes: #168638) + + -- Christian Marillat Mon, 11 Nov 2002 14:34:55 +0100 + +sawfish (1:1.2-1) unstable; urgency=low + + * New upstream release. + * No more hangs when changing theme (Closes: #153289) + * No more crash with font selector (Closes: #151428) + * No more hangs with root menu (Closes: #158084) + + -- Christian Marillat Sun, 10 Nov 2002 17:10:46 +0100 + +sawfish (1:1.1a-5) unstable; urgency=low + + * Don't need to depends on emacsen-common + * Add 20 poinst to x-window-manager priority + * Update Standards-Version to 3.5.7 + + -- Christian Marillat Tue, 3 Sep 2002 18:48:21 +0200 + +sawfish (1:1.1a-4) unstable; urgency=low + + * Add patch from Chris Boyle to support skip taskbar for G1 applications. + (Closes: #150443) + * Should depends on emacsen-common (Closes: #158488) + + -- Christian Marillat Tue, 27 Aug 2002 18:29:14 +0200 + +sawfish (1:1.1a-3) unstable; urgency=low + + * Build against the latest libgtk2.0 2.0.6 + + -- Christian Marillat Fri, 9 Aug 2002 23:23:08 +0200 + +sawfish (1:1.1a-2) unstable; urgency=low + + * x-window-manager priority is now 50 + * Move generated debian menu in /var/lib/sawfish (Closes: #153260) + + -- Christian Marillat Wed, 17 Jul 2002 15:02:13 +0200 + +sawfish (1:1.1a-1) unstable; urgency=low + + * Use official tarball and version number. + * Shloud conflicts with sawfish-themer (Closes: #152120) + * New OPTIONS file for low-level configuration options. + + -- Christian Marillat Thu, 11 Jul 2002 15:26:40 +0200 + +sawfish (2.0-3) unstable; urgency=low + + * Remove 2 suffix in gnome-terminal2 dependency and remove xterm. + * Added some configurations issue in README.Debian + * Nautilus bug is fixed (Closes: #137328) + * Fix "Bad argument: #, (), 1" bug (Closes: #136633) + * Use x-terminal emulator instead of gnome-terminal + * Change priority to optional. + + -- Christian Marillat Sun, 30 Jun 2002 16:25:59 +0200 + +sawfish (2.0-2) unstable; urgency=low + + * Upload to unstable (Closes: #151230) + * sawfish-gnome doesn't exist anymore. Add a fake sawfish-gnome who + install sawfish. + + -- Christian Marillat Fri, 28 Jun 2002 12:07:47 +0200 + +sawfish (2.0-1) experimental; urgency=low + + * New upstream release. + + -- Christian Marillat Mon, 24 Jun 2002 14:23:14 +0200 + +sawfish (1.0.1.20020611-2) unstable; urgency=low + + * Install emacsen-common file in the rigth place. + + -- Christian Marillat Tue, 18 Jun 2002 20:57:04 +0200 + +sawfish (1.0.1.20020611-1) unstable; urgency=low + + * GNOME 2 package. + + -- Christian Marillat Tue, 18 Jun 2002 15:28:23 +0200 + +sawfish (1.0.1.20020116-4) unstable; urgency=low + + * Build against libcapplet1-dev (Closes: #63131) + * Add xterm | x-terminal-emulator dependency for sawfish and + gnome-terminal | x-terminal-emulator dependency for + sawfish-gnome (Closes: #138504) + * Add install file for sawfish.el (Closes: #141876) + * Replace xterm by x-terminal-emulator in xterm.jl + * Add support for DEB_HOST_GNU_TYPE DEB_BUILD_GNU_TYPE and + DEB_BUILD_OPTIONS + * Uptaded sawfish.el to 1.29 + + -- Christian Marillat Thu, 30 May 2002 15:02:28 +0200 + +sawfish (1.0.1.20020116-3) unstable; urgency=low + + * Add an epoch to libcapplet-dev (Closes: #130123) + * Install sawfish-xgettext and add python on build-depnds. + + -- Christian Marillat Sun, 20 Jan 2002 17:42:28 +0100 + +sawfish (1.0.1.20020116-2) unstable; urgency=low + + * Should build-depends on libcapplet-dev (>= 1.4.0.1-15) + + -- Christian Marillat Sat, 19 Jan 2002 14:36:36 +0100 + +sawfish (1.0.1.20020116-1) unstable; urgency=low + + * CVS release. + * Remove 2 CVS patches. + * Fix the swallowed bug (Closes: #116659, #119814, #127595, #123407) + * Remove /etc/X11/sawfish on purge (Closes: #127089) + * Gnome tasklist menu option work (Closes: #109462) + * Gmc bug is *really* fixed (Closes: #119585) + * Fix the first-fit window placement bug, if not feel free to reopen + (Closes: #114945) + * Fix uncopy window (Closes: #126544) + * Matched window by group work (Closes: #126591) + + -- Christian Marillat Wed, 16 Jan 2002 16:57:36 +0100 + +sawfish (1.0.1-6) unstable; urgency=low + + * Update config.sub and config.guess (Closes: #122966) + + -- Christian Marillat Sun, 9 Dec 2001 14:09:15 +0100 + +sawfish (1.0.1-5) unstable; urgency=low + + * Build without gdk-pixbuf (Closes: #120982, #121280, #122356) + + -- Christian Marillat Fri, 7 Dec 2001 14:14:23 +0100 + +sawfish (1.0.1-4) unstable; urgency=low + + * Handle ( and ) in section menu. Thanks to Daniel Burrows (Closes: #121322) + * Install a special sawfish.wm.defaults for sawfish (Closes: #121628) + * Patch wm-spec.jl to fix a problem with xmms (Closes: #120815) + * Build sawfish with gdk-pixbuf + + -- Christian Marillat Wed, 5 Dec 2001 16:04:30 +0100 + +sawfish (1.0.1-3) unstable; urgency=low + + * Compiled against gdk-pixbuf and add build-depends (Closes: #118306, #85662) + * Move sawfish-themer in a separate package for sawfish user (Closes: #119733) + * Add patch from cvs to fix a bug with Nautilus (Closes: #118304) + + -- Christian Marillat Tue, 20 Nov 2001 19:46:36 +0100 + +sawfish (1.0.1-2) unstable; urgency=low + + * Build against the latest gnome-libs + + -- Christian Marillat Sun, 21 Oct 2001 16:04:59 +0200 + +sawfish (1.0.1-1) unstable; urgency=low + + * New upstream release. + * First menu entry are activated (Closes: #99417) + * Fix maximized window and the gnome panel (Closes: #113351) + + -- Christian Marillat Tue, 16 Oct 2001 18:39:44 +0200 + +sawfish (1.0-4) unstable; urgency=low + + * Fix prerm scripts (Closes: #115269) + + -- Christian Marillat Thu, 11 Oct 2001 23:54:24 +0200 + +sawfish (1.0-3) unstable; urgency=low + + * debian/*.sgml Use docbook 4.1 and docbook2man + * Remove /etc/X11/sawfish/debian-menu.jl and /etc/X11/sawfish/site-init.d + on purge (Closes: #113001) + * Add match-window.jl from cvs to avoid problem with translated strings. + * Add slave manpage for w-window-manager (Closes: #111523) + + -- Christian Marillat Sun, 7 Oct 2001 18:45:47 +0200 + +sawfish (1.0-2) unstable; urgency=low + + * Fix menu-method files Closes: #106052) + + -- Christian Marillat Sat, 21 Jul 2001 16:53:41 +0200 + +sawfish (1.0-1) unstable; urgency=low + + * New upstream release. + * Call "system exec" instead of "system" in menu-method (Closes: #103456) + * Call LC_ALL=C with make + * New patch to don't translate all strings. + + -- Christian Marillat Fri, 20 Jul 2001 14:15:32 +0200 + +sawfish (0.99-1) unstable; urgency=low + + * New upstream release. + * `decorate-transients' option works again with shaded window (Closes: #93273) + * Build-depends on rep,librep 0.14 + * Removed sawfish-about.jl.in patch. + + -- Christian Marillat Tue, 3 Jul 2001 10:08:14 +0200 + +sawfish (0.38-7) unstable; urgency=low + + * Move info documentation in sawfish and sawfish-gnome packages. This is + needed by popup menu (NEWS, FAQ, Manual items) + * Switch to debhelper V3 + * New file /etc/X11/sawfish/site-init.d/50cursors.jl to enable/disable the + hand cursor when moving/resizing windows (enabled by default). + * Changed the "Protect sawfish" URL (Closes: #102618) + + -- Christian Marillat Sun, 1 Jul 2001 15:14:07 +0200 + +sawfish (0.38-6) unstable; urgency=low + + * Rewrote manpages, to explain where to find info page, and what the info + pages provides (Closes: #94132) + * debian/*README.Debian explain why you can't mix up Ximian and Debian + packages. + + -- Christian Marillat Sun, 29 Apr 2001 15:00:06 +0200 + +sawfish (0.38-5) unstable; urgency=low + + * Build depends on gettext only, and remove bad msgstr. + + -- Christian Marillat Sun, 8 Apr 2001 15:04:29 +0200 + +sawfish (0.38-4) unstable; urgency=low + + * depends on versioned gettext (<= 0.10.35-17) (Closes: #92932) + * Build-depends on latest librep 0.13.5-2 + * Write manpages (Closes: #87118) + * Forgot to close these bugs related to 0.20 (Closes: #80483, #78530)) + * Sawfish make user symlink at startup (Closes: #77704) + * Sawfish show menus (Closes: #69362, #90964) + + -- Christian Marillat Sat, 7 Apr 2001 17:55:31 +0200 + +sawfish (0.38-3) unstable; urgency=low + + * debian/control Update build depends to reflect the latest rep-gtk-gnome + maybe (Closes: #89839) + * Add two dummy packages (sawmill, sawmill-gnome) for a smooth upgrade + from potato, these packages will be removed after the woody release + Closes: #90397) + + -- Christian Marillat Thu, 22 Mar 2001 20:01:13 +0100 + +sawfish (0.38-2) unstable; urgency=low + + * Build depends on libgmp3-dev (Closes: #89839) + * In /etc/X11/sawfish rename defaults.jl --> 00debian.jl and menu.jl --> 00menu.jl + + -- Christian Marillat Sat, 17 Mar 2001 15:50:02 +0100 + +sawfish (0.38-1) unstable; urgency=low + + * New upstream release. + * Move info documentation in the sawfish-lisp-source package. + + -- Christian Marillat Thu, 15 Mar 2001 06:29:09 +0100 + +sawfish (0.37.3-4) unstable; urgency=low + + * debian/postrm removed (call the old register-window-manager) + * debian/prerm removed (update-alternatives called two time) + * Unregister info documentation on remove. + * debian//menu-method patch from Matt Kraai (Closes: #87809) + * Upgraded to sawfish.el v1.25 + * Be sure to remove this old conffile (Closes: #88517) + * I wrote 2 manpages, then add docbook-to-man in build depends + + -- Christian Marillat Thu, 8 Mar 2001 18:20:17 +0100 + +sawfish (0.37.3-3) unstable; urgency=low + + * Install the x-window-manager alternative for the sawfish-gnome package. + + -- Christian Marillat Fri, 23 Feb 2001 18:16:25 +0100 + +sawfish (0.37.3-2) unstable; urgency=low + + * Move init scripts in /etc/X11/sawfish/site-init.d + * Add lintian override files. + * Thanks to Merlin for its scripts. + + -- Christian Marillat Wed, 21 Feb 2001 15:02:24 +0100 + +sawfish (0.37.3-1) unstable; urgency=low + + * New upstream release. + * No more crash with netscape or Mozilla (Closes: #86565) + * Move init scrip in /etc/X11/sawfish/site-init.d + + -- Christian Marillat Tue, 20 Feb 2001 17:04:05 +0100 + +sawfish (0.37.2-2) unstable; urgency=low + + * Move merlin files in the sawfish-merlin-ugliness package and change + site-init.jl script (Closes: #86172, #84094) + + -- Christian Marillat Sat, 17 Feb 2001 22:07:12 +0100 + +sawfish (0.37.2-1) unstable; urgency=low + + * New upstream source. + * Update merlin's files (ugliness and util) + * Restore gnome session corretcly (Closes: #83256) + + -- Christian Marillat Fri, 16 Feb 2001 15:43:56 +0100 + +sawfish (0.36-3) unstable; urgency=low + + * Remove Warning in postinst and wrote why to restart sawfish in + README.Debian. I'll close automaticaly all bugs report related to this + feature. (Closes: #83332, #83422, #83866) + * Build with latest libgdk-pixbuf2. + * Fix syntax error in Build-Depends + * Make all maintainer scripts run with -e + + -- Christian Marillat Fri, 26 Jan 2001 02:50:38 +0100 + +sawfish (0.36-2) unstable; urgency=low + + * debian/rules remove --with-gdk-pixbuf (Closes: #83204, #83211) + + -- Christian Marillat Tue, 23 Jan 2001 20:27:58 +0100 + +sawfish (0.36-1) unstable; urgency=low + + * New upstream release. + * Remove gettext patch included by upstream + * Rewrote *.postinst script (Closes: #81390) + * Build sawfish-gnome --with-gdk-pixbuf (Closes: #69760) + + -- Christian Marillat Sun, 21 Jan 2001 15:07:31 +0100 + +sawfish (0.35-1) unstable; urgency=low + + * New upstream release. + * Removed keys patch included by upstream. + * Rewrote gettext patch. + * Typo in site-init* (Closes: #81475) + * Window title are displayed (Closes: #59951) + * This should close this old bug in 0.20 release (Closes: #57384) + * Now we have focus methods for matched windows (Closes: #58286) + * Now a window can be maximized, unmovable and unresizable (Closes: #60976) + + -- Christian Marillat Sun, 7 Jan 2001 16:22:37 +0100 + +sawfish (0.34-6) unstable; urgency=low + + * Rewrote *menu-method files (Closes: #81021, #81102) + + -- Christian Marillat Tue, 2 Jan 2001 00:41:13 +0100 + +sawfish (0.34-5) unstable; urgency=low + + * Move site-init.jl to /etc/X11/sawfish, make a symlink, and register this + file as conffiles (Closes: 79899) + * Add a patch for broken gettext (Closes: #79852) + + -- Christian Marillat Wed, 20 Dec 2000 16:28:24 +0100 + +sawfish (0.34-4) unstable; urgency=low + + * Rewrote *menu-method (Closes: #79625) + * Update Merlin's files. + + -- Christian Marillat Fri, 15 Dec 2000 00:47:37 +0100 + +sawfish (0.34-3) unstable; urgency=low + + * Update Merlin's files. + + -- Christian Marillat Thu, 14 Dec 2000 20:39:09 +0100 + +sawfish (0.34-2) unstable; urgency=low + + * Update merlin's files (Closes: #78889) + * Rewrote *site-init.jl files (Closes #78854, #78871, #78878, #78888, #78871) + Daniel, apparently a lot of people doesn't use Debian menus ;-) + * Really close 78409 missing # (Closes: #78409) + + -- Christian Marillat Wed, 6 Dec 2000 17:13:15 +0100 + +sawfish (0.34-1) unstable; urgency=low + + * New upstream release. + * Install Debian menu by default. + * Apply patch for mouse with more than 5 buttons (Closes: 78409) + Tanks to Steve Haslam + + -- Christian Marillat Tue, 5 Dec 2000 17:12:14 +0100 + +sawfish (0.33.1-1) unstable; urgency=low + + * New upstream release. + * Rewrote *.postinst (Closes: #75996) + * Remove transient patch included by upstream. + * Install custom-defaults.jl (Closes: #76837) + + -- Christian Marillat Tue, 14 Nov 2000 11:57:55 +0100 + +sawfish (0.33-2) unstable; urgency=low + + * Reverted transient.jl to the 0.32 release (focus bug) (Closes: #76896, #76822) + + -- Christian Marillat Mon, 13 Nov 2000 15:29:14 +0100 + +sawfish (0.33-1) unstable; urgency=low + + * New upstream release. + * Replace libungif4g-dev by libungif4-dev in Build-depends (Closes: #76742) + * Updated ugliness.jl (Closes: #76753) + + -- Christian Marillat Sat, 11 Nov 2000 16:58:49 +0100 + +sawfish (0.32-2) unstable; urgency=low + + * Touch all jlc files in postinst (Closes: #75718, #75887) + + -- Christian Marillat Mon, 30 Oct 2000 10:30:51 +0100 + +sawfish (0.32-1) unstable; urgency=low + + * New upstream release. + * Remove Merlin's cycle.jl included by upstream. + * Can flip viewports (Closes: #70952) + * Can't change the hostname (Closes: #72538) + + -- Christian Marillat Fri, 20 Oct 2000 16:44:43 +0200 + +sawfish (0.31.1-2) unstable; urgency=low + + * Move source lisp in sawfish-source + * Added code from merlin to allow cycle-backward (Closes: #65138) + Thanks to merlin + * Can access more than 10 workspaces (Closes: #51422) + * Change description for sawfish-lisp-source (Closes: #75111) + + -- Christian Marillat Thu, 19 Oct 2000 02:17:14 +0200 + +sawfish (0.31.1-1) unstable; urgency=low + + * New upstream release. + * Remove patchs included by upstream author. + * Don't install Debian menu by default. Explain in README.Debian how to + install Debian menu. + * debian/control add Provides: x-window-manager for sawfish-gnome + (Closes: #72510, #72604) + + -- Christian Marillat Fri, 29 Sep 2000 15:03:46 +0200 + +sawfish (0.31-2) unstable; urgency=low + + * Added a patch against themer/themer.in + * Build against librep9 (0.13-2) (Closes: #72276) + * Rewrote *menu-method and site-init*.jl + + -- Christian Marillat Sat, 23 Sep 2000 16:38:19 +0200 + +sawfish (0.31-1) unstable; urgency=low + + * New upstream release. + * Removed all patchs. + * Upgraded to sawfish.el v1.23 + * Added a patch against integration.jl + * Don't build with --with-gdk-pixbuf + + -- Christian Marillat Fri, 22 Sep 2000 02:00:11 +0200 + +sawfish (0.30.3-9) unstable; urgency=low + + * Install info page in sawfish-gnome (Closes: #72131) + * debian/control conflits with sawfish-gnome and sawmill for sawfish and + conflicts with sawfish and sawmill-gnome for sawfish-gnome (Closes: #70730) + * Build with --with-gdk-pixbuf + * Switch to debhelper v2 + + -- Christian Marillat Wed, 20 Sep 2000 23:14:59 +0200 + +sawfish (0.30.3-8) unstable; urgency=low + + * Add a patch to remove domainename in build- (Closes: #71924) + * Add a patch against configure.in to build a non Gnome version. + + -- Christian Marillat Wed, 20 Sep 2000 19:11:03 +0200 + +sawfish (0.30.3-7) unstable; urgency=low + + * Upgraded to sawfish.el v1.21 + * Build with LC_ALL="C" $(MAKE) (Closes: #71299) + + -- Christian Marillat Sat, 16 Sep 2000 14:37:05 +0200 + +sawfish (0.30.3-6) unstable; urgency=low + + * Replace --host by dpkg-architecture when calling ./configure + * Typo in sawfish-gnome Depends field (Closes: #70451). + * Apply patch from Colin Watson to load Debian menu in ~/.sawfish/lisp before + /etc/X11/sawfish (Closes: #70458). + * New field Build-Depends-Indep. + * Replace echo by printf in postinst (Closes: #70626). + + -- Christian Marillat Thu, 31 Aug 2000 09:15:12 +0200 + +sawfish (0.30.3-5) unstable; urgency=low + + * debian/postinst wrote WARNING (Closes: #69018). + * Replace rep-gtk by rep-gtk-gnome in Depends field. + + -- Christian Marillat Sun, 27 Aug 2000 16:09:42 +0200 + +sawfish (0.30.3-4) unstable; urgency=low + + * debian/postinst Rewrited (Closes: #68845, #68845) + + -- Christian Marillat Fri, 11 Aug 2000 19:09:05 +0200 + +sawfish (0.30.3-3) unstable; urgency=low + + * debian/control removed textinfo from Build-depends (Closes: #68420, #68458). + * debian/control added dependencies on gnome-control-center for sawfish-gnome. + * Updated french translation for *.desktop files (Closes: #56342). + * Depends on the latest rep and rep-gtk (Closes: #68395). + * Drop down window menus stay in the screen (Closes: #48491). + + -- Christian Marillat Sun, 6 Aug 2000 16:45:07 +0200 + +sawfish (0.30.3-2) unstable; urgency=low + + * Install Sawfish.desktop in sawfish-gnome (Closes: #67833, #65968). + * Removed bad libraries in Build-depends (Closes: #67850). + * Added textinfo in Build-depends (Closes: #64068). + * debian/postinst Restart sawfish (Closes: #53612, #67757). + + -- Christian Marillat Fri, 28 Jul 2000 21:21:44 +0200 + +sawfish (0.30.3-1) unstable; urgency=low + + * New upstrem release. + * Upgraded to sawfish.el v1.20 + + -- Christian Marillat Mon, 24 Jul 2000 22:21:10 +0200 + +sawfish (0.30.2-2) unstable; urgency=low + + * debian/postrm rename sawmill --> sawfish. + * debian/prerm rename sawmill --> sawfish. + * Upgraded to sawfish.el v1.18 + * debian/site-init.jl rename sawmill --> sawfish. + * debian/copyright rename sawmill --> sawfish. New URL. + + -- Christian Marillat Fri, 21 Jul 2000 17:18:04 +0200 + +sawfish (0.30.2-1) unstable; urgency=low + + * New maintainer. + * New package name - Sawfish. + * New upstream release (Closes: #54317 #61474 #62342 #62315 #62848 #63131). + * Added rep and texinfo to build-depends field (Closes: #62373 #64068). + * Build with --host=i386-pc-linux-gnu (Closes: #62432). + * Upgraded to sawmill.el v1.17 + * debian/postinst update sawmill --> sawfish (Closes: #56435). + * Install info files in Window Manager section. + * debian/info updated (Closes: #61844). + * debian/undocumented New file (Closes: #61800). + + -- Christian Marillat Thu, 20 Jul 2000 16:38:31 +0200 + +sawmill (0.26-1) unstable; urgency=low + + * new upstream release + + -- Mikolaj J. Habryn Wed, 12 Apr 2000 01:05:42 +1000 + +sawmill (0.25.2-1) unstable; urgency=low + + * new upstream release + + -- Mikolaj J. Habryn Mon, 20 Mar 2000 18:55:47 +1100 + +sawmill (0.25-1) unstable; urgency=low + + * new upstream release + * upgraded to sawmill.el v1.14 + + -- Mikolaj J. Habryn Mon, 6 Mar 2000 16:14:17 +1100 + +sawmill (0.24-1) unstable; urgency=low + + * new upstream release + * upgraded to sawmill.el v1.13 + * merged Ian McKellar's and Robert Woodcock's NMUs - thanks to you both :) + + -- Mikolaj J. Habryn Wed, 16 Feb 2000 02:26:37 +1100 + +sawmill (0.23-1) unstable; urgency=low + + * New upstream release + + -- Ian McKellar Mon, 31 Jan 2000 10:46:03 +0800 + +sawmill (0.22-2) unstable; urgency=low + + * Fixed dependancy problem (now depends on librep7 not librep5) + + -- Ian McKellar Thu, 27 Jan 2000 14:07:17 +0800 + +sawmill (0.22-1) unstable; urgency=low + + * New upstream release + + -- Ian McKellar Tue, 25 Jan 2000 14:39:28 +0800 + +sawmill (0.21.1-1) unstable; urgency=low + + * new upstream release + + -- Mikolaj J. Habryn Wed, 12 Jan 2000 18:13:16 +1100 + +sawmill (0.20.1-2) unstable; urgency=low + + * separate out GNOME related files into sawmill-gnome package. + + -- Mikolaj J. Habryn Wed, 22 Dec 1999 18:15:25 +1100 + +sawmill (0.20.1-1) unstable; urgency=low + + * new upstream release. + + -- Mikolaj J. Habryn Wed, 22 Dec 1999 17:52:23 +1100 + +sawmill (0.20-1) unstable; urgency=low + + * applied patch from author for correct quoting when grabbing window + names in customization dialog (Closes: #53106) + * new upstream release + + -- Mikolaj J. Habryn Tue, 21 Dec 1999 20:46:10 +1100 + +sawmill (0.19-1) unstable; urgency=low + + * new upstream release + * applied frame event patch from author + * included Dave Pearson's sawmill.el, version 1.8 + + -- Mikolaj J. Habryn Wed, 15 Dec 1999 21:24:53 +1100 + +sawmill (0.18-2) unstable; urgency=low + + * need a versioned depend for rep, as pointed out by Brett Viren + . Should also be solved by the + conflict in new librep packages, but overkill never hurt anybody. + + -- Mikolaj J. Habryn Sun, 12 Dec 1999 23:11:00 +1100 + +sawmill (0.18-1) unstable; urgency=low + + * new upstream release + + -- Mikolaj J. Habryn Mon, 6 Dec 1999 21:49:30 +1100 + +sawmill (0.17-1) unstable; urgency=low + + * new upstream release + * applied fix for menu dependency from Ian McKellar + + -- Mikolaj J. Habryn Thu, 2 Dec 1999 21:55:55 +1100 + +sawmill (0.16-1) unstable; urgency=low + + * new upstream release (Closes: #50152) + * added menu-method contributed by Daniel Burrows + (Closes: #48124, #49488) + * applied patches for window placement and gnome compatibility from + author. + + -- Mikolaj J. Habryn Thu, 18 Nov 1999 18:29:09 +1100 + +sawmill (0.15-1) unstable; urgency=low + + * new upstream release + + -- Mikolaj J. Habryn Mon, 1 Nov 1999 22:40:23 +1100 + +sawmill (0.14.2-1) unstable; urgency=low + + * cleaned out stale directories from previous version (Closes: #48325) + * new upstream release + + -- Mikolaj J. Habryn Tue, 26 Oct 1999 12:00:03 +1000 + +sawmill (0.14-1) unstable; urgency=low + + * added menu entry + * new upstream version + * applied window placement patch from author + + -- Mikolaj J. Habryn Mon, 25 Oct 1999 21:15:02 +1000 + +sawmill (0.13-3) unstable; urgency=low + + * corrected maintainer email address + * use x-window-manager, as urged by Branden + * also depend on rep-gtk + + -- Mikolaj J. Habryn Sun, 24 Oct 1999 11:14:23 +1000 + +sawmill (0.13-2) unstable; urgency=low + + * sawmill needs to depend on rep + * lose /usr/libexec, put everything in /usr/lib + + -- Mikolaj J. Habryn Wed, 20 Oct 1999 10:27:21 +1000 + +sawmill (0.13-1) unstable; urgency=low + + * Initial Release. + + -- Mikolaj J. Habryn Tue, 19 Oct 1999 16:12:32 +1000 + + --- sawfish-1.3.5.2.orig/debian/watch +++ sawfish-1.3.5.2/debian/watch @@ -0,0 +1,3 @@ +version=3 + +http://sf.net/sawmill/sawfish-([\d.]+)\.tar\.(?::gz|bz2) debian --- sawfish-1.3.5.2.orig/debian/rules +++ sawfish-1.3.5.2/debian/rules @@ -0,0 +1,189 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE=1 + +include /usr/share/quilt/quilt.make + +version = $(shell sed -n 's/version="\(.*\)"/\1/p' configure.in | head -n 1) + +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + +ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) + confflags += --build $(DEB_HOST_GNU_TYPE) +else + confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) +endif + +CFLAGS = -Wall -g -fno-strict-aliasing + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif + +LC_ALL= +LINGUAS= +LANG= +export LC_ALL LINGUAS LANG + +configure: configure-stamp +configure-stamp: $(QUILT_STAMPFN) + dh_testdir + + -mv etc/config.guess etc/config.guess.dist + -mv etc/config.sub etc/config.sub.dist + + cp /usr/share/misc/config.guess etc + cp /usr/share/misc/config.sub etc + + aclocal-1.10 + autoconf + + CFLAGS="$(CFLAGS)" ./configure --prefix=/usr --with-readline \ + --libexecdir=/usr/lib $(confflags) + +# Get rid of rpath + set -e; \ + tmpfile=`mktemp`; \ + sed "s/^REP_LIBS=\(.*\)-Wl,--rpath -Wl,[^ ]* \(.*\)$$/REP_LIBS=\1 \2/" Makedefs >$$tmpfile ;\ + mv $$tmpfile Makedefs + + touch configure-stamp + +build: build-stamp +build-stamp: configure-stamp + + $(MAKE) + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + [ ! -f Makefile ] || $(MAKE) distclean + + rm -f lisp/sawfish/gtk/widgets/font.jl + + rm -f configure + rm -f aclocal.m4 + + rm -rf src/.libexec + rm -rf src/.libs + rm -rf autom4te.cache/ + + if [ -f etc/config.guess.dist ]; then \ + mv etc/config.guess.dist etc/config.guess; \ + mv etc/config.sub.dist etc/config.sub; \ + fi + + dh_clean configure aclocal.m4 po/messages lisp/sawfish/gtk/widgets/font.jl debian/sawfish-lisp-source.files DOC FAQ + $(MAKE) -f debian/rules unpatch + +install: build + dh_testdir + dh_testroot + dh_installdirs usr/share/gnome/wm-properties etc/emacs/site-start.d \ + usr/share/xsessions + + $(MAKE) install DESTDIR=$(CURDIR)/debian/sawfish + + cp debian/00menu.jl debian/sawfish/etc/X11/sawfish/site-init.d + cp debian/50cursors.jl debian/sawfish/etc/X11/sawfish/site-init.d + cp debian/gnome-defaults.jl debian/sawfish/etc/X11/sawfish//site-init.d/00debian.jl + cp debian/sawfish.el debian/sawfish/usr/share/emacs/site-lisp/sawfish + cp debian/site-init.jl debian/sawfish/usr/share/sawfish/site-lisp + + -rm -f debian/sawfish-lisp-source.files + + find debian/sawfish/usr/share/sawfish/*/lisp -name \*.jl | cut -b 16- > debian/sawfish-lisp-source.files + + dh_movefiles -psawfish-lisp-source --sourcedir=debian/sawfish -Xautoload.jl -Xcustom-defaults.jl + dh_movefiles -psawfish-data --sourcedir=debian/sawfish -Xmain.jlc + + cp debian/xsessions.desktop debian/sawfish/usr/share/xsessions/sawfish.desktop + +# Fixup libdir in .la files + + find debian/sawfish -name \*.la | while read file; do \ + libdir=`echo $$file | sed -e 's@debian/sawfish\(.*\)/[^/]*la$$@\1@' `; \ + tmpfile=`mktemp`; \ + sed "s@^libdir=.*@libdir='$$libdir'@" $$file >$$tmpfile; \ + mv $$tmpfile $$file; \ + done + +# These are scripts. (Actually, they are /usr/bin/sawfish-ui before and after compiling) +# Should that be a symlink? + chmod a+x debian/sawfish/usr/share/sawfish/$(version)/lisp/sawfish/ui/main.jlc + chmod a+x debian/sawfish-lisp-source/usr/share/sawfish/$(version)/lisp/sawfish/ui/main.jl + +# Remove info files installed by Makefile. dh_installinfo will do it again without creating info.dir + find debian -type d -name info | xargs rm -rf + + find debian -type d | xargs rmdir -p --ignore-fail-on-non-empty + + mkdir -p debian/sawfish/var/lib/sawfish + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir -i + dh_testroot -i + dh_installdocs -psawfish-lisp-source README TODO FAQ + dh_installdocs -psawfish-data debian/README.sawfish-data + dh_installexamples -i + dh_installmenu -i + dh_installchangelogs -i NEWS + dh_link -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installdocs -A README TODO FAQ OPTIONS + dh_installmenu -a + dh_installman -a + dh_installinfo -a -n + dh_installemacsen -a -psawfish + dh_installchangelogs -A NEWS + dh_link -a + dh_strip -a --dbg-package=sawfish-dbg + dh_compress -a + dh_fixperms -a + dh_installdeb -a + dh_shlibdeps -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +binary: binary-indep binary-arch + +# Obtain upstream source snapshot from svn. Leaves it in +# debian/sawfish_$version.orig.tar.gz +# By default will get the latest version available, but can be controlled +# by setting SVN_REV before calling make + +SVN_REPO ?= svn://svn.gnome.org/svn/sawfish/trunk +SVN_REV ?= $(shell LANG=C svn info $(SVN_REPO) | grep Revision: | cut -d: -f 2 | sed 's/^ *\([^ ]*\) *$$/\1/') +export_dir = debian/tmp-src + +source: + dh_testdir + mkdir -p $(export_dir) + svn export -q -r $(SVN_REV) $(SVN_REPO) $(export_dir)/sawfish +# remove unneeded files + cd $(export_dir)/sawfish; \ + find . -name .cvsignore | xargs rm + cd $(export_dir); \ + tar czf ../sawfish_$$(sed -n 's/version="\(.*\)"/\1/p' sawfish/configure.in | head -n 1)+svn$(SVN_REV).orig.tar.gz sawfish + -rm -rf $(export_dir) + +.PHONY: build clean binary-indep binary-arch binary install configure --- sawfish-1.3.5.2.orig/debian/info +++ sawfish-1.3.5.2/debian/info @@ -0,0 +1 @@ +man/sawfish.info* --- sawfish-1.3.5.2.orig/debian/sawfish-lisp-source.lintian +++ sawfish-1.3.5.2/debian/sawfish-lisp-source.lintian @@ -0,0 +1 @@ +sawfish-lisp-source: script-not-executable ./usr/share/sawfish/1.3/lisp/sawfish/ui/main.jl --- sawfish-1.3.5.2.orig/debian/sawfish-ui.1 +++ sawfish-1.3.5.2/debian/sawfish-ui.1 @@ -0,0 +1,33 @@ +.TH "sawfish-ui" "1" +.SH "NAME" +sawfish-ui \(em The Sawfish Configurator. +.SH "SYNOPSIS" +.PP +\fBsawfish-ui\fR [\fB \-\-group=\fIGROUP-NAME \fR\fP] [\fB \-\-flatten \fP] [\fB \-\-single-level \fP] [\fB \-\-socket-id=\fIWINDOW-ID \fR\fP] +.SH "DESCRIPTION" +.PP +This program can be used to invoke the GUI manually; if GNOME is being +used, then the GNOME Control Center can also be used to customize +certain classes. +.SH "OPTIONS" +.IP "\fB\-\-group\fP \fBGROUP-NAME\fP " 10 +Display only \fIGROUP-NAME\fR +.IP "" 10 +\fIGROUP-NAME\fR should be one of these +names Sawfish, Appearance, Bindings, Focus, Matched Windows, +Minimizing/Maximizing, Miscellaneous, Move/Resize, Placement, Sounds, Workspaces +.IP "\fB\-\-flatten\fP" 10 +display sub-groups inline instead of using a tree widget +(good for control center). In normal `tree' item, don't put frame +the widgets +.IP "\fB\-\-single-level\fP" 10 +Don't display the tree widget. +.IP "\fB\-\-socket-id\fP \fBWINDOW-ID\fP " 10 +This option allow the ui to be embedded in the gnome control +center. This also disables the ok/cancel/etc buttons and enables +a hacky protocol on stdin/stdout +.SH "AUTHOR" +.PP +This manual page was written by Christian Marillat marillat@debian.org for +the \fBDebian GNU/Linux\fP system (but may be used by others). +.\" created by instant / docbook-to-man, Sat 02 Feb 2008, 23:15 --- sawfish-1.3.5.2.orig/debian/sawfish-data.files +++ sawfish-1.3.5.2/debian/sawfish-data.files @@ -0,0 +1,2 @@ +/usr/share/sawfish +/usr/share/locale --- sawfish-1.3.5.2.orig/debian/sawfish.sgml +++ sawfish-1.3.5.2/debian/sawfish.sgml @@ -0,0 +1,196 @@ +Christian"> + Marillat"> + October 7, 2001"> + 1"> + marillat@debian.org"> + + sawfish"> + + Debian GNU/Linux"> + GNU"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2001 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + Sawfish window manager. + + + + + &dhpackage; + + + + + + + + + + + + + + + + + + + DESCRIPTION + + Sawfish is a lisp-extensible window manager for X11. Its aim is to + allow all areas of window management (decoration, manipulation) to be + customized as far as is possible, yet still remain as fast or faster + than existing window managers. + + + + OPTIONS + + + + + + Connect to X display DPY. + + + + + + Fork a copy of sawfish for each screen. + + + + + + Preferred VISUAL type. + + + + + + Preferred color DEPTH. + + + + + + Disable internationalization of messages. + + + + + + + Load the Lisp file FILE (from the + cwd if possible, implies --batch mode). + + + + + + + Batch mode: process options and exit. + + + + + + + Interpreted mode: don't load compiled Lisp files. + + + + + + + + Call Lisp function FUNCTION. + + + + + + + + Load the file of Lisp forms called FUNCTION. + + + + + + Print version details. + + + + + + Don't load rc or site-init files. + + + + + + Terminate the interpreter process. + + + + + + + + SEE ALSO + + Sawfish is documented fully by John Harper + available via the Info system. + + + + AUTHOR + + This manual page was written by &dhusername; &dhemail; for + the &debian; system (but may be used by others). + + +
+ + --- sawfish-1.3.5.2.orig/debian/xsessions.desktop +++ sawfish-1.3.5.2/debian/xsessions.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Sawfish +Comment=An extensible window manager +Exec=sawfish +Terminal=False +TryExec=sawfish +Type=Application + +[Window Manager] +ConfigExec=sawfish-ui +ConfigTryExec=sawfish-ui +SessionManaged=true --- sawfish-1.3.5.2.orig/debian/sawfish.emacsen-install +++ sawfish-1.3.5.2/debian/sawfish.emacsen-install @@ -0,0 +1,41 @@ +#! /bin/sh -e +# /usr/lib/emacsen-common/packages/install/sawfish + +FLAVOR=$1 +PACKAGE=sawfish + +if [ ${FLAVOR} = emacs ]; then exit 0; fi + +echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR} + +FLAVORTEST=`echo $FLAVOR | cut -c-6` +if [ ${FLAVORTEST} = xemacs ] ; then + SITEFLAG="-no-site-file" +else + SITEFLAG="--no-site-file" +fi +FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile" + +ELDIR=/usr/share/emacs/site-lisp/${PACKAGE} +ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE} + +# Install-info-altdir does not actually exist. +# Maybe somebody will write it. +if test -x /usr/sbin/install-info-altdir; then + echo install/${PACKAGE}: install Info links for ${FLAVOR} + install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz +fi + +install -m 755 -d ${ELCDIR} +cd ${ELDIR} +FILES=`echo *.el` +cp ${FILES} ${ELCDIR} +cd ${ELCDIR} + +cat << EOF > path.el +(setq load-path (cons "." load-path) byte-compile-warnings nil) +EOF +${FLAVOR} ${FLAGS} ${FILES} +rm -f *.el path.el + +exit 0 --- sawfish-1.3.5.2.orig/debian/patches/makefile.in +++ sawfish-1.3.5.2/debian/patches/makefile.in @@ -0,0 +1,55 @@ +## makefile.in by Christian Marillat +## Makefile tweaks. + +Index: sawfish/lisp/sawfish/gtk/Makefile.in +=================================================================== +--- sawfish.orig/lisp/sawfish/gtk/Makefile.in ++++ sawfish/lisp/sawfish/gtk/Makefile.in +@@ -28,7 +28,7 @@ + VPATH=@srcdir@:@top_srcdir@ + + REP_GTK_GNOME=@REP_GTK_GNOME@ +-REP_ENVIRON:=$(REP_ENVIRON) REP_LOAD_PATH=$(top_srcdir)/lisp ++REP_ENVIRON:=$(REP_ENVIRON) REP_LOAD_PATH=$(top_srcdir)/lisp:$(top_builddir)/lisp + + SRCS := color-preview.jl \ + stock.jl \ +Index: sawfish/lisp/sawfish/ui/Makefile.in +=================================================================== +--- sawfish.orig/lisp/sawfish/ui/Makefile.in ++++ sawfish/lisp/sawfish/ui/Makefile.in +@@ -28,7 +28,7 @@ + VPATH=@srcdir@:@top_srcdir@ + + REP_GTK_GNOME=@REP_GTK_GNOME@ +-REP_ENVIRON:=$(REP_ENVIRON) REP_LOAD_PATH=$(top_srcdir)/lisp ++REP_ENVIRON:=$(REP_ENVIRON) REP_LOAD_PATH=$(top_srcdir)/lisp:$(top_builddir)/lisp + + ifeq ($(REP_GTK_GNOME),yes) + GNOME:= +Index: sawfish/scripts/Makefile.in +=================================================================== +--- sawfish.orig/scripts/Makefile.in ++++ sawfish/scripts/Makefile.in +@@ -29,7 +29,7 @@ + LISP_SRCS := sawfish-menu.jl sawfish-client.jl sawfish-about.jl + LISP_OBJS := $(LISP_SRCS:.jl=.jlc) + +-REP_ENVIRON := $(REP_ENVIRON) REP_LOAD_PATH=$(top_srcdir)/lisp ++REP_ENVIRON := $(REP_ENVIRON) REP_LOAD_PATH=$(top_srcdir)/lisp:$(top_builddir)/lisp + + SUBSTS := -e "s|__lispdir__|$(lispdir)|" \ + -e "s|__localedir__|$(localedir)|" \ +Index: sawfish/src/Makefile.in +=================================================================== +--- sawfish.orig/src/Makefile.in ++++ sawfish/src/Makefile.in +@@ -70,7 +70,7 @@ + $(foreach x,$(DL_DSTS),\ + $(rep_LIBTOOL) --mode=install $(INSTALL_PROGRAM) \ + $(notdir $(x)) $(DESTDIR)$(sawfishexecdir)/$(dir $(x));) +- $(rep_INSTALL_ALIASES) -c . $(DESTDIR)$(sawfishexecdir) ++ $(rep_INSTALL_ALIASES) -c $(srcdir) $(DESTDIR)$(sawfishexecdir) + $(rep_LIBTOOL) --mode=install $(INSTALL_PROGRAM) client.la $(DESTDIR)$(repexecdir)/sawfish/ + + uninstall : --- sawfish-1.3.5.2.orig/debian/patches/init.jl +++ sawfish-1.3.5.2/debian/patches/init.jl @@ -0,0 +1,15 @@ +## init.jl by Christian Marillat + +Index: sawfish/lisp/sawfish/wm/session/init.jl +=================================================================== +--- sawfish.orig/lisp/sawfish/wm/session/init.jl ++++ sawfish/lisp/sawfish/wm/session/init.jl +@@ -176,7 +176,7 @@ + + ;; XXX should I set this to SmRestartImmediately (2) instead + ;; XXX of SmRestartIfRunning (0) ? +- (sm-set-property "RestartStyleHint" 0) ++ (sm-set-property "RestartStyleHint" 2) + + (remove-sm-options) + (sm-set-property "CloneCommand" saved-command-line-args) --- sawfish-1.3.5.2.orig/debian/patches/remote_sawfish_error.patch +++ sawfish-1.3.5.2/debian/patches/remote_sawfish_error.patch @@ -0,0 +1,13 @@ +Index: sawfish-1.3.5.2/src/server.c +=================================================================== +--- sawfish-1.3.5.2.orig/src/server.c 2010-07-02 02:05:31.000000000 -0400 ++++ sawfish-1.3.5.2/src/server.c 2010-07-02 02:05:43.000000000 -0400 +@@ -143,7 +143,7 @@ + { + int confd; + struct sockaddr_un addr; +- socklen_t addr_len; ++ socklen_t addr_len = sizeof(addr); + + /* Linux manpage states that we can pass NULL for addr parameters, + but that has been reported to crash on some systems.. */ --- sawfish-1.3.5.2.orig/debian/patches/config.patch +++ sawfish-1.3.5.2/debian/patches/config.patch @@ -0,0 +1,119 @@ +Fixes for config.h.in. Taken from upstream 5b22f0c28 +Index: sawfish/config.h.in +=================================================================== +--- sawfish.orig/config.h.in ++++ sawfish/config.h.in +@@ -1,8 +1,5 @@ + /* config.h.in. Generated from configure.in by autoheader. */ + +-/* Define if building universal (internal helper macro) */ +-#undef AC_APPLE_UNIVERSAL_BUILD +- + /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +@@ -24,13 +21,13 @@ + /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ + #undef HAVE_DOPRNT + +-/* Have esound */ ++/* Have ESD */ + #undef HAVE_ESD + + /* Define to 1 if you have the header file. */ + #undef HAVE_FCNTL_H + +-/* gdk pixbuf */ ++/* Have gdk-pixbuf */ + #undef HAVE_GDK_PIXBUF + + /* Define to 1 if you have the `gethostname' function. */ +@@ -39,13 +36,16 @@ + /* Define to 1 if you have the `getpagesize' function. */ + #undef HAVE_GETPAGESIZE + +-/* have imlib */ ++/* Have GTK */ ++#undef HAVE_GTK ++ ++/* Have Imlib1 */ + #undef HAVE_IMLIB + + /* Define to 1 if you have the header file. */ + #undef HAVE_INTTYPES_H + +-/* have libaudiofile */ ++/* Have libaudiofile */ + #undef HAVE_LIBAUDIOFILE + + /* Define to 1 if you have the `nsl' library (-lnsl). */ +@@ -57,6 +57,15 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_MEMORY_H + ++/* Have pango */ ++#undef HAVE_PANGO ++ ++/* Have pangox */ ++#undef HAVE_PANGO_X ++ ++/* Have pangoxft */ ++#undef HAVE_PANGO_XFT ++ + /* Define to 1 if you have the `snprintf' function. */ + #undef HAVE_SNPRINTF + +@@ -96,7 +105,7 @@ + /* Define to 1 if you have the `vprintf' function. */ + #undef HAVE_VPRINTF + +-/* have x11 */ ++/* Have X11 */ + #undef HAVE_X11 + + /* Define to 1 if you have the header file. */ +@@ -108,13 +117,19 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_X11_EXTENSIONS_XRANDR_H + ++/* Define to 1 if you have the header file. */ ++#undef HAVE_X11_ICE_ICE_H ++ + /* Define to 1 if you have the header file. */ + #undef HAVE_X11_SM_SMLIB_H + ++/* Have xft */ ++#undef HAVE_X11_XFT_XFT_H ++ + /* libc malloc */ + #undef LIBC_MALLOC + +-/* pixmap cache */ ++/* Need pixmap cache */ + #undef NEED_PIXMAP_CACHE + + /* Define to the address where bug reports for this package should be sent. */ +@@ -146,19 +161,11 @@ + /* Define to 1 if you can safely include both and . */ + #undef TIME_WITH_SYS_TIME + +-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most +- significant byte first (like Motorola and SPARC, unlike Intel). */ +-#if defined AC_APPLE_UNIVERSAL_BUILD +-# if defined __BIG_ENDIAN__ +-# define WORDS_BIGENDIAN 1 +-# endif +-#else +-# ifndef WORDS_BIGENDIAN +-# undef WORDS_BIGENDIAN +-# endif +-#endif ++/* Define to 1 if your processor stores words with the most significant byte ++ first (like Motorola and SPARC, unlike Intel and VAX). */ ++#undef WORDS_BIGENDIAN + +-/* Define to 1 if the X Window System is missing or not being used. */ ++/* Have x11 */ + #undef X_DISPLAY_MISSING + + /* Define to empty if `const' does not conform to ANSI C. */ --- sawfish-1.3.5.2.orig/debian/patches/series +++ sawfish-1.3.5.2/debian/patches/series @@ -0,0 +1,5 @@ +config.patch +load.jl +init.jl +makefile.in +remote_sawfish_error.patch --- sawfish-1.3.5.2.orig/debian/patches/load.jl +++ sawfish-1.3.5.2/debian/patches/load.jl @@ -0,0 +1,25 @@ +## load.jl by Christian Marillat + +Index: sawfish/lisp/sawfish/wm/session/load.jl +=================================================================== +--- sawfish.orig/lisp/sawfish/wm/session/load.jl ++++ sawfish/lisp/sawfish/wm/session/load.jl +@@ -71,6 +71,7 @@ + (let ((client-id (sm-get-window-prop w 'SM_CLIENT_ID)) + (role (nth 2 (get-x-property w 'WM_WINDOW_ROLE))) + (class (sm-get-window-prop w 'WM_CLASS)) ++ (name (sm-get-window-prop w 'WM_NAME)) + (command (sm-get-window-prop w 'WM_COMMAND))) + (catch 'out + (when (and (not sm-sloppy-id-matching) +@@ -97,6 +98,10 @@ + ;; no WM_WINDOW_ROLE, so try matching WM_CLASS + (when (and class (cdr (assq 'class alist)) + (not (string= class (cdr (assq 'class alist))))) ++ (throw 'out nil)) ++ ;; no WM_CLASS, so try matching WM_NAME ++ (when (and name (cdr (assq 'name alist)) ++ (not (string= name (cdr (assq 'name alist))))) + (throw 'out nil))) + + ;; XXX match on WM_NAME and WM_CLIENT_MACHINE..?