fluxbox/util/fluxbox-generate_menu

681 lines
21 KiB
Text
Raw Normal View History

2002-09-07 18:57:35 +00:00
#!/bin/sh
2002-11-12 19:19:14 +00:00
#
2002-09-07 18:57:35 +00:00
# generate_menu for Fluxbox
2002-11-12 19:19:14 +00:00
#
# Copyright (c) 2002 Han Boetes <han@mijncomputer.nl>
2002-09-07 18:57:35 +00:00
#
# 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
2002-09-07 18:57:35 +00:00
# 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.
2002-11-12 19:19:14 +00:00
#
2002-12-16 11:34:06 +00:00
# $Id: fluxbox-generate_menu,v 1.19 2002/12/16 11:34:06 fluxgen Exp $
2002-09-07 18:57:35 +00:00
WHOAMI=`whoami`
[ "$WHOAMI" = "root" ] && PATH=/bin:/usr/bin/:/usr/local/bin:/usr/X11R6/bin
2002-10-19 14:34:08 +00:00
2002-09-07 18:57:35 +00:00
# Functions
2002-10-19 14:34:08 +00:00
display_usage() {
cat <<EOF
2002-09-07 18:57:35 +00:00
Usage: fluxbox-generate_menu [-kgr] [-t terminal] [-w browser]
2002-12-14 08:27:54 +00:00
[-m menu-title] [-p /path] [-n /path] [-q /path] [-o /path]
2002-10-19 14:34:08 +00:00
Options:
-k Insert a kde menu
-g Add a gnome menu
2002-12-14 23:58:13 +00:00
-B enable backgroundmenu
-m Menu-title; default is "Fluxbox"
2002-11-12 19:19:14 +00:00
-r Don't remove empty menu-entries; Better for templates.
-o Outputfile; default is ~/.fluxbox/menu
-t Favourite terminal
-b Favourite browser
-w Homepage for console-browsers. Default is fluxbox.org.
2002-12-14 23:58:13 +00:00
-h Display this help
-a Display the authors of this script
2002-10-19 14:34:08 +00:00
2002-11-12 19:19:14 +00:00
Only for packagers:
2002-10-22 09:26:45 +00:00
-p Package-datadir; default is /usr/share
-n Gnome-datadir; default is Package-datadir
-q KDE-datadir; default is Package-datadir
2002-10-19 14:34:08 +00:00
EOF
2002-09-07 18:57:35 +00:00
}
2002-10-19 14:34:08 +00:00
display_help() {
cat <<EOF
This program generates a menu-file for fluxbox.
Use fluxbox-generate_menu -h for brief usage instructions.
2002-10-19 14:34:08 +00:00
EOF
2002-09-07 18:57:35 +00:00
}
2002-10-19 14:34:08 +00:00
display_authors() {
cat <<EOF
fluxbox-generate_menu was brought to you by:
2002-11-04 11:38:51 +00:00
Henrik Kinnunen: Project leader.
Han Boetes: Packaging, debugging and scripts.
Jeramy B. Smith: Packaging assistance, gnome and kde menu system.
Filippo Pappalardo: Italian locales and -t option.
Simon Bowden: Cleanups and compatibility for sun.
$WHOAMI: Innocent bystander.
2002-11-04 11:38:51 +00:00
2002-10-19 14:34:08 +00:00
EOF
2002-09-07 18:57:35 +00:00
}
2002-10-19 14:34:08 +00:00
find_it() {
file=`which $1 2> /dev/null`
if [ -x "$file" ]; then
if [ $# -gt 1 ]; then
shift
$*
fi
return 0
else
return 1
fi
2002-10-19 08:53:40 +00:00
}
2002-09-07 18:57:35 +00:00
append() {
2002-12-14 23:58:13 +00:00
echo " $*" >> ${FILENAME}
2002-09-07 18:57:35 +00:00
}
append_menu() {
2002-10-19 14:34:08 +00:00
echo "$*" >> ${FILENAME}
2002-09-07 18:57:35 +00:00
}
append_submenu() {
2002-11-17 15:56:37 +00:00
# only an empty line in templates
[ "${REMOVE}" ] && echo >> ${FILENAME}
2002-10-19 14:34:08 +00:00
append_menu "[submenu] ($1)"
2002-09-07 18:57:35 +00:00
}
append_menu_end() {
2002-10-19 14:34:08 +00:00
append_menu "[end]"
2002-11-17 15:56:37 +00:00
# only an empty line in templates
[ "${REMOVE}" ] && echo >> ${FILENAME}
2002-09-07 18:57:35 +00:00
}
menu_entry() {
2002-12-14 08:27:54 +00:00
append "[exec] (`grep -v GenericName $* | grep Name= | cut -d = -f 2`) \
{`grep -v TryExec $* | grep Exec= | cut -d = -f 2`}"
2002-09-07 18:57:35 +00:00
}
menu_entry_dircheck() {
2002-10-19 14:34:08 +00:00
if [ -d "$*" ]; then
menu_entry_dir "$*"
2002-10-19 14:34:08 +00:00
fi
2002-09-07 18:57:35 +00:00
}
menu_entry_dir() {
2002-10-19 14:34:08 +00:00
for b in `ls "$*"/*.desktop 2>/dev/null `; do
menu_entry "${b}"
2002-10-19 14:34:08 +00:00
done
2002-09-07 18:57:35 +00:00
}
2002-11-04 11:38:51 +00:00
normal_find() {
while [ "$1" ]; do
find_it $1 append "[exec] ($1) {$1}"
shift
2002-11-04 11:38:51 +00:00
done
}
2002-11-12 19:19:14 +00:00
clean_up() {
# -e "/^$/d" -e "/^$/d"
cat ${FILENAME} | sed -e "/^\[submenu]/{
N
/^\[submenu].*\n\[end]/d
}" > ${FILENAME}.tmp
mv -f ${FILENAME}.tmp ${FILENAME}
}
2002-11-04 11:38:51 +00:00
2002-12-14 08:27:54 +00:00
# Save options for inclusion in menu
options="$@"
2002-09-07 18:57:35 +00:00
# Get options.
2002-12-14 23:58:13 +00:00
while getopts ":Bkhragb:t:p:w:n:q:o:m:" COMMAND_LINE_ARGUMENT ; do
case "${COMMAND_LINE_ARGUMENT}" in
2002-12-14 23:58:13 +00:00
B) BACKGROUNDMENUITEM=yes ;;
k) KDEMENU=yes ;;
g) GNOMEMENU=yes ;;
t) MY_TERM=${OPTARG};;
b) MY_BROWSER=${OPTARG};;
o) FILENAME=${OPTARG} ;;
p) PKGDATADIR=${OPTARG} ;;
n) GPKGDATADIR=${OPTARG} ;;
q) KPKGDATADIR=${OPTARG} ;;
m) MENUTITLE=${OPTARG} ;;
w) HOMEPAGE=${OPTARG} ;;
r) REMOVE=no ;;
h) display_usage ; exit 0 ;;
a) display_authors ; exit 0 ;;
*) display_help ; exit 1 ;;
esac
2002-09-07 18:57:35 +00:00
done
# Set Defaults
2002-10-24 09:33:42 +00:00
# menufile name
if [ -z "${FILENAME}" ]; then
2002-10-19 14:34:08 +00:00
FILENAME=${HOME}/.fluxbox/menu
2002-09-07 18:57:35 +00:00
fi
2002-10-22 09:26:45 +00:00
# Can we actually create ${FILENAME}
touch ${FILENAME} 2> /dev/null
if [ $? -ne 0 ] ; then
echo "Fatal error: can't create $FILENAME" >&2
2002-10-22 09:26:45 +00:00
exit 1
fi
2002-10-24 09:33:42 +00:00
# backup menu
if [ -w "${FILENAME}" ]; then
2002-11-12 19:19:14 +00:00
if [ -f ${FILENAME}.firstbak ];then
cp ${FILENAME} ${FILENAME}.firstbak
2002-11-12 19:19:14 +00:00
fi
2002-10-24 09:33:42 +00:00
mv ${FILENAME} ${FILENAME}.bak
2002-09-07 18:57:35 +00:00
fi
# default homepage for console-browsers
HOMEPAGE=${HOMEPAGE:=fluxbox.org}
2002-09-07 18:57:35 +00:00
#packagedatadir
2002-11-17 17:36:50 +00:00
if [ ! -d "${PKGDATADIR}" -o "${PKGDATADIR}" = "" ]; then
if [ "`uname`" = "Linux" ];then
PKGDATADIR=/usr/share
2002-11-12 19:19:14 +00:00
else
PKGDATADIR=/usr/local/share
2002-11-12 19:19:14 +00:00
fi
2002-09-07 18:57:35 +00:00
fi
2002-10-24 09:33:42 +00:00
#gnome packagedatadir
2002-11-17 17:36:50 +00:00
if [ ! -d "${GPKGDATADIR}" -o "${GPKGDATADIR}" = "" ]; then
2002-10-24 09:33:42 +00:00
GPKGDATADIR=${PKGDATADIR}
fi
#kde packagedatadir
2002-11-17 17:36:50 +00:00
if [ ! -d "${KPKGDATADIR}" -o "${KPKGDATADIR}" = "" ]; then
2002-10-24 09:33:42 +00:00
KPKGDATADIR=${PKGDATADIR}
fi
2002-09-07 18:57:35 +00:00
# menutitle
if [ -z "${MENUTITLE}" ]; then
2002-10-19 14:34:08 +00:00
MENUTITLE="Fluxbox"
2002-09-07 18:57:35 +00:00
fi
2002-10-19 14:34:08 +00:00
# find the default terminal
find_it $MY_TERM
if [ $? -ne 0 ];then
[ -n "$MY_TERM" ] && echo "Warning: you choose an invalid term." >&2
2002-10-19 14:34:08 +00:00
#The precise order is up for debate.
for term in Eterm aterm rxvt wterm xterm konsole gnome-terminal; do
if find_it $term; then
DEFAULT_TERM=$term
break
fi
2002-10-19 14:34:08 +00:00
done
2002-10-19 08:53:40 +00:00
else
2002-10-19 14:34:08 +00:00
DEFAULT_TERM=$MY_TERM
2002-10-19 08:53:40 +00:00
fi
2002-10-19 14:34:08 +00:00
2002-11-12 19:19:14 +00:00
# find the default browser
find_it $MY_BROWSER
if [ $? -ne 0 ];then
[ -n "$MY_BROWSER" ] && echo "Warning: you choose an invalid browser." >&2
2002-11-12 19:19:14 +00:00
#The precise order is up for debate.
for browser in opera phoenix mozilla galeon konqueror dillo netscape links w3m lynx; do
if find_it $browser; then
DEFAULT_BROWSER=$browser
break
fi
2002-11-12 19:19:14 +00:00
done
else
DEFAULT_BROWSER=$MY_BROWSER
fi
2002-10-19 14:34:08 +00:00
# a unix system without any terms. that's odd
if [ -z "$DEFAULT_TERM" ];then
cat <<EOF>&2
2002-12-14 08:27:54 +00:00
Warning: I can't find any terminal-emulators in your PATH.
Please fix your PATH or specify your favourite terminal with the -t option
2002-10-19 14:34:08 +00:00
EOF
fi
2002-09-07 18:57:35 +00:00
# menu defaults (if translation forget to set one of them)
2002-12-14 23:58:13 +00:00
BACKGROUNDMENU="Backgrounds"
BACKGROUNDMENUTITLE="Set the Background"
2002-09-07 18:57:35 +00:00
BROWSERMENU="Browsers"
2002-11-04 11:38:51 +00:00
CONFIGUREMENU="Configure"
2002-09-07 18:57:35 +00:00
EDITORMENU="Editors"
2002-11-04 11:38:51 +00:00
EXITITEM="Exit"
2002-09-07 18:57:35 +00:00
FBSETTINGSMENU="FB-Settings"
2002-11-04 11:38:51 +00:00
GAMESMENU="Games"
2002-09-07 18:57:35 +00:00
GNOMEMENUTEXT="Gnome-menus"
2002-11-04 11:38:51 +00:00
GRAPHICMENU="Graphics"
KDEMENUTEXT="KDE-menus"
MISCMENU="Misc"
MULTIMEDIAMENU="Multimedia"
MUSICMENU="Music"
NETMENU="Net"
OFFICEMENU="Office"
2002-09-07 18:57:35 +00:00
RELOADITEM="Reload config"
2002-11-04 11:38:51 +00:00
RESTARTITEM="Restart"
2002-12-16 11:10:44 +00:00
SYSTEMSTYLES="System Styles"
USERSTYLES="User Styles"
2002-09-07 18:57:35 +00:00
STYLEMENUTITLE="Choose a style..."
2002-11-04 11:38:51 +00:00
TERMINALMENU="Terminals"
2002-09-07 18:57:35 +00:00
WORKSPACEMENU="Workspace List"
2002-11-04 11:38:51 +00:00
XUTILSMENU="X-utils"
2002-09-07 18:57:35 +00:00
# Check translation
case ${LC_ALL} in
2002-12-14 08:27:54 +00:00
ru_RU*) #Russian locales
#OFFICEMENU="Office"
2002-12-14 23:58:13 +00:00
#BACKGROUNDMENU="Backgrounds"
#BACKGROUNDMENUTITLE="Set the Background"
BROWSERMENU="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
CONFIGUREMENU="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
EDITORMENU="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
EXITITEM="<22><><EFBFBD><EFBFBD><EFBFBD>"
FBSETTINGSMENU="FB-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
GNOMEMENUTEXT="Gnome-<2D><><EFBFBD><EFBFBD>"
GRAPHICMENU="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
KDEMENUTEXT="KDE-<2D><><EFBFBD><EFBFBD>"
MISCMENU="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
MUSICMENU="<22><><EFBFBD><EFBFBD>"
NETMENU="<22><><EFBFBD><EFBFBD>"
RELOADITEM="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
RESTARTITEM="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
2002-12-16 11:10:44 +00:00
SYSTEMSTYLES="<22><><EFBFBD><EFBFBD><EFBFBD>"
USERSTYLES="<22><><EFBFBD><EFBFBD><EFBFBD>"
STYLEMENUTITLE="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
TERMINALMENU="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
WORKSPACEMENU="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
XUTILSMENU="X-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
;;
2002-12-16 11:34:06 +00:00
de_DE*) # german locales
#OFFICEMENU="Bueroprogramme"
BROWSERMENU="Internet-Browser"
CONFIGUREMENU="Einstellungen"
EDITORMENU="Editoren"
EXITITEM="Beenden"
FBSETTINGSMENU="Fluxbox-Einstellungen"
GNOMEMENUTEXT="Gnome-Menues"
GRAPHICMENU="Grafik"
KDEMENUTEXT="Kde-Menues"
MISCMENU="Sonstiges"
MUSICMENU="Musik"
NETMENU="Netzwerk"
RELOADITEM="Konfiguration neu laden"
RESTARTITEM="Neustarten"
STYLEMENU="Stile"
STYLEMENUTITLE="Einen Stil auswaehlen..."
TERMINALMENU="Terminals"
WORKSPACEMENU="Arbeitsflaechenliste"
XUTILSMENU="X-Anwendungen"
;;
2002-12-14 08:27:54 +00:00
sv_SE*) #Swedish locales
#OFFICEMENU="Office"
2002-12-14 23:58:13 +00:00
#BACKGROUNDMENU="Backgrounds"
#BACKGROUNDMENUTITLE="Set the Background"
BROWSERMENU="Browsers"
CONFIGUREMENU="Konfiguration"
EDITORMENU="Editorer"
EXITITEM="Exit"
FBSETTINGSMENU="FB-inst<73>llningar"
GNOMEMENUTEXT="Gnome-menyer"
GRAPHICMENU="Grafik"
KDEMENUTEXT="KDE-menyer"
MISCMENU="Blandat"
MUSICMENU="Musik"
NETMENU="Net"
RELOADITEM="Ladda om konfig"
RESTARTITEM="Starta om"
2002-12-16 11:10:44 +00:00
SYSTEMSTYLES="Stiler"
USERSTYLES="Stiler"
STYLEMENUTITLE="V<>lj en stil"
TERMINALMENU="Terminaler"
WORKSPACEMENU="Arbetsytor"
XUTILSMENU="X-program"
;;
2002-12-14 08:27:54 +00:00
nl_NL*) #Nederlandse locales
#OFFICEMENU="Office"
2002-12-14 23:58:13 +00:00
#BACKGROUNDMENU="Achtergrond"
#BACKGROUNDMENUTITLE="Kies een achtergrond"
BROWSERMENU="Browsers"
CONFIGUREMENU="Instellingen"
EDITORMENU="Editors"
EXITITEM="Afsluiten"
FBSETTINGSMENU="FB-Instellingen"
GNOMEMENUTEXT="Gnome-menu"
GRAPHICMENU="Grafisch"
KDEMENUTEXT="KDE-menu"
MISCMENU="Onregelmatig"
MUSICMENU="Muziek"
NETMENU="Net"
2002-12-14 23:58:13 +00:00
RELOADITEM="Vernieuw instellingen"
RESTARTITEM="Restart"
2002-12-16 11:10:44 +00:00
SYSTEMSTYLES="Systeem Stylen"
USERSTYLES="Gebruikers Stylen"
2002-12-14 23:58:13 +00:00
STYLEMENUTITLE="Kies een styl"
TERMINALMENU="Terminals"
WORKSPACEMENU="Werkveld Lijst"
XUTILSMENU="X-utils"
;;
2002-12-14 08:27:54 +00:00
fi_FI*) #Finnish locales
#OFFICEMENU="Office"
2002-12-14 23:58:13 +00:00
#BACKGROUNDMENU="Backgrounds"
#BACKGROUNDMENUTITLE="Set the Background"
BROWSERMENU="Selaimet"
CONFIGUREMENU="Konfigurointi"
EDITORMENU="Editorit"
EXITITEM="Lopeta"
FBSETTINGSMENU="FB:n Asetukset"
GNOMEMENUTEXT="Gnomen valikot"
GRAPHICMENU="Grafiikka"
KDEMENUTEXT="KDE:n valikot"
MISCMENU="Sekalaista"
MUSICMENU="Musikki"
NETMENU="Verkko"
RELOADITEM="P<>ivit<69>"
RESTARTITEM="K<>ynnist<73> uudelleen"
2002-12-16 11:10:44 +00:00
SYSTEMSTYLES="Tyylit"
USERSTYLES="Tyylit"
STYLEMENUTITLE="Valitse tyyli"
TERMINALMENU="Terminaalit"
WORKSPACEMENU="Ty<54>aluet"
XUTILSMENU="X-Ohjelmat"
;;
2002-12-14 08:27:54 +00:00
ja_JP*) #Japanese locales
#OFFICEMENU="Office"
2002-12-14 23:58:13 +00:00
#BACKGROUNDMENU="Backgrounds"
#BACKGROUNDMENUTITLE="Set the Background"
BROWSERMENU="<22>֥饦<D6A5><E9A5A6>"
CONFIGUREMENU="<22><><EFBFBD><EFBFBD>"
EDITORMENU="<22><><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD>"
EXITITEM="<22><>λ"
FBSETTINGSMENU="Fluxbox<6F><78><EFBFBD><EFBFBD>"
GNOMEMENUTEXT="Gnome<6D><65><EFBFBD>˥塼"
GRAPHICMENU="<22><><EFBFBD><EFBFBD>"
KDEMENUTEXT="KDE<44><45><EFBFBD>˥塼"
MISCMENU="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
MUSICMENU="<22><><EFBFBD><EFBFBD>"
NETMENU="<22>ͥåȥ<C8A5><EFA1BC>"
RELOADITEM="<22><><EFBFBD>ɤ߹<C9A4><DFB9><EFBFBD>"
RESTARTITEM="<22>Ƶ<EFBFBD>ư"
2002-12-16 11:10:44 +00:00
SYSTEMSTYLES="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
USERSTYLES="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
STYLEMENUTITLE="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..."
TERMINALMENU="<22><><EFBFBD><EFBFBD><EFBFBD>ߥʥ<DFA5>"
WORKSPACEMENU="<22><EFBFBD><EFA1BC><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD>"
XUTILSMENU="X<><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ƥ<EFBFBD>"
;;
2002-12-14 08:27:54 +00:00
fr_FR*) # french locales
#OFFICEMENU="Office"
2002-12-14 23:58:13 +00:00
#BACKGROUNDMENU="Backgrounds"
#BACKGROUNDMENUTITLE="Set the Background"
BROWSERMENU="Navigateurs"
CONFIGUREMENU="Configurer"
EDITORMENU="Editeurs"
EXITITEM="Sortir"
FBSETTINGSMENU="FB-Settings"
GNOMEMENUTEXT="menus-Gnome"
GRAPHICMENU="Graphisme"
KDEMENUTEXT="menus-KDE"
MISCMENU="Misc"
MUSICMENU="Musique"
NETMENU="Net"
RELOADITEM="Recharger config"
RESTARTITEM="Red<65>marrer"
2002-12-16 11:10:44 +00:00
SYSTEMSTYLES="Styles de la Systeme"
USERSTYLES="Styles"
STYLEMENUTITLE="Choisir un style..."
TERMINALMENU="Terminaux"
WORKSPACEMENU="Liste des bureaux"
XUTILSMENU="X-utils"
;;
2002-12-14 08:27:54 +00:00
it_IT*) # italian locales
#OFFICEMENU="Office"
2002-12-14 23:58:13 +00:00
#BACKGROUNDMENU="Backgrounds"
#BACKGROUNDMENUTITLE="Set the Background"
BROWSERMENU="Browsers"
CONFIGUREMENU="Configurazione"
EDITORMENU="Editori"
EXITITEM="Esci"
FBSETTINGSMENU="Preferenze"
GAMESMENU="Giochi"
GNOMEMENUTEXT="Gnome"
GRAPHICMENU="Grafica"
KDEMENUTEXT="KDE"
MISCMENU="Varie"
MUSICMENU="Musica"
NETMENU="Internet"
RELOADITEM="Rileggi la configurazione"
RESTARTITEM="Riavvia"
2002-12-16 11:10:44 +00:00
SYSTEMSTYLES="Stile"
USERSTYLES="Stile"
STYLEMENUTITLE="Scegli uno stile"
TERMINALMENU="Terminali"
WORKSPACEMENU="Aree di lavoro"
XUTILSMENU="X-utils"
;;
*)
;;
2002-09-07 18:57:35 +00:00
esac
# Start of menu
echo "[begin] (${MENUTITLE})" > ${FILENAME}
2002-11-04 11:38:51 +00:00
append "[exec] (${DEFAULT_TERM}) {${DEFAULT_TERM}}"
2002-09-07 18:57:35 +00:00
2002-11-12 19:19:14 +00:00
case "$DEFAULT_BROWSER" in
links|w3m|lynx) append "[exec] (${DEFAULT_BROWSER}) {${DEFAULT_TERM} -e ${DEFAULT_BROWSER} ${HOMEPAGE}}" ;;
2002-11-12 19:19:14 +00:00
mozilla|phoenix|galeon|dillo|netscape) append "[exec] (${DEFAULT_BROWSER}) {${DEFAULT_BROWSER}}" ;;
konqueror) append "[exec] (konqueror) {kfmclient openProfile webbrowsing}" ;;
opera) append "[exec] (opera) {env QT_XFT=true opera}" ;;
esac
2002-09-07 18:57:35 +00:00
find_it fbrun append "[exec] (Run) {fbrun}"
2002-09-07 18:57:35 +00:00
2002-11-04 11:38:51 +00:00
2002-11-12 19:19:14 +00:00
append_submenu ${TERMINALMENU}
normal_find xterm gnome-terminal Eterm konsole aterm rxvt
2002-09-07 18:57:35 +00:00
append_menu_end
2002-11-12 19:19:14 +00:00
append_submenu ${NETMENU}
append_submenu ${BROWSERMENU}
normal_find netscape galeon mozilla dillo
find_it opera append "[exec] (opera) {env QT_XFT=true opera}"
find_it konqueror append "[exec] (konqueror) {kfmclient openProfile webbrowsing}"
find_it links append "[exec] (links) {${DEFAULT_TERM} -e links ${HOMEPAGE}}"
find_it w3m append "[exec] (w3m) {${DEFAULT_TERM} -e w3m ${HOMEPAGE}}"
find_it lynx append "[exec] (lynx) {${DEFAULT_TERM} -e lynx ${HOMEPAGE}}"
2002-11-12 19:19:14 +00:00
append_menu_end
2002-11-17 15:56:37 +00:00
2002-11-12 19:19:14 +00:00
append_submenu IM
2002-11-17 15:56:37 +00:00
normal_find gaim kopete gnomemeeting
find_it licq append "[exec] (licq) {env QT_XFT=true licq}"
2002-11-12 19:19:14 +00:00
append_menu_end
append_submenu Mail
2002-11-17 15:56:37 +00:00
normal_find sylpheed kmail evolution
find_it mutt append "[exec] (mutt) {${DEFAULT_TERM} -e mutt}"
2002-11-12 19:19:14 +00:00
append_menu_end
append_submenu IRC
2002-11-17 15:56:37 +00:00
normal_find xchat
find_it irssi append "[exec] (irssi) {${DEFAULT_TERM} -e irssi}"
find_it BitchX append "[exec] (BitchX) {${DEFAULT_TERM} -e BitchX -N}"
2002-11-12 19:19:14 +00:00
[ $? -ne 0 ] && \
find_it bitchx append "[exec] (BitchX) {${DEFAULT_TERM} -e bitchx -N}"
find_it ircii append "[exec] (ircii) {${DEFAULT_TERM} -e ircii -s}"
2002-11-12 19:19:14 +00:00
append_menu_end
normal_find gftp pan
2002-09-07 18:57:35 +00:00
append_menu_end
2002-11-12 19:19:14 +00:00
append_submenu ${EDITORMENU}
normal_find nedit gvim xemacs emacs gedit xedit kword kwrite kate
2002-09-07 18:57:35 +00:00
append_menu_end
2002-11-04 11:38:51 +00:00
append_submenu ${MULTIMEDIAMENU}
append_submenu ${GRAPHICMENU}
normal_find gimp xv gqview xpaint kpaint kiconedit xscreensaver-demo
find_it gears append "[exec] (Mesa gears) {gears}"
find_it morph3d append "[exec] (Mesa morph) {morph3d}"
find_it reflect append "[exec] (Mesa reflect) {reflect}"
2002-11-04 11:38:51 +00:00
append_menu_end
append_submenu ${MUSICMENU}
normal_find xmms gqmpeg xmixer gmix kmix grecord \
kmidi xplaycd soundtracker grip easytag
2002-11-04 11:38:51 +00:00
find_it cplay append "[exec] (cplay) {${DEFAULT_TERM} -e cplay}"
append_menu_end
append_submenu ${MISCMENU}
2002-11-17 15:56:37 +00:00
normal_find xine aviplay gtv gmplayer xmovie xcdroast xgdb ddd realplay
find_it dvdrip append "[exec] (dvdrip) {nohup dvdrip}"
2002-11-04 11:38:51 +00:00
append_menu_end
append_submenu ${XUTILSMENU}
2002-11-17 15:56:37 +00:00
normal_find xfontsel xman xload xfigxbiff editres viewres xclock
2002-11-04 11:38:51 +00:00
append_menu_end
2002-09-07 18:57:35 +00:00
append_menu_end
2002-11-04 11:38:51 +00:00
append_submenu ${OFFICEMENU}
2002-11-17 15:56:37 +00:00
normal_find xclock xcalc kcalc
find_it gcalc append "[exec] (gcalc) {gcalc}"
2002-11-04 11:38:51 +00:00
[ $? -ne 0 ] && \
find_it gnome-calculator append "[exec] (gcalc) {gnome-calculator}"
2002-11-04 11:38:51 +00:00
find_it ooffice append "[exec] (Open Office) {ooffice}"
find_it soffice append "[exec] (Star Office) {soffice}"
normal_find abiword kword wordperfect katoob acroread xpdf
2002-09-07 18:57:35 +00:00
append_menu_end
2002-11-12 19:19:14 +00:00
append_submenu ${GAMESMENU}
normal_find bzflag gnibbles gnobots2 tuxpuck gataxx glines \
gnect mahjongg gnomine gnome-stones gnometris gnotravex \
gnotski iagno knights same-gnome xboard freecell pysol \
gtali tuxracer xpenguins xsnow xeyes xpenguins \
quake2 quake3
2002-11-12 19:19:14 +00:00
append_menu_end
2002-11-04 11:38:51 +00:00
2002-09-07 18:57:35 +00:00
# gnome menu
2002-10-24 09:33:42 +00:00
if [ -d ${GPKGDATADIR}/gnome/apps -a "${GNOMEMENU}" ]; then
2002-10-19 14:34:08 +00:00
append_submenu ${GNOMEMENUTEXT}
2002-11-17 15:56:37 +00:00
for a in `ls ${GPKGDATADIR}/gnome/apps/` ; do
if [ -d ${GPKGDATADIR}/gnome/apps/"${a}" ] ; then
append_submenu "${a}"
menu_entry_dir "${GPKGDATADIR}/gnome/apps/${a}"
menu_entry_dircheck "/etc/X11/applnk/${a}"
append_menu_end
fi
2002-10-19 14:34:08 +00:00
done
append_menu_end
2002-09-07 18:57:35 +00:00
fi
# kde submenu
2002-10-24 09:33:42 +00:00
if [ -d ${KPKGDATADIR}/applnk/ -a "${KDEMENU}" ]; then
2002-10-19 14:34:08 +00:00
append_submenu ${KDEMENUTEXT}
2002-11-17 15:56:37 +00:00
for a in `ls ${KPKGDATADIR}/applnk/` ; do
if [ -d ${KPKGDATADIR}/applnk/"${a}" ]; then
append_submenu "${a}"
for x in ${KPKGDATADIR}/applnk/"${a}"/*; do
if [ -d ${KPKGDATADIR}/applnk/"${a}"/"${x}" ]; then
append_submenu "${x}"
menu_entry_dir ${KPKGDATADIR}/applnk/"${a}"/"${x}"
append_menu_end
fi
done
menu_entry_dir ${KPKGDATADIR}/applnk/"${a}"
append_menu_end
fi
2002-10-19 14:34:08 +00:00
done
2002-10-24 09:33:42 +00:00
menu_entry_dir ${KPKGDATADIR}/applnk/
2002-10-19 14:34:08 +00:00
append_menu_end
2002-09-07 18:57:35 +00:00
fi
2002-11-12 19:19:14 +00:00
# append_submenu ${FBSETTINGSMENU}
append_submenu Fluxbox-menu
append "[config] (${CONFIGUREMENU})"
2002-11-12 19:19:14 +00:00
2002-12-16 11:10:44 +00:00
append_menu "[submenu] (${SYSTEMSTYLES}) {${STYLEMENUTITLE}}"
append "[stylesdir] (${PKGDATADIR}/fluxbox/styles)"
2002-12-16 11:10:44 +00:00
append_menu_end
append_menu "[submenu] (${USERSTYLES}) {${STYLEMENUTITLE}}"
append "[stylesdir] (~/.fluxbox/styles)"
append_menu_end
2002-09-07 18:57:35 +00:00
2002-12-16 11:10:44 +00:00
if [ "$BACKGROUNDMENUITEM" = "yes" ];then
2002-12-14 23:58:13 +00:00
append_menu "[submenu] (${BACKGROUNDMENU}) {${BACKGROUNDMENUTITLE}}"
for i in ~/.fluxbox/backgrounds/* ; do
append "[exec] (`basename "$i"`) {bsetbg -f $i }"
done
append_menu_end
fi
append "[workspaces] (${WORKSPACEMENU})"
2002-09-07 18:57:35 +00:00
append_submenu Tools
find_it fluxconf append "[exec] (FluxConf) {fluxconf}"
find_it fluxkeys append "[exec] (FluxKeys) {fluxkeys}"
find_it fluxmenu append "[exec] (FluxMenu) {fluxmenu}"
# if gxmessage exitst use it; else use xmessage
2002-12-14 08:27:54 +00:00
find_it gxmessage append \
"[exec] (Windowname) {xprop|grep WM_CLASS|cut -d \\\" -f 2|gxmessage -file - -center}"
[ $? -ne 0 ] && \
2002-12-14 08:27:54 +00:00
find_it xmessage append \
"[exec] (Windowname) {xprop|grep WM_CLASS|cut -d \\\" -f 2|xmessage -file - -center}"
2002-11-12 19:19:14 +00:00
find_it fbrun append "[exec] (Run) {fbrun}"
2002-12-14 23:58:13 +00:00
find_it fluxbox-generate_menu append "[exec] (Regen menu) {fluxbox-generate_menu $options}"
append_menu_end
2002-09-21 13:32:26 +00:00
append "[reconfig] (${RELOADITEM})"
2002-11-12 19:19:14 +00:00
append "[restart] (${RESTARTITEM})"
append "[exit] (${EXITITEM})"
2002-09-07 18:57:35 +00:00
append_menu_end
2002-09-07 18:57:35 +00:00
append_menu_end
2002-11-12 19:19:14 +00:00
# this function removes empty menu items. It can not yet remove nested
# empty submenus :\
if [ ! "${REMOVE}" ];then
2002-11-12 19:19:14 +00:00
clean_up
fi
2002-12-14 08:27:54 +00:00
echo "Menu succesfully generated."