debian/0000755000000000000000000000000011655740722007177 5ustar debian/changelog0000644000000000000000000000244611655740674011065 0ustar clfswm (20111015.git51b0a02-2) unstable; urgency=low * debian/load.lisp + hot-upgrade ASDF if user has a local version of ASDF + update copyright info * debian/clfswm.sh + update copyright info -- Desmond O. Chang Mon, 07 Nov 2011 10:35:40 +0800 clfswm (20111015.git51b0a02-1) unstable; urgency=low * refresh debian/patches -- Desmond O. Chang Mon, 24 Oct 2011 03:06:27 +0800 clfswm (20110616.git216af7b-1) unstable; urgency=low * debian/copyright + fix issues + add other copyright info * refresh debian/patches * put manpage in debian/ * put startup script in debian/ * move startup options into load.lisp * upgrade debhelper compatibility level to 8 * upgrade Standards-Version to 3.9.2 -- Desmond O. Chang Sat, 25 Jun 2011 00:05:06 +0800 clfswm (20110418.git050d0a2-1) unstable; urgency=low * delete the sample comment in debian/rules * debian/copyright + fix typo + add copyright information from files in contrib/ * refresh debian/patches -- Desmond O. Chang Tue, 19 Apr 2011 08:16:35 +0800 clfswm (20110305.git58f154e-1) unstable; urgency=low * Initial release (Closes: #616309) -- Desmond O. Chang Sun, 06 Mar 2011 23:56:54 +0800 debian/watch0000644000000000000000000000004711535060664010226 0ustar version=3 #git://repo.or.cz/clfswm.git debian/README.Debian0000644000000000000000000000171411536341071011233 0ustar clfswm for Debian ----------------- * HowTo start CLFSWM CLFSWM can be started using /usr/bin/clfswm. By default, CLFSWM assumes that you want to use it with CLISP. You can configure it to use another implementation based on the following rules: 1. the first command line argument 2. environment variable $LISP 3. the first line like "debian=" in its configuration file. 4. clisp For example, if you want to use SBCL, you can invoke clfswm like this: $ /usr/bin/clfswm sbcl or $ export LISP=sbcl $ /usr/bin/clfswm or put a line such as '; debian=sbcl' in the configuration file of clfswm, then $ /usr/bin/clfswm CLFSWM handles clisp, sbcl and cmucl internally. If you want to use another implementation, for example 'foobar', then clfswm try to execute the command `clfswm-foobar`. The implementation name must match the following pattern: [A-Za-z0-9._][A-Za-z0-9._+-]* -- Desmond O. Chang , Sun, 06 Mar 2011 23:56:54 +0800 debian/control0000644000000000000000000000275111601171256010576 0ustar Source: clfswm Section: x11 Priority: optional Maintainer: Debian Common Lisp Team Uploaders: Desmond O. Chang Build-Depends: debhelper (>= 8~) Build-Depends-Indep: asciidoc, xmlto Standards-Version: 3.9.2 Homepage: http://common-lisp.net/project/clfswm/ Vcs-Git: git://git.debian.org/pkg-common-lisp/clfswm.git Vcs-Browser: http://git.debian.org/?p=pkg-common-lisp/clfswm.git;a=summary Package: clfswm Architecture: all Depends: ${misc:Depends}, clisp-module-clx | cl-clx-sbcl | cmucl-source Provides: x-window-manager Description: A(nother) Common Lisp FullScreen Window Manager CLFSWM is a 100% Common Lisp X11 window manager (based on Tinywm and Stumpwm. Many thanks to them). It can be driven only with the keyboard or with the mouse. . A display contains a root frame and its children. A child can be a window or another frame. The root frame or its children can be the current root. The current root is fullscreen maximized (no decorations, no buttons, no menus: nothing, just the application fullscreen!). . CLFSWM is highly dynamic. By default there is only one frame (the root frame). Other frames are created/deleted on the fly. A window can be in more than one frame, so it can have multiple views of the same windows. . Using CLFSWM is like walking through a tree of frames and windows. Enter in a child to make it the current root and make it fullscreen maximized. Leave it to make its parent the current root. debian/source/0000755000000000000000000000000011536116225010470 5ustar debian/source/format0000644000000000000000000000001411535060664011702 0ustar 3.0 (quilt) debian/clfswm.1.txt0000644000000000000000000000277511601173217011373 0ustar // -*- mode: doc -*- CLFSWM(1) ========= :doctype: manpage NAME ---- clfswm - A(nother) Common Lisp Full Screen Window Manager SYNOPSIS -------- *clfswm* ['implementation'] DESCRIPTION ----------- CLFSWM is a 100% Common Lisp X11 window manager (based on Tinywm and Stumpwm. Many thanks to them). It can be driven only with the keyboard or with the mouse. CLFSWM uses the following rules to determine which implementation should be used: . the first command line argument. . environment variable $LISP . the first line like "debian=" in its configuration file. . clisp CLFSWM handles clisp, sbcl and cmucl internally. If you specify a different implementation, CLFSWM will try to execute the command `clfswm-`. See /usr/share/doc/clfswm/README.Debian for details. OPTIONS ------- 'implementation':: Indicates which implementation should be used. ENVIRONMENT ----------- 'LISP':: Indicates which implementation should be used. FILES ----- '$XDG_CONFIG_HOME/clfswm/clfswmrc':: User configuration file. If XDG_CONFIG_HOME is undefined, '$HOME/.config/clfswm/clfswmrc' will be used. '$HOME/.clfswmrc':: Deprecated. This file will be used only if the previous file does not exist. '/etc/clfswmrc':: System-wide configuration file. SEE ALSO -------- clisp(1), sbcl(1), cmucl(1). AUTHOR ------ CLFSWM was written by Philippe Brochard . This manual page was written by Desmond O. Chang , for the Debian project (and may be used by others). debian/rules0000755000000000000000000000112611601145105010240 0ustar #!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 pkg := clfswm debpkg := $(pkg) clc-source := usr/share/common-lisp/source clc-files := $(clc-source)/$(pkg) %: dh $@ override_dh_auto_configure: override_dh_install: install -D -T debian/clfswm.sh debian/$(debpkg)/usr/bin/clfswm dh_install override_dh_installman: debian/clfswm.1 dh_installman debian/clfswm.1 debian/clfswm.1: debian/clfswm.1.txt a2x -f manpage debian/clfswm.1.txt override_dh_fixperms: chmod -x debian/$(debpkg)/$(clc-files)/contrib/server/test.lisp dh_fixperms debian/clfswm.sh0000644000000000000000000000215711655740675011042 0ustar #!/bin/sh # # This file is part of the Debian CLFSWM package and is licensed under # the terms of the GNU GPL version 3 or later. Check # /usr/share/doc/clfswm/copyright for more information. # # Copyright 2011 Desmond O. Chang # # CLFSWM startup file. Check /usr/share/doc/clfswm/README.Debian to # know how to setup the Common Lisp implementation CLFSWM should use. LOADER="/usr/lib/clfswm/load.lisp" load_clfswm () { case "$1" in cmucl) cmucl -load "$LOADER" ;; sbcl) sbcl --load "$LOADER" ;; clisp) clisp "$LOADER" ;; *) "clfswm-$1" ;; esac } usage () { echo "usage: $0 [implementation]" exit 2 } main_clfswm () { local clfswmrc clfswm_impl rc_impl if [ $# -gt 1 ]; then usage fi clfswmrc=${XDG_CONFIG_HOME:-$HOME/.config}/clfswm/clfswmrc if [ ! -f "$clfswmrc" ]; then clfswmrc="$HOME/.clfswmrc" fi clfswm_impl=${1:-$LISP} if [ -z "$clfswm_impl" -a -r "$clfswmrc" ]; then rc_impl=$(sed -n '/^.*debian=\([A-Za-z0-9._][A-Za-z0-9._+-]*\).*$/{s//\1/p;q}' "$clfswmrc") clfswm_impl=${rc_impl} fi load_clfswm ${clfswm_impl:-clisp} } main_clfswm "$@" debian/wm0000644000000000000000000000002011536324147007532 0ustar /usr/bin/clfswm debian/docs0000644000000000000000000000003011535066456010045 0ustar README TODO AUTHORS doc debian/install0000644000000000000000000000012611601146457010563 0ustar *.asd src contrib usr/share/common-lisp/source/clfswm debian/load.lisp usr/lib/clfswm debian/patches/0000755000000000000000000000000011651063340010614 5ustar debian/patches/series0000644000000000000000000000006211651063340012027 0ustar 01_x-terminal-emulator.diff 02_x-www-browser.diff debian/patches/02_x-www-browser.diff0000644000000000000000000000063711601133171014522 0ustar Use x-www-browser by default. --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -735,7 +735,7 @@ ;;;;;| Various definitions ;;;;;`----- -(defun show-help (&optional (browser "dillo") (tempfile "/tmp/clfswm.html")) +(defun show-help (&optional (browser "x-www-browser") (tempfile "/tmp/clfswm.html")) "Show current keys and buttons bindings" (ignore-errors (produce-doc-html-in-file tempfile)) debian/patches/01_x-terminal-emulator.diff0000644000000000000000000000647311601133171015661 0ustar Use x-terminal-emulator by default. --- a/src/bindings-second-mode.lisp +++ b/src/bindings-second-mode.lisp @@ -158,11 +158,11 @@ (define-second-key ("v" :control :shift) 'paste-selection-no-clear) (define-second-key ("Delete" :control) 'remove-current-child) (define-second-key ("Delete") 'delete-current-child) - (define-shell ("c") b-start-xterm "start an xterm" "cd $HOME && exec xterm") + (define-shell ("c") b-start-x-terminal-emulator "start an x-terminal-emulator" "cd $HOME && exec x-terminal-emulator") (define-shell ("e") b-start-emacs "start emacs" "cd $HOME && exec emacs") (define-shell ("e" :control) b-start-emacsremote "start an emacs for another user" - "exec xterm -e emacsremote") + "exec x-terminal-emulator -e emacsremote") (define-shell ("h") b-start-xclock "start an xclock" "exec xclock -d") (define-second-key ("F10" :mod-1) 'fast-layout-switch) (define-second-key ("F10" :shift :control) 'toggle-show-root-frame) --- a/src/clfswm-info.lisp +++ b/src/clfswm-info.lisp @@ -494,7 +494,7 @@ (add-key hash-second 'run-program-from-query-string *second-keys*) (add-key hash-second 'eval-from-query-string *second-keys*) (add-key hash-second 'set-open-in-new-frame-in-parent-frame-nw-hook *second-keys*) - (add-key hash-second 'b-start-xterm *second-keys*) + (add-key hash-second 'b-start-x-terminal-emulator *second-keys*) (add-key hash-second 'b-start-emacs *second-keys*) (show-key-binding hash hash-second :no-producing-doc)))) --- a/src/config.lisp +++ b/src/config.lisp @@ -137,7 +137,7 @@ 'Corner "The clfswm terminal name") ;;(defparameter *clfswm-terminal-cmd* (format nil "xterm -T ~A -e /bin/bash --noprofile --norc" *clfswm-terminal-name*) ;;(defparameter *clfswm-terminal-cmd* (format nil "urxvt -name ~A" *clfswm-terminal-name*) -(defconfig *clfswm-terminal-cmd* (format nil "xterm -T ~A" *clfswm-terminal-name*) +(defconfig *clfswm-terminal-cmd* (format nil "x-terminal-emulator -T ~A" *clfswm-terminal-name*) 'Corner "The clfswm terminal command. This command must set the window title to *clfswm-terminal-name*") --- a/contrib/reboot-halt.lisp +++ b/contrib/reboot-halt.lisp @@ -39,7 +39,7 @@ (defun do-with-terminal (command) - (do-shell (format nil "xterm -e '~A'" command))) + (do-shell (format nil "x-terminal-emulator -e '~A'" command))) ;;(do-shell (format nil "xterm -e 'echo ~A; sleep 3'" command))) ;; test (defun do-nothing () --- a/doc/keys.txt +++ b/doc/keys.txt @@ -139,7 +139,7 @@ Control Shift V Paste the selection in the current frame - Do not clear the selection after paste Control Delete Remove the current child from its parent frame Delete Delete the current child and its children in all frames - C start an xterm + C start an x-terminal-emulator E start emacs Control E start an emacs for another user H start an xclock --- a/doc/keys.html +++ b/doc/keys.html @@ -1407,7 +1407,7 @@ C - start an xterm + start an x-terminal-emulator debian/clean0000644000000000000000000000001111536073537010175 0ustar clfswm.1 debian/compat0000644000000000000000000000000211601166307010365 0ustar 8 debian/load.lisp0000644000000000000000000000127111655740675011017 0ustar ;;;; This file is part of the Debian CLFSWM package and is licensed ;;;; under the terms of GPL-3 or later. Check ;;;; /usr/share/doc/clfswm/copyright for more information. ;;;; ;;;; Copyright 2011 Desmond O. Chang (in-package :cl-user) #+clisp (require "clx") #+cmu (require :clx) #-asdf (require :asdf #+clisp '(#P"/usr/share/common-lisp/source/cl-asdf/asdf.lisp")) ;; Hot-upgrade ASDF. ;; ;; It's useful if user has a local version of ASDF. ;; ;; Currently only available in ASDF2. #+asdf2 (asdf:oos 'asdf:load-op :asdf) ;; Cleanups after hot-upgrade. #+asdf2 (asdf:clear-configuration) (asdf:oos 'asdf:load-op :clfswm) (clfswm:main) #+(or clisp sbcl cmu) (quit) debian/menu0000644000000000000000000000023411536073537010066 0ustar ?package(clfswm): \ needs="wm" \ section="Window Managers" \ title="CLFSWM" \ longtitle="A(nother) Common Lisp window manager" \ command="clfswm" debian/copyright0000644000000000000000000001046411601133171011120 0ustar Format: http://dep.debian.net/deps/dep5 Upstream-Name: clfswm Source: http://common-lisp.net/project/clfswm/ Files: * Copyright: 2006-2010 Philippe Brochard License: GPL-3 Files: src/version.lisp Copyright: 2011 Xavier Maillard 2011 Martin Bishop License: GPL-2 Files: src/keysyms.lisp Copyright: 2006 Matthew Kennedy License: GPL-2 Files: contrib/clfswm Copyright: 2008 Xavier Maillard License: GPL-3 Files: contrib/asdf.lisp Copyright: 2001-2010 Daniel Barlow and contributors License: MIT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Files: contrib/server/md5.lisp Copyright: 2001 Pierre R. Mai License: public-domain It was written by Pierre R. Mai, with copious input from the cmucl-help mailing-list hosted at cons.org, in November 2001 and has been placed into the public domain. Files: contrib/server/net.lisp Copyright: 1999-2008 Sam Steingold License: LGPL This package is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package 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 Lesser General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU Lesser General Public License can be found in "/usr/share/common-licenses/LGPL-2". Files: debian/* contrib/volume-mode.lisp contrib/amixer.lisp Copyright: 2011 Desmond O. Chang License: GPL-3 License: GPL-3 This package 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 3 of the License, or (at your option) any later version. . This package 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, see . On Debian systems, the complete text of the GNU General Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". License: GPL-2 This package 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 package 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, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".