1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
#!/usr/sbin/install-menu
# -*- mode: shell-script; -*-
#
# Written by Joey Hess (with subtle mods by joostje).
#
# This generates a pdmenurc file that can be preprocessed by cpp to enable
# different types of displays. For example, you can -Dx11 -Xtext to display
# only the text and x11 entries, and not the vc ones.
#
# More info: /usr/share/doc/menu/README, /usr/share/doc/pdmenu/README.Debian
# The verson of the menu package that can process this.
compat="menu-1"
# Include the local preferences, pdmenu only uses the defintion of title().
!include menu.h
# Filename of the pdmenurc file we will generate.
genmenu=".pdmenurc_auto.new"
# Where the system wide generated file is placed.
rootprefix="/var/lib/pdmenu/"
onlyrunasroot=true
# Title of the top level menu that is made.
mainmenutitle="Debian Menus"
# Don't ever use "q" as a hotkey in menus, becuase it is used to popdown
# submenus. Also, don't use "+", "2", "-" or "8" becuase they are used to
# navigate the menus.
hotkeyexclude="q+-28"
# Some text to go at the top of the autogenerated file.
preoutput="# Automatically generated pdmenurc file.\n# Do not edit (see /usr/share/doc/pdmenu/README.debian)\n\n"
# In what order we output the menus.
treewalk="c(m)"
# How to start a new menu in the rc file.
startmenu="menu:" esc($section,":") ":" esc(title(),":") "\n"
# How to add a submenu to a menu.
# Notice that thanks to cpp and some #defines, the submenu is only added if
# the submenu actually contains menu entries.
submenutitle=\
"#ifdef " cppesc($section) "\n" \
"#define " cppesc(parent($section)) "\n" \
" show:" esc(escfirst(title(),$hotkey,"_"),":") "..::" esc($section,":") "\n" \
"#endif\n"
# The supported display types, in order of preference.
supported
x11= "#ifdef x11\n" \
"#define " cppesc(parent($section)) "\n" \
" exec:" esc(escfirst(title(),$hotkey,"_"),":") ":noclear:" $command " >/dev/null 2>&1 &\n" \
"#endif\n"
vc= "#ifdef vc\n" \
"#define " cppesc(parent($section)) "\n" \
" exec:" esc(escfirst(title(),$hotkey,"_"),":") "::" $command "\n" \
"#endif\n"
text= "#ifdef text\n" \
"#define " cppesc(parent($section)) "\n" \
" exec:" esc(escfirst(title(),$hotkey,"_"),":") "::" $command "\n" \
"#endif\n"
endsupported
# Pdmenu doesn't need anything special at the end of a menu.
endmenu= "\n"
# Command to run at end. This overwrites the old menu file with the new one
# we just made.
postrun="mv -f " prefix() "/.pdmenurc_auto.new " prefix() "/.pdmenurc_auto 2>/dev/null"
|