File: menu-method

package info (click to toggle)
pdmenu 1.2.69
  • links: PTS
  • area: main
  • in suites: woody
  • size: 652 kB
  • ctags: 254
  • sloc: ansic: 2,012; sh: 297; perl: 75; makefile: 63
file content (72 lines) | stat: -rw-r--r-- 2,492 bytes parent folder | download | duplicates (2)
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"