Contents of /mcore-src/trunk/mcore-tools/src/modules/fluxbox/fluxbox-menuitem.in
Parent Directory | Revision Log
Revision 2858 -
(show annotations)
(download)
Wed Jul 15 06:38:15 2020 UTC (3 years, 9 months ago) by niro
File size: 1619 byte(s)
Wed Jul 15 06:38:15 2020 UTC (3 years, 9 months ago) by niro
File size: 1619 byte(s)
-always generate desktop icons if possible
1 | #!/bin/bash |
2 | |
3 | MCORE_LIBDIR="@@MCORE_LIBDIR@@" |
4 | source @@SYSCONFDIR@@/mcore/mcore.conf |
5 | source ${MCORE_LIBDIR}/include/common.global.class |
6 | |
7 | MENUCONFDIR="${MCORE_CONFIG_PATH}/fluxbox/menu" |
8 | |
9 | die() { echo "ERROR: $@"; exit 1; } |
10 | |
11 | # very basic getops |
12 | for argv in $* |
13 | do |
14 | case $1 in |
15 | --add|--del|--print) method="${1//--}" ;; |
16 | --name) shift; name="$1" ;; |
17 | --exec) shift; exec="$1" ;; |
18 | --workdir) shift; workdir="$1" ;; |
19 | --icon) shift; icon="$1" ;; |
20 | --comment) shift; comment="$1" ;; |
21 | esac |
22 | shift |
23 | done |
24 | |
25 | [[ -n ${method} ]] || die "No method given" |
26 | |
27 | case "${method}" in |
28 | add) |
29 | [[ -n ${name} ]] || die "No name given" |
30 | [[ -n ${exec} ]] || die "No exec given" |
31 | CONFIG="${MROOT}/${MENUCONFDIR}/${name}" |
32 | clearconfig |
33 | [[ -n ${comment} ]] && addconfig "# ${comment}" |
34 | addconfig "[exec] (${name}) {${exec}}" |
35 | |
36 | if [[ -n ${icon} ]] |
37 | then |
38 | if [[ -x ${MCORE_LIBDIR}/idesk-generate-icon-info ]] |
39 | then |
40 | # generate idesk desktop icon |
41 | ${MCORE_LIBDIR}/idesk-generate-icon-info --add --name "${name}" --command "${exec}" --icon "${icon}" |
42 | fi |
43 | fi |
44 | ;; |
45 | |
46 | del) |
47 | if [[ -n ${name} ]] |
48 | then |
49 | if [[ -f ${MROOT}/${MENUCONFDIR}/${name} ]] |
50 | then |
51 | rm ${MROOT}/${MENUCONFDIR}/"${name}" |
52 | fi |
53 | if [[ -x ${MCORE_LIBDIR}/idesk-generate-icon-info ]] |
54 | then |
55 | ${MCORE_LIBDIR}/idesk-generate-icon-info --del --name "${name}" |
56 | fi |
57 | else |
58 | # delete all items |
59 | find ${MROOT}/${MENUCONFDIR} -type f | xargs --no-run-if-empty rm |
60 | if [[ -x ${MCORE_LIBDIR}/idesk-generate-icon-info ]] |
61 | then |
62 | ${MCORE_LIBDIR}/idesk-generate-icon-info --del |
63 | fi |
64 | fi |
65 | ;; |
66 | |
67 | print) list_files_in_directory ${MROOT}/${MENUCONFDIR} ;; |
68 | esac |