--- alx-src/trunk/alxconfig-ng/functions/config_sessions.sh 2005/04/28 23:01:34 273 +++ alx-src/trunk/alxconfig-ng/functions/config_sessions.sh 2005/08/03 17:56:57 277 @@ -1,4 +1,4 @@ -# $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_sessions.sh,v 1.8 2005-04-28 23:01:34 niro Exp $ +# $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_sessions.sh,v 1.9 2005-08-03 17:56:57 niro Exp $ # configures ica-sessions on the host via mysql db settings get_sessions_settings() @@ -121,6 +121,52 @@ done } +get_other_menuitems() +{ + local x i count name exec icon workdir + + #all arrays: + # -> session1 session2 ... sessionN + + #get settings from database + count=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ + "select name from cfg_other_menuitems where serial='${ALX_SERIAL}'") + + # get all instances and put them into an array + if [ -n "${count}" ] + then + for x in ${count} + do + # to be sure + unset name + unset exec + unset workdir + unset icon + + name=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ + "select name from cfg_other_menuitems where serial='${ALX_SERIAL}' and name='${x}'") + + exec=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ + "select exec from cfg_other_menuitems where serial='${ALX_SERIAL}' and name='${x}'") + + workdir=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ + "select workdir from cfg_other_menuitems where serial='${ALX_SERIAL}' and name='${x}'") + + icon=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ + "select icon from cfg_other_menuitems where serial='${ALX_SERIAL}' and name='${x}'") + + # debug only + #echo "DEBUG: ${x}: name:'${name}' exec:'${exec}' workdir:'${workdir}' ic$ + + # now echo config line for fluxbox-menu + # make it "configureable" :P + [ -n "${workdir}" ] && workdir="cd ${workdir};" + [ -n "${icon}" ] && icon="[${icon}]" + echo "[exec] (${name}) {${workdir}${exec}} ${icon}" + done + fi +} + config_sessions() { # generate ica session files @@ -180,10 +226,14 @@ # fluxbox menu sessions for (( i=0; i < count; i++ )) do - echo "[exec] ($(basename ${ALX_SESSIONS[${i}]} .ica)) {wfica ${ALX_ICA_SESSIONS}/${ALX_SESSIONS[${i}]}}" \ - >> ${ALX_UNPRIV_HOME}/.fluxbox/menu + [ -n "${ALX_SESSIONS[${i}]}" ] && \ + echo "[exec] ($(basename ${ALX_SESSIONS[${i}]} .ica)) {wfica ${ALX_ICA_SESSIONS}/${ALX_SESSIONS[${i}]}}" \ + >> ${ALX_UNPRIV_HOME}/.fluxbox/menu done + # add other menuitems + get_other_menuitems >> ${ALX_UNPRIV_HOME}/.fluxbox/menu + # fluxbox menu footer cat ${ALX_SKELETONS}/fluxbox/menu.footer \ >> ${ALX_UNPRIV_HOME}/.fluxbox/menu