Each package containing a menu manager (i.e. a program that can
display a menu) should provide a script or program in
/etc/menu-methods/ that can read the menu files. This script will
be executed by update-menus
, which will feed the menu entries to
be installed to your script via standard input (stdin).
The scripts in /etc/menu-methods/ should be configuration files, so the user can tune the behaviour of the script. for the same reason they must always include the /etc/menu-methods/menu.h configuration file at the beginning with the command !include menu.h
Good examples for these scripts for nearly all debian window managers are included in the menu package in /usr/share/doc/menu/examples. Note that while working on your script, you can use the tricks described in "The internals of the Menu package", section "The update-menus program", to run just your script, instead of having update-menus run all scripts (can save quite a lot of time).
Run update-menus
(if it exists) in your postinst
script, and remove the execute bit from the /etc/menu-methods/
script in the postrm when called with option ``remove.'' The
wm-menu-config script is provided to make all this easier:
Here is an example of such a postrm script using sh
:
#!/bin/sh set -e wm=twm #or pdmenu, fvwm, ... whatever manager you're installing case "$1" in remove) if test -x /usr/sbin/wm-menu-config; then wm-menu-config $wm off;fi ;; purge) #remove the files that install-menu creates: (cd /etc/X11/twm/; rm system.twmrc menus.dat menudefs.hook) ;; upgrade);; *) echo "postrm called with unknown argument \`$1'" >&2 exit 0 ;; esac
And here is a good example for a postinst script:
#!/bin/sh set -e wm=pdmenu #or fvwm, ... whatever manager you're installing if test -x /usr/sbin/wm-menu-config; then wm-menu-config $wm on;fi
Please, do not make your package depend on the menu package! The preferred way of telling dpkg that your wm can cooperate with menu is:
Suggests: menu (>1.5)
Please only consider using "depends" if you feel providing reasonable defaults for systems without menu will make life very difficult for you.
Debian Menu System
version 1.3, 11 avril 2003joostje@debian.org
joeyh@debian.org
schwarz@debian.org