Removed postinst version check from particleman.
Changed debian/rules and debian/get-orig-source to get the package name from the changelog.
+particleman (20070927-1) unstable; urgency=low
+
+ * Renamed to produce a DFSG-compliant package
+
+ -- Ben Hutchings <ben@decadent.org.uk> Sun, 04 Nov 2007 15:08:50 +0000
+
ion3 (20070506-1) unstable; urgency=low
* Ion3 is now in the non-free section due to a trademark claim and
+particleman (20070927-1) unstable; urgency=low
+
+ * Renamed to produce a DFSG-compliant package
+
+ -- Ben Hutchings <ben@decadent.org.uk> Sun, 04 Nov 2007 14:49:46 +0000
+
ion3 (20070927-1) unstable; urgency=low
* New upstream release
-Source: ion3
-Section: non-free/x11
+Source: particleman
+Section: x11
Priority: extra
Maintainer: Ben Hutchings <ben@decadent.org.uk>
Standards-Version: 3.7.2.0
Build-Depends: debhelper (>= 4.1.16), gcc (>> 3), libx11-dev, libxext-dev, libsm-dev, liblua5.1-0-dev, lua5.1, quilt, pkg-config, groff-base, po-debconf
-Package: ion3
-Section: non-free/x11
+Package: particleman
+Section: x11
Architecture: any
Depends: ${shlibs:Depends}, xterm | x-terminal-emulator, debconf, xbase-clients
-Recommends: devscripts, libwww-perl, xfonts-75dpi | xfonts-75dpi-transcoded | xfonts-100dpi | xfonts-100dpi-transcoded
+Recommends: xfonts-75dpi | xfonts-75dpi-transcoded | xfonts-100dpi | xfonts-100dpi-transcoded
Suggests: menu (>= 2.1.9), docker, ion3-scripts
-Conflicts: ion (<< 0.0.20020207-7), ion3-old
-Provides: x-window-manager, ion3-api-${Ion:ApiVersion}
+Conflicts: ion (<< 0.0.20020207-7), ion3, ion3-old
+Provides: x-window-manager, ion3, ion3-api-${Ion:ApiVersion}
Description: keyboard-friendly window manager with tiled windows
+ ParticleMan is a free version of the Ion3 window manager.
+ .
Ion, based on PWM, is an unusual window manager with no overlapping
windows. Windows are placed in tabbed frames which may be arbitrarily
split to create additional frames, making keyboard navigation much
There is also support for so-called 'floating workspaces' where
windows are managed the conventional way, so that you can still run
applications which do not fit very well into Ion's window management
- approach. A pwm3 binary is included which starts Ion with floating
- workspaces as the default, thus replacing the now obsolete PWM window
- manager.
- .
- Homepage: http://iki.fi/tuomov/ion/
+ approach. A pwm3 binary is included which starts ParticleMan with
+ floating workspaces as the default, thus replacing the now obsolete
+ PWM window manager.
-Package: ion3-dev
-Section: non-free/devel
+Package: particleman-dev
+Section: devel
Priority: extra
Architecture: all
Depends: libx11-dev, libsm-dev, lua5.1, gcc (>> 3)
-Description: ion3 development files
+Conflicts: ion3-dev
+Provides: ion3-dev
+Description: development files
This package contains the files necessary for building extension
- modules to the Ion window manager.
+ modules to the ParticleMan or Ion3 window managers.
-Package: ion3-doc
-Section: non-free/doc
+Package: particleman-doc
+Section: doc
Architecture: all
Recommends: lynx | www-browser
Suggests: doc-base, dwww | doc-central | dhelp
-Description: ion3 documentation
+Description: ParticleMan documentation
This package contains the document 'Configuring and extending Ion3
- with Lua' which explains how to configure and extend the Ion window
- manager.
+ with Lua' which explains how to configure and extend the ParticleMan
+ or Ion3 window managers.
-This is the Debian-packaged version of Ion3.
+This is a Debian-packaged version of Ion3, renamed to ParticleMan to
+comply with the Debian Free Software Guidelines.
The package was put together by Per Olofsson <pelle@dsv.su.se>, based
on the ion package created by Tommi Virtanen <tv@debian.org>. It uses
---
-The following notice applies to the Ion3 code and to the names "Ion",
-"Ion3", etc.:
+The following notice applies to the Ion3 code:
Copyright (c) Tuomo Valkonen 1999-2007.
The code of this project is "essentially" licensed under the LGPL, version
-2.1, unless otherwise indicated in components taken from elsewhere. It is
-reproduced below. Additionally, the following terms apply to the use of
-the name of the project, Ion(tm), names of particular "branches" such as
-Ion3(tm), and other derived names:
-
- If the name Ion(tm) or other names that can be associated with the Ion
- project are used to distribute this software, then:
-
- - A version that does not significantly differ from one of the
- original author's versions must be provided by default.
-
- - When there are no further prominent notices of possible out-datedness,
- and no prominent original author's version qualifiers present (resp.
- only branch qualifier is present), then the version distributed online
- may not significantly differ from the original author's latest stable
- release (resp. latest release on the branch) within a reasonable delay
- (normally 28 days). The holders of physical distribution media must
- be provided ways to upgrade to the latest release within this delay.
-
- - Significantly altered versions may be provided only if the user
- explicitly requests for those modifications to be applied, and
- is prominently notified that the software is no longer considered
- the standard version, and is not supported by the original author.
- The version string displayed by the program must describe these
- modifications and the "support void" status.
-
- Derived works that do not satisfy the above terms must be renamed so
- that they can not be associated with the Ion project, their executables
- must be given names that do not conflict with the original author's
- version, and this author may not be referred to for support.
-
- Modules and other (standalone) extensions to Ion must also be named
- so that they can not be confused to be supported by the original
- author. If "Ion" occurs in the name, it must be in the form
- "Foo for Ion" instead of "Ion Foo", etc.
-
- This name policy notice may not be altered, and must be included in
- any altered versions and binary redistributions. It may only be
- removed when using small portions of the code in unrelated projects.
-
- The original author and the Ion project retain the same rights to
- your modifications that it would have under the LGPL or GPL without
- these or similar additional terms.
-
- If you fail to follow these terms, you lose the rights granted to
- you by the LGPL.
-
-Explanations:
-
-Significant change: Bug fixes are a priori insignificant as additions.
-Basic changes that are needed to install or run the software on a target
-platform are a priori insignificant. Additionally, basic configuration
-changes to better integrate the software with the target platform,
-without obstructing the standard behaviour, are a priori insignificant.
-Everything else is significant. The author reserves the right to refine
-the definition of significant changes on a per-case basis. Please consult
-when in doubt.
-
-Distributions: For example, suppose an aggregate distribution of software
-provides an `installpkg` command for installing packages. Then the action
-`installpkg ion3` (resp. `installpkg ion`) should within a reasonable
-delay install the latest release of Ion3 (resp. the latest stable release),
-or prominently notify the user that the provided version is not or may not
-be the latest. The action `installpkg ion-3ds-20070318` may at any date
-install this particular mentioned release. Likewise, the action `installpkg
---support-void-featurex ion3` may apply additional patches to the latest
-Ion3, within the further constraints set above.
-
-The intent of these terms is to curb the power that "distributions", as
-the primary sources of software for many users, have in defining what
-is perceived as Ion. By providing significantly modified versions and
-out-dated development snapshots without prominently mentioning this fact,
-they do not present the work in a light that the author can agree with,
-and create a burden of dealing with (new) users seeking for support for
-such versions.
+2.1, unless otherwise indicated in components taken from elsewhere.
+
+---
+
+The "Ion" and "Ion3" names are claimed as trademarks; additional terms
+apply if you redistribute under these names; see "LICENSE" in the source
+package.
---
set -e
+PACKAGE="$(dpkg-parsechangelog | sed 's/^Source: //; t; d')"
+test -n "$PACKAGE"
+
# Get the main upstream tarball URL and version via uscan.
while read line; do
if [ "${line#http://}" != "$line" -a "${line#* }" = "$line" ]; then
# Unpack, combine and repack.
tar xzf $main_file
tar xzf $doc_file
-mv $main_dir ion3-$version.orig
-mv $doc_dir ion3-$version.orig/doc
-tar cf - ion3-$version.orig | gzip -c9 > ion3_$version.orig.tar.gz
+mv $main_dir $PACKAGE-$version.orig
+mv $doc_dir $PACKAGE-$version.orig/doc
+tar cf - $PACKAGE-$version.orig | gzip -c9 > $PACKAGE_$version.orig.tar.gz
# Clean up.
-rm -rf $main_file $doc_file ion3-$version.orig
+rm -rf $main_file $doc_file $PACKAGE-$version.orig
+++ /dev/null
-usr/share/lintian/overrides
+++ /dev/null
-build/system-inc.mk build/rules.mk usr/share/ion3/build
-install-sh config.h system.mk usr/lib/ion3
-build/libs.mk usr/lib/ion3/build
-libextl/libextl-mkexports usr/lib/ion3/libextl
-debian/overrides/ion3-dev usr/share/lintian/overrides
+++ /dev/null
-usr/share/ion3/build/system-inc.mk usr/include/ion3/build/system-inc.mk
-usr/share/ion3/build/rules.mk usr/include/ion3/build/rules.mk
-usr/lib/ion3/config.h usr/include/ion3/config.h
-usr/lib/ion3/system.mk usr/include/ion3/system.mk
-usr/lib/ion3/build/libs.mk usr/include/ion3/build/libs.mk
-usr/lib/ion3/libextl/libextl-mkexports usr/include/ion3/libextl/libextl-mkexports
+++ /dev/null
-Document: ion3-doc-config
-Title: Ion: Configuring and extending with Lua (ion3)
-Author: Tuomo Valkonen
-Abstract: This document describes how to configure and extend the window
- manager Ion (version 3).
-Section: WindowManagers
-
-Format: HTML
-Index: /usr/share/doc/ion3-doc/ionconf/index.html
-Files: /usr/share/doc/ion3-doc/ionconf/*
+++ /dev/null
-Document: ion3-doc-notes
-Title: Ion: Notes for the module and patch writer (ion3)
-Author: Tuomo Valkonen
-Abstract: This document is an unorganized collection of notes for those who
- want to write modules or patches to Ion (version 3).
-Section: WindowManagers
-
-Format: HTML
-Index: /usr/share/doc/ion3-doc/ionnotes/index.html
-Files: /usr/share/doc/ion3-doc/ionnotes/*
+++ /dev/null
-doc/ionconf
-doc/ionnotes
+++ /dev/null
-Ion3
-====
-
-This is a release candidate for version 3.0 and should be quite
-stable. There have been substantial changes from earlier development
-snapshots.
-
-Instructions for using Ion3 can be found in the manual page ("man
-ion3"). Additional documentation is included in the ion3-doc package:
-"Configuring and extending Ion3 with Lua" and "Ion: Notes for the
-module and patch writer". There is an FAQ online at
-<http://modeemi.fi/~tuomov/ion/faq.html>.
-
-Some scripts extending Ion3 are available in the ion3-scripts package,
-though this is not currently maintained.
-
-There is an unofficial module adding Xinerama support in the
-mod-xinerama-for-ion package.
-
-Docks and system trays
-----------------------
-
-Ion3 is compatible with the docking protocols used by WindowMaker and
-KDE. It can place docked applications windows either in a corner
-dock, or in a "system tray" in the status bar.
-
-For a corner dock, add:
-
- dopath("mod_dock")
-
-to cfg_ion.lua or cfg_modules.lua and edit cfg_dock.lua to your
-preferences. The dock window's visibility can be toggled using
-MOD1+D.
-
-For a system tray, edit cfg_statusbar.lua to include:
-
- mod_statusbar.create {
- ...
- systray=true,
- template="... %systray"
- }
-
-You can also configure specific windows to appear in the status bar:
-
- -- In cfg_ion.lua:
- defwinprop {
- class = "foo-window-class",
- statusbar = "foo"
- }
-
- -- In cfg_status_bar.lua:
- mod_statusbar.create {
- ...
- template="... %systray_foo"
- }
-
-GNOME unfortunately uses a different dock protocol. However, the
-docker program can adapt from this to the WindowMaker protocol. So you
-can include a GNOME system tray in your status bar by including docker
-in your X session and this in your Ion3 configuration:
-
- -- In cfg_ion.lua:
- defwinprop {
- class = "Docker",
- statusbar = "dock"
- }
-
- -- In cfg_statusbar.lua:
- mod_statusbar.create {
- ...
- template="... %systray_dock"
- }
-
-Adding configuration files to the defaults
-------------------------------------------
-
-Ion3 extension packages may add and remove configuration files to
-those included by cfg_defaults.lua. The configuration files must be
-installed under /etc/X11/ion3. Run "install-ion3-cfg cfg_foo" in the
-postinst script to add the configuration file
-/etc/X11/ion3/cfg_foo.lua. Run "install-ion3-cfg --remove cfg_foo" in
-the prerm script to remove it.
-
- -- Ben Hutchings <ben@decadent.org.uk>, Thu, 27 Sep 2007 22:27:11 +0100
+++ /dev/null
-[Desktop Entry]
-Encoding=UTF-8
-Name=Ion3
-Comment=Ion window manager (version 3)
-Comment[cs]=Správce oken Ion (verze 3)
-Exec=/usr/bin/ion3
-Type=Application
+++ /dev/null
-var/lib/ion3
-usr/share/xsessions
-usr/share/lintian/overrides
+++ /dev/null
-debian/ion3.desktop debian/pwm3.desktop usr/share/xsessions
-debian/default etc
-debian/watch usr/share/ion3/debian
-debian/install-ion3-cfg usr/sbin
+++ /dev/null
-var/lib/ion3/debian-menu.lua usr/share/ion3/debian-menu.lua
-var/lib/ion3/debian-menu-i18n.lua usr/share/ion3/debian-menu-i18n.lua
-etc/default/ion3 etc/X11/ion3/cfg_debian.lua
+++ /dev/null
-?package(ion3):needs="wm" section="Window Managers" \
- title="Ion3" command="/usr/bin/ion3"
-?package(ion3):needs="wm" section="Window Managers" \
- title="PWM3" command="/usr/bin/pwm3"
+++ /dev/null
-#!/usr/bin/install-menu
-# by Iwan Heskamp <iwan@hetwasietsmet.nl>
-# http://tdm120.el.utwente.nl/~hkp/pwm/
-# Modified for Ion by Per Olofsson <pelle@dsv.su.se>
-
-compat="menu-1"
-
-!include menu.h
-
-compat="menu-2"
-
-outputencoding="ISO-8859-1";
-
-function q($arg) = esc($arg, "\\\"");
-function qc($arg) = esc($arg, "\\'");
-
-function entry($action)=" menuentry(\"" q(title()) "\", \""
- q($action) "\"),\n";
-function entry_exec($command)=entry("ioncore.exec('" qc($command) "')");
-
-supported;
- x11 = entry_exec($command);
- wm = entry("ioncore.restart_other('" qc($command) "')");
- text = entry_exec(term());
-endsupported;
-
-
-startmenu="defmenu(\"" $section "\", {\n";
-endmenu="})\n\n";
-genmenu="debian-menu.lua";
-submenutitle=" submenu(\"" $title "\", \"" $section "\"),\n";
-preoutput="\n";
-mainmenutitle="Debian";
-rootsection="Debian";
-rootprefix="/var/lib/ion3/";
-userprefix="/.ion3/";
-
-preoutput= "-- Automatically generated file. Do not edit.\n-- (See /usr/share/doc/menu/menu.txt.gz)\n\n";
+++ /dev/null
-#!/usr/bin/install-menu
-# by Iwan Heskamp <iwan@hetwasietsmet.nl>
-# http://tdm120.el.utwente.nl/~hkp/pwm/
-# Modified for Ion by Per Olofsson <pelle@dsv.su.se>
-
-compat="menu-1"
-
-!include menu.h
-
-compat="menu-2"
-
-outputencoding="LOCALE";
-
-function q($arg) = esc($arg, "\\\"");
-function qc($arg) = esc($arg, "\\'");
-
-function entry($action)=" menuentry(\"" q(title()) "\", \""
- q($action) "\"),\n";
-function entry_exec($command)=entry("ioncore.exec('" qc($command) "')");
-
-supported;
- x11 = entry_exec($command);
- wm = entry("ioncore.restart_other('" qc($command) "')");
- text = entry_exec(term());
-endsupported;
-
-
-startmenu="defmenu(\"" $section "\", {\n";
-endmenu="})\n\n";
-genmenu="debian-menu-i18n.lua";
-submenutitle=" submenu(\"" $title "\", \"" $section "\"),\n";
-preoutput="\n";
-mainmenutitle="Debian";
-rootsection="Debian";
-rootprefix="/var/lib/ion3/";
-userprefix="/.ion3/";
-
-preoutput= "-- Automatically generated file. Do not edit.\n-- (See /usr/share/doc/menu/menu.txt.gz)\n\n";
+++ /dev/null
-#!/bin/sh
-set -e
-. /usr/share/debconf/confmodule
-
-UPSTREAM_VERSION=
-DEBIAN_VERSION=
-
-if [ "$1" = configure ] \
- && dpkg --compare-versions "$2" lt "$DEBIAN_VERSION"; then
- # Installing for the first time or upgrading.
- # To comply with the Ion trademark licence terms, we must ensure
- # that this version is up-to-date or that the user acknowledges
- # it is not. I freely admit that this is a horrible abuse of
- # debconf, but it seems slightly less unpleasant than maintaining
- # a renamed version. - benh
- uscan_output="$(uscan 2>&1 --no-conf --report-status \
- --package ion3 --upstream-version "$UPSTREAM_VERSION" \
- --watchfile /usr/share/ion3/debian/watch \
- || true)"
- case "$uscan_output" in
- *"up to date"*)
- question=''
- ;;
- *"Newer version"*)
- question=ion3/acknowledge-outdated
- ;;
- *)
- question=ion3/acknowledge-maybe-outdated
- ;;
- esac
- if [ -n "$question" ]; then
- db_fset $question seen false
- db_subst $question version $UPSTREAM_VERSION
- db_input high $question || true
- db_go || true
- db_get $question
- if [ "$RET" != true ]; then
- db_input high ion3/did-not-acknowledge-outdated || true
- db_go || true
- exit 1
- fi
- fi
-fi
-
-if [ -h /etc/X11/ion3/draw.lua ]; then
- rm -f /etc/X11/ion3/draw.lua
-fi
-
-ln -s look_clean.lua /etc/X11/ion3/draw.lua
-
-update-alternatives --install /usr/bin/ion ion /usr/bin/ion3 29 \
- --slave /usr/share/man/man1/ion.1.gz ion.1.gz \
- /usr/share/man/man1/ion3.1.gz
-
-update-alternatives --install \
- /usr/bin/x-window-manager x-window-manager /usr/bin/ion3 49 \
- --slave /usr/share/man/man1/x-window-manager.1.gz x-window-manager.1.gz \
- /usr/share/man/man1/ion3.1.gz
-
-update-alternatives --install \
- /usr/bin/x-window-manager x-window-manager /usr/bin/pwm3 48 \
- --slave /usr/share/man/man1/x-window-manager.1.gz x-window-manager.1.gz \
- /usr/share/man/man1/pwm3.1.gz
-
-# i18n menu method
-inst=/etc/menu-methods/ion3-i18n
-if [ -f $inst ]; then
- chmod a+x $inst
-fi
-
-# Initialise extra configuration file list if missing
-[ -f /etc/X11/ion3/cfg_debian_ext.lua ] || >/etc/X11/ion3/cfg_debian_ext.lua
-
-#DEBHELPER#
-
-# Remove the old now-renamed generated Debian menu
-rm -f /var/lib/ion3/debian-menus.lua
+++ /dev/null
-#!/bin/sh
-set -e
-
-if [ "$1" = purge ]; then
- rm -rf /etc/X11/ion3
-fi
-
-# i18n menu method
-inst=/etc/menu-methods/ion3-i18n
-if [ "$1" = "remove" ] && [ -f "$inst" ]; then chmod a-x $inst ; fi
-
-#DEBHELPER#
+++ /dev/null
-#!/bin/sh
-set -e
-
-if [ "$1" = remove ] || [ "$1" = deconfigure ]; then
- update-alternatives --remove x-window-manager /usr/bin/pwm3
- update-alternatives --remove x-window-manager /usr/bin/ion3
- update-alternatives --remove ion /usr/bin/ion3
-fi
-
-if [ "$1" = remove ]; then
- rm -f /var/lib/ion3/debian-menu.lua
- rm -f /var/lib/ion3/debian-menu-i18n.lua
-fi
-
-#DEBHELPER#
+++ /dev/null
-# These templates have been reviewed by the debian-l10n-english
-# team
-#
-# If modifications/additions/rewording are needed, please ask
-# for an advice to debian-l10n-english@lists.debian.org
-#
-# Even minor modifications require translation updates and such
-# changes should be coordinated with translators and reviewers.
-
-Template: ion3/acknowledge-outdated
-Type: boolean
-Default: false
-_Description: Do you understand that this version is not supported by the author?
- The version of Ion3 you are installing (version ${version}) is not
- the latest version released by the author.
- .
- DO NOT send bug reports or questions to the author unless they apply
- to the latest version, available at:
- http://modeemi.fi/~tuomov/ion/download.html
- .
- Otherwise, you should send any bug reports about this package to the
- Debian bug tracking system and any other questions to the Debian
- maintainer.
-
-Template: ion3/acknowledge-maybe-outdated
-Type: boolean
-Default: false
-_Description: Do you understand that this version may not be supported by the author?
- The version of Ion3 you are installing (version ${version}) may not
- be the latest version released by the author.
- .
- DO NOT send bug reports or questions to the author unless they apply
- to the latest version, available at:
- http://modeemi.fi/~tuomov/ion/download.html
- .
- Otherwise, you should send any bug reports about this package to the
- Debian bug tracking system and any other questions to the Debian
- maintainer.
-
-Template: ion3/did-not-acknowledge-outdated
-Type: error
-Description: Non-acknowledged installation of an old version
- You must acknowledge that the author does not support old versions
- and should not be contacted about them.
+++ /dev/null
-ion3-dev: script-not-executable ./usr/lib/ion3/libextl/libextl-mkexports
-ion3-dev: unusual-interpreter ./usr/lib/ion3/libextl/libextl-mkexports #!/usr/bin/lua5.1
--- /dev/null
+particleman-dev: script-not-executable ./usr/lib/ion3/libextl/libextl-mkexports
+particleman-dev: unusual-interpreter ./usr/lib/ion3/libextl/libextl-mkexports #!/usr/bin/lua5.1
--- /dev/null
+usr/share/lintian/overrides
--- /dev/null
+build/system-inc.mk build/rules.mk usr/share/particleman/build
+install-sh config.h system.mk usr/lib/particleman
+build/libs.mk usr/lib/particleman/build
+libextl/libextl-mkexports usr/lib/particleman/libextl
+debian/overrides/particleman-dev usr/share/lintian/overrides
--- /dev/null
+usr/share/particleman usr/share/ion3
+usr/share/particleman/build/system-inc.mk usr/include/particleman/build/system-inc.mk
+usr/share/particleman/build/rules.mk usr/include/particleman/build/rules.mk
+usr/lib/particleman usr/lib/ion3
+usr/lib/particleman/config.h usr/include/particleman/config.h
+usr/lib/particleman/system.mk usr/include/particleman/system.mk
+usr/lib/particleman/build/libs.mk usr/include/particleman/build/libs.mk
+usr/lib/particleman/libextl/libextl-mkexports usr/include/particleman/libextl/libextl-mkexports
+usr/include/particleman usr/include/ion3
--- /dev/null
+Document: particleman-doc-config
+Title: Configuring and extending Ion3 with Lua (particleman)
+Author: Tuomo Valkonen
+Abstract: This document describes how to configure and extend the window
+ managers Ion3 and ParticleMan.
+Section: WindowManagers
+
+Format: HTML
+Index: /usr/share/doc/particleman-doc/ionconf/index.html
+Files: /usr/share/doc/particleman-doc/ionconf/*
--- /dev/null
+Document: particleman-doc-notes
+Title: Ion: Notes for the module and patch writer (particleman)
+Author: Tuomo Valkonen
+Abstract: This document is an unorganized collection of notes for those who
+ want to write modules or patches to Ion3 or ParticleMan.
+Section: WindowManagers
+
+Format: HTML
+Index: /usr/share/doc/particleman-doc/ionnotes/index.html
+Files: /usr/share/doc/particleman-doc/ionnotes/*
--- /dev/null
+doc/ionconf
+doc/ionnotes
--- /dev/null
+ParticleMan
+===========
+
+This is based on a release candidate for Ion version 3.0 and should be
+quite stable. There have been substantial changes from earlier
+development snapshots.
+
+Instructions for using ParticleMan can be found in the manual page
+("man particleman"). Additional documentation is included in the
+particleman-doc package: "Configuring and extending Ion3 with Lua" and
+"Ion: Notes for the module and patch writer". There is an FAQ online
+at <http://modeemi.fi/~tuomov/ion/faq.html>.
+
+Some scripts extending ParticleMan are available in the ion3-scripts
+package, though this is not currently maintained.
+
+There is a module adding Xinerama support in the mod-xinerama-for-ion
+package.
+
+Docks and system trays
+----------------------
+
+ParticleMan is compatible with the docking protocols used by
+WindowMaker and KDE. It can place docked applications windows either
+in a corner dock, or in a "system tray" in the status bar.
+
+For a corner dock, add:
+
+ dopath("mod_dock")
+
+to cfg_ion.lua or cfg_modules.lua and edit cfg_dock.lua to your
+preferences. The dock window's visibility can be toggled using
+MOD1+D.
+
+For a system tray, edit cfg_statusbar.lua to include:
+
+ mod_statusbar.create {
+ ...
+ systray=true,
+ template="... %systray"
+ }
+
+You can also configure specific windows to appear in the status bar:
+
+ -- In cfg_ion.lua:
+ defwinprop {
+ class = "foo-window-class",
+ statusbar = "foo"
+ }
+
+ -- In cfg_status_bar.lua:
+ mod_statusbar.create {
+ ...
+ template="... %systray_foo"
+ }
+
+GNOME unfortunately uses a different dock protocol. However, the
+docker program can adapt from this to the WindowMaker protocol. So you
+can include a GNOME system tray in your status bar by including docker
+in your X session and this in your ParticleMan configuration:
+
+ -- In cfg_ion.lua:
+ defwinprop {
+ class = "Docker",
+ statusbar = "dock"
+ }
+
+ -- In cfg_statusbar.lua:
+ mod_statusbar.create {
+ ...
+ template="... %systray_dock"
+ }
+
+Adding configuration files to the defaults
+------------------------------------------
+
+Ion3/ParticleMan extension packages may add and remove configuration
+files to those included by cfg_defaults.lua. The configuration files
+must be installed under /etc/X11/ion3. Run "install-ion3-cfg cfg_foo"
+in the postinst script to add the configuration file
+/etc/X11/ion3/cfg_foo.lua. Run "install-ion3-cfg --remove cfg_foo" in
+the prerm script to remove it.
+
+ -- Ben Hutchings <ben@decadent.org.uk>, Sun, 4 Nov 2007 15:32:47 +0000
--- /dev/null
+[Desktop Entry]
+Encoding=UTF-8
+Name=ParticleMan
+Comment=ParticleMan window manager
+Comment[cs]=Správce oken ParticleMan
+Exec=/usr/bin/particleman
+Type=Application
--- /dev/null
+var/lib/particleman
+usr/share/xsessions
+usr/share/lintian/overrides
--- /dev/null
+debian/particleman.desktop debian/pwm3.desktop usr/share/xsessions
+debian/default etc
+debian/install-ion3-cfg usr/sbin
--- /dev/null
+var/lib/particleman/debian-menu.lua usr/share/particleman/debian-menu.lua
+var/lib/particleman/debian-menu-i18n.lua usr/share/particleman/debian-menu-i18n.lua
+etc/default/particleman etc/X11/particleman/cfg_debian.lua
+usr/bin/particleman usr/bin/ion3
+usr/share/man/man1/particleman.1 usr/share/man/man1/ion3.1
--- /dev/null
+?package(particleman):needs="wm" section="Window Managers" \
+ title="ParticleMan" command="/usr/bin/particleman"
+?package(particleman):needs="wm" section="Window Managers" \
+ title="PWM3" command="/usr/bin/pwm3"
--- /dev/null
+#!/usr/bin/install-menu
+# by Iwan Heskamp <iwan@hetwasietsmet.nl>
+# http://tdm120.el.utwente.nl/~hkp/pwm/
+# Modified for Ion by Per Olofsson <pelle@dsv.su.se>
+
+compat="menu-1"
+
+!include menu.h
+
+compat="menu-2"
+
+outputencoding="ISO-8859-1";
+
+function q($arg) = esc($arg, "\\\"");
+function qc($arg) = esc($arg, "\\'");
+
+function entry($action)=" menuentry(\"" q(title()) "\", \""
+ q($action) "\"),\n";
+function entry_exec($command)=entry("ioncore.exec('" qc($command) "')");
+
+supported;
+ x11 = entry_exec($command);
+ wm = entry("ioncore.restart_other('" qc($command) "')");
+ text = entry_exec(term());
+endsupported;
+
+
+startmenu="defmenu(\"" $section "\", {\n";
+endmenu="})\n\n";
+genmenu="debian-menu.lua";
+submenutitle=" submenu(\"" $title "\", \"" $section "\"),\n";
+preoutput="\n";
+mainmenutitle="Debian";
+rootsection="Debian";
+rootprefix="/var/lib/particleman/";
+userprefix="/.ion3/";
+
+preoutput= "-- Automatically generated file. Do not edit.\n-- (See /usr/share/doc/menu/menu.txt.gz)\n\n";
--- /dev/null
+#!/usr/bin/install-menu
+# by Iwan Heskamp <iwan@hetwasietsmet.nl>
+# http://tdm120.el.utwente.nl/~hkp/pwm/
+# Modified for Ion by Per Olofsson <pelle@dsv.su.se>
+
+compat="menu-1"
+
+!include menu.h
+
+compat="menu-2"
+
+outputencoding="LOCALE";
+
+function q($arg) = esc($arg, "\\\"");
+function qc($arg) = esc($arg, "\\'");
+
+function entry($action)=" menuentry(\"" q(title()) "\", \""
+ q($action) "\"),\n";
+function entry_exec($command)=entry("ioncore.exec('" qc($command) "')");
+
+supported;
+ x11 = entry_exec($command);
+ wm = entry("ioncore.restart_other('" qc($command) "')");
+ text = entry_exec(term());
+endsupported;
+
+
+startmenu="defmenu(\"" $section "\", {\n";
+endmenu="})\n\n";
+genmenu="debian-menu-i18n.lua";
+submenutitle=" submenu(\"" $title "\", \"" $section "\"),\n";
+preoutput="\n";
+mainmenutitle="Debian";
+rootsection="Debian";
+rootprefix="/var/lib/particleman/";
+userprefix="/.ion3/";
+
+preoutput= "-- Automatically generated file. Do not edit.\n-- (See /usr/share/doc/menu/menu.txt.gz)\n\n";
--- /dev/null
+#!/bin/sh
+set -e
+
+if [ -h /etc/X11/ion3/draw.lua ]; then
+ rm -f /etc/X11/ion3/draw.lua
+fi
+
+ln -s look_clean.lua /etc/X11/ion3/draw.lua
+
+update-alternatives --install /usr/bin/ion ion /usr/bin/particleman 29 \
+ --slave /usr/share/man/man1/ion.1.gz ion.1.gz \
+ /usr/share/man/man1/particleman.1.gz
+
+update-alternatives --install \
+ /usr/bin/x-window-manager x-window-manager /usr/bin/particleman 49 \
+ --slave /usr/share/man/man1/x-window-manager.1.gz x-window-manager.1.gz \
+ /usr/share/man/man1/particleman.1.gz
+
+update-alternatives --install \
+ /usr/bin/x-window-manager x-window-manager /usr/bin/pwm3 48 \
+ --slave /usr/share/man/man1/x-window-manager.1.gz x-window-manager.1.gz \
+ /usr/share/man/man1/pwm3.1.gz
+
+# i18n menu method
+inst=/etc/menu-methods/particleman-i18n
+if [ -f $inst ]; then
+ chmod a+x $inst
+fi
+
+# Initialise extra configuration file list if missing
+[ -f /etc/X11/ion3/cfg_debian_ext.lua ] || >/etc/X11/ion3/cfg_debian_ext.lua
+
+#DEBHELPER#
--- /dev/null
+#!/bin/sh
+set -e
+
+# i18n menu method
+inst=/etc/menu-methods/particleman-i18n
+if [ "$1" = "remove" ] && [ -f "$inst" ]; then chmod a-x $inst ; fi
+
+#DEBHELPER#
--- /dev/null
+#!/bin/sh
+set -e
+
+if [ "$1" = remove ] || [ "$1" = deconfigure ]; then
+ update-alternatives --remove x-window-manager /usr/bin/pwm3
+ update-alternatives --remove x-window-manager /usr/bin/particleman
+ update-alternatives --remove ion /usr/bin/particleman
+fi
+
+if [ "$1" = remove ]; then
+ rm -f /var/lib/particleman/debian-menu.lua
+ rm -f /var/lib/particleman/debian-menu-i18n.lua
+fi
+
+#DEBHELPER#
--- /dev/null
+# These templates have been reviewed by the debian-l10n-english
+# team
+#
+# If modifications/additions/rewording are needed, please ask
+# for an advice to debian-l10n-english@lists.debian.org
+#
+# Even minor modifications require translation updates and such
+# changes should be coordinated with translators and reviewers.
+
+Template: ion3/acknowledge-outdated
+Type: boolean
+Default: false
+_Description: Do you understand that this version is not supported by the author?
+ The version of Ion3 you are installing (version ${version}) is not
+ the latest version released by the author.
+ .
+ DO NOT send bug reports or questions to the author unless they apply
+ to the latest version, available at:
+ http://modeemi.fi/~tuomov/ion/download.html
+ .
+ Otherwise, you should send any bug reports about this package to the
+ Debian bug tracking system and any other questions to the Debian
+ maintainer.
+
+Template: ion3/acknowledge-maybe-outdated
+Type: boolean
+Default: false
+_Description: Do you understand that this version may not be supported by the author?
+ The version of Ion3 you are installing (version ${version}) may not
+ be the latest version released by the author.
+ .
+ DO NOT send bug reports or questions to the author unless they apply
+ to the latest version, available at:
+ http://modeemi.fi/~tuomov/ion/download.html
+ .
+ Otherwise, you should send any bug reports about this package to the
+ Debian bug tracking system and any other questions to the Debian
+ maintainer.
+
+Template: ion3/did-not-acknowledge-outdated
+Type: error
+Description: Non-acknowledged installation of an old version
+ You must acknowledge that the author does not support old versions
+ and should not be contacted about them.
include /usr/share/quilt/quilt.make
-PACKAGE := ion3
+PACKAGE := $(shell dpkg-parsechangelog | sed -r 's/^Source: //; t; d')
PACKAGE_DEV := $(PACKAGE)-dev
PACKAGE_DOC := $(PACKAGE)-doc
INSTDIR := debian/$(PACKAGE)
# automatically keep track of api version
echo Ion:ApiVersion=$$((cat version.h; echo ION_API_VERSION) \
- | cpp -P | tail -1 | sed 's/"//g') >>debian/ion3-dev.substvars
+ | cpp -P | tail -1 | sed 's/"//g') >>debian/$(PACKAGE_DEV).substvars
dh_installchangelogs -i
dh_installdocs -i
# automatically keep track of api version
echo Ion:ApiVersion=$$((cat version.h; echo ION_API_VERSION) \
- | cpp -P | tail -1 | sed 's/"//g') >>debian/ion3.substvars
+ | cpp -P | tail -1 | sed 's/"//g') >>debian/$(PACKAGE).substvars
dh_installchangelogs -a
dh_installdocs -a
- rm -f $(INSTDIR)/usr/share/doc/ion3/LICENSE
- mv $(INSTDIR)/usr/share/doc/ion3/ChangeLog $(INSTDIR)/usr/share/doc/ion3/changelog
+ rm -f $(INSTDIR)/usr/share/doc/$(PACKAGE)/LICENSE
+ mv $(INSTDIR)/usr/share/doc/$(PACKAGE)/ChangeLog $(INSTDIR)/usr/share/doc/$(PACKAGE)/changelog
# dh_installexamples -a
# dh_install -a
dh_installmenu -a
- install -m644 debian/ion3.menu-method.i18n \
- $(INSTDIR)/etc/menu-methods/ion3-i18n
+ install -m644 debian/$(PACKAGE).menu-method.i18n \
+ $(INSTDIR)/etc/menu-methods/$(PACKAGE)-i18n
dh_installdebconf -a
# dh_installlogrotate -a
# dh_makeshlibs -a
dh_installdeb -a
sed -i 's/^DEBIAN_VERSION=/&$(DEBIAN_VERSION)/; s/^UPSTREAM_VERSION=/&$(UPSTREAM_VERSION)/' \
- debian/ion3/DEBIAN/postinst
+ $(INSTDIR)/DEBIAN/postinst
dh_shlibdeps -a
dh_gencontrol -a
dh_md5sums -a