Magellan Linux

Diff of /alx-src/branches/alxconf-060/functions/config_sessions.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2495 by niro, Thu Jun 30 11:25:44 2011 UTC revision 6759 by niro, Fri Jul 17 07:38:49 2015 UTC
# Line 59  generate_ica_session_file() Line 59  generate_ica_session_file()
59   # the first address must be named TcpBrowserAddress, but not TcpBrowserAddress1 !!   # the first address must be named TcpBrowserAddress, but not TcpBrowserAddress1 !!
60   [[ ${i} -eq 1 ]] && num=""   [[ ${i} -eq 1 ]] && num=""
61   addconfig "TcpBrowserAddress${num}=${server}"   addconfig "TcpBrowserAddress${num}=${server}"
62     addconfig "HttpBrowserAddress${num}=${server}"
63   done   done
64    
65   addconfig 'ScreenPercent=0'   addconfig 'ScreenPercent=0'
# Line 78  generate_ica_session_file() Line 79  generate_ica_session_file()
79   addconfig "DesiredColor=${ses_colors}"   addconfig "DesiredColor=${ses_colors}"
80   addconfig 'TransportDriver=TCP/IP'   addconfig 'TransportDriver=TCP/IP'
81   addconfig 'WinStationDriver=ICA 3.0'   addconfig 'WinStationDriver=ICA 3.0'
82   addconfig "ClearPassword=${ses__password}"   addconfig "ClearPassword=${ses_password}"
83   addconfig "Username=${ses_username}"   addconfig "Username=${ses_username}"
84   addconfig "Domain=${ses_domain}"   addconfig "Domain=${ses_domain}"
85   addconfig 'UseFullScreen=Yes'   addconfig 'UseFullScreen=Yes'
# Line 195  generate_all_desktop_icons() Line 196  generate_all_desktop_icons()
196  {  {
197   local session_list="$1"   local session_list="$1"
198   local other_menuitem_list="$2"   local other_menuitem_list="$2"
199     local plugin_list="$3"
200   local res   local res
201   local xres   local xres
202   local yres   local yres
# Line 262  generate_all_desktop_icons() Line 264  generate_all_desktop_icons()
264    
265   generate_icon \   generate_icon \
266   --name "${cfg_sessions_session}" \   --name "${cfg_sessions_session}" \
267   --command "nice -n 19 wfica ${ALX_ICA_SESSIONS}/$(fix_whitespaces ${cfg_sessions_filename})" \   --command "wfica-launcher ${ALX_ICA_SESSIONS}/$(fix_whitespaces ${cfg_sessions_filename})" \
268   --icon "${ALX_SESSIONS_ICONS}/$(fix_whitespaces ${cfg_sessions_session}).png" \   --icon "${ALX_SESSIONS_ICONS}/$(fix_whitespaces ${cfg_sessions_session}).png" \
269   --dest "${dest}/$(fix_whitespaces ${cfg_sessions_session}).lnk" \   --dest "${dest}/$(fix_whitespaces ${cfg_sessions_session}).lnk" \
270   --xres "${x}" \   --xres "${x}" \
# Line 299  generate_all_desktop_icons() Line 301  generate_all_desktop_icons()
301   generate_icon \   generate_icon \
302   --name "${cfg_other_menuitems_name}" \   --name "${cfg_other_menuitems_name}" \
303   --command "${progsh_path}/$(fix_whitespaces ${cfg_other_menuitems_name})" \   --command "${progsh_path}/$(fix_whitespaces ${cfg_other_menuitems_name})" \
304   --icon "${ALX_SESSIONS_ICONS}/$(fix_whitespaces ${cfg_other_menuitems_name}).png" \   --icon "${ALX_SESSIONS_ICONS}/$(fix_whitespaces ${cfg_other_menuitems_icon}).png" \
305   --dest "${dest}/$(fix_whitespaces ${cfg_other_menuitems_name}).lnk" \   --dest "${dest}/$(fix_whitespaces ${cfg_other_menuitems_name}).lnk" \
306   --xres "${x}" \   --xres "${x}" \
307   --yres "${y}" \   --yres "${y}" \
# Line 307  generate_all_desktop_icons() Line 309  generate_all_desktop_icons()
309    
310   y=$((${y} + 80))   y=$((${y} + 80))
311   done   done
312    
313     for i in ${plugin_list}
314     do
315     # abort if empty
316     [[ -z ${i} ]] && continue
317    
318     evaluate_table cfg_plugins "where serial='${ALX_SERIAL}' and id='${i}'"
319     if [[ -x ${ALX_PLUGINS}/${cfg_plugins_plugin}/plugin.sh ]]
320     then
321     eval $(${ALX_PLUGINS}/${cfg_plugins_plugin}/plugin.sh menuitem)
322    
323     # abort if name or exec is empty
324     [[ -z ${PLUGIN_MENUITEM_NAME} ]] && continue
325     [[ -z ${PLUGIN_MENUITEM_EXEC} ]] && continue
326    
327     # new line if x > xres
328     if [ ${x} -ge ${xres} ]
329     then
330     x=50
331     y=$((${y} + 80))
332     fi
333    
334     # new row if y > yres
335     if [ ${y} -ge ${yres} ]
336     then
337     x=$((${x} + 120))
338     y=50
339    
340     # re-check x
341     [ ${x} -ge ${xres} ] && x=50
342     fi
343    
344     generate_icon \
345     --name "${PLUGIN_MENUITEM_NAME}" \
346     --command "${progsh_path}/$(fix_whitespaces ${PLUGIN_MENUITEM_NAME})" \
347     --icon "${ALX_SESSIONS_ICONS}/$(fix_whitespaces ${PLUGIN_MENUITEM_NAME}).png" \
348     --dest "${dest}/$(fix_whitespaces ${PLUGIN_MENUITEM_NAME}).lnk" \
349     --xres "${x}" \
350     --yres "${y}" \
351     --default-icon "default_item.png"
352    
353     y=$((${y} + 80))
354     fi
355    
356     # unset all variables
357     unset PLUGIN_MENUITEM_NAME
358     unset PLUGIN_MENUITEM_EXEC
359     unset PLUGIN_MENUITEM_PARAM
360     unset PLUGIN_MENUITEM_WORKDIR
361     unset PLUGIN_MENUITEM_ICON
362     done
363    
364   # add shutdown, reboot icons   # add shutdown, reboot icons
365   for i in shutdown reboot   for i in shutdown reboot
# Line 339  generate_all_desktop_icons() Line 392  generate_all_desktop_icons()
392   --icon "${ALX_SESSIONS_ICONS}/${i}.png" \   --icon "${ALX_SESSIONS_ICONS}/${i}.png" \
393   --dest "${dest}/${i}.lnk" \   --dest "${dest}/${i}.lnk" \
394   --xres "${x}" \   --xres "${x}" \
395   --yres "${y}"   --yres "${y}" \
396     --icon-width "40" \
397     --icon-height "40"
398    
399   y=$((${y} + 80))   y=$((${y} + 80))
400   done   done
# Line 382  config_sessions() Line 437  config_sessions()
437   local screensaver_passwd_cmd   local screensaver_passwd_cmd
438   local fbinit   local fbinit
439   local fbkeys   local fbkeys
440     local progsh_path
441    
442     progsh_path="${ALX_UNPRIV_HOME}/.alxprogs"
443    
444   # get all session ids from database   # get all session ids from database
445   all_ses_ids=$(mysqldo "select id from cfg_sessions where serial='${ALX_SERIAL}'")   all_ses_ids=$(mysqldo "select id from cfg_sessions where serial='${ALX_SERIAL}'")
446   # get all other_menutiem ids from database   # get all other_menuitem ids from database
447   all_other_ids=$(mysqldo "select id from cfg_other_menuitems where serial='${ALX_SERIAL}'")   all_other_ids=$(mysqldo "select id from cfg_other_menuitems where serial='${ALX_SERIAL}'")
448     # get all plugin ids from database
449     all_plugin_ids=$(mysqldo "select id from cfg_plugins where serial='${ALX_SERIAL}'")
450    
451   # get screensaver settings   # get screensaver settings
452   evaluate_table cfg_screensaver   evaluate_table cfg_screensaver
# Line 439  config_sessions() Line 499  config_sessions()
499   addconfig "[startup] {nohup xautolock -time ${cfg_screensaver_timeout} -locker 'xlock -mode ${cfg_screensaver_screensaver} ${screensaver_passwd_cmd}' > /dev/null &}"   addconfig "[startup] {nohup xautolock -time ${cfg_screensaver_timeout} -locker 'xlock -mode ${cfg_screensaver_screensaver} ${screensaver_passwd_cmd}' > /dev/null &}"
500   fi   fi
501    
502     # add plugins autostart
503     for i in ${all_plugin_ids}
504     do
505     evaluate_table cfg_plugins "where serial='${ALX_SERIAL}' and id='${i}'"
506     if [[ -x ${ALX_PLUGINS}/${cfg_plugins_plugin}/plugin.sh ]]
507     then
508     eval $(${ALX_PLUGINS}/${cfg_plugins_plugin}/plugin.sh autostart)
509    
510     if [[ ${PLUGIN_AUTOSTART} = 1 ]]
511     then
512     addconfig "[startup] {${progsh_path}/$(fix_whitespaces ${PLUGIN_MENUITEM_NAME}) &}"
513     fi
514     # unset all variables
515     unset PLUGIN_AUTOSTART
516     unset PLUGIN_MENUITEM_NAME
517     fi
518     done
519    
520   # add autostart session   # add autostart session
521   if [[ ! -z ${cfg_autostart_session} ]]   if [[ ! -z ${cfg_autostart_session} ]]
522   then   then
523   # sleep one second to wait until busybox is fully initialized and the screen is really centered   # sleep one second to wait until busybox is fully initialized and the screen is really centered
524   addconfig "[startup] {sleep 1 && nohup nice -n 19 wfica ${ALX_ICA_SESSIONS}/$(fix_whitespaces ${cfg_autostart_session}) &}"   addconfig "[startup] {sleep 1 && wfica-launcher ${ALX_ICA_SESSIONS}/$(fix_whitespaces ${cfg_autostart_session}) &}"
525   fi   fi
526    
527   # fluxbox hotkeys   # fluxbox hotkeys
# Line 481  config_sessions() Line 559  config_sessions()
559   --colordepth "${cfg_graphic_depth}"   --colordepth "${cfg_graphic_depth}"
560    
561   # fluxbox menusession   # fluxbox menusession
562   addconfig "[exec] (${cfg_sessions_session}) {nice -n 19 wfica ${ALX_ICA_SESSIONS}/$(fix_whitespaces ${cfg_sessions_filename})}"   addconfig "[exec] (${cfg_sessions_session}) {wfica-launcher ${ALX_ICA_SESSIONS}/$(fix_whitespaces ${cfg_sessions_filename})}"
563   done   done
564    
565   # delete all progs   # delete all progs
  progsh_path="${ALX_UNPRIV_HOME}/.alxprogs"  
566   [ -d ${progsh_path} ] && rm -rf ${progsh_path}   [ -d ${progsh_path} ] && rm -rf ${progsh_path}
567   install -d ${progsh_path}   install -d ${progsh_path}
568    
# Line 516  config_sessions() Line 593  config_sessions()
593   addconfig "[exec] (${cfg_other_menuitems_name}) {${progsh_path}/$(fix_whitespaces ${cfg_other_menuitems_name})} ${cfg_other_menuitems_icon}"   addconfig "[exec] (${cfg_other_menuitems_name}) {${progsh_path}/$(fix_whitespaces ${cfg_other_menuitems_name})} ${cfg_other_menuitems_icon}"
594   done   done
595    
596     # add plugins
597     for i in ${all_plugin_ids}
598     do
599     evaluate_table cfg_plugins "where serial='${ALX_SERIAL}' and id='${i}'"
600     if [[ -x ${ALX_PLUGINS}/${cfg_plugins_plugin}/plugin.sh ]]
601     then
602     eval $(${ALX_PLUGINS}/${cfg_plugins_plugin}/plugin.sh menuitem)
603    
604     # abort if name or exec is empty
605     [[ -z ${PLUGIN_MENUITEM_NAME} ]] && continue
606     [[ -z ${PLUGIN_MENUITEM_EXEC} ]] && continue
607    
608     # now echo config line for fluxbox-menu
609     # make it "configureable" :p
610     if [[ -n ${PLUGIN_MENUITEM_WORKDIR} ]]
611     then
612     workdir="--workdir ${PLUGIN_MENUITEM_WORKDIR}"
613     fi
614     if [[ -n ${PLUGIN_MENUITEM_ICON} ]]
615     then
616     PLUGIN_MENUITEM_ICON="<${PLUGIN_MENUITEM_ICON}>"
617     fi
618    
619     # gen prog startup wrapper
620     generate_program_sh \
621     --name "${PLUGIN_MENUITEM_NAME}" \
622     --exec "${PLUGIN_MENUITEM_EXEC}" \
623     --param "${PLUGIN_MENUITEM_PARAM}" \
624     --dest "${progsh_path}/$(fix_whitespaces ${PLUGIN_MENUITEM_NAME})" \
625     "${workdir}"
626    
627     addconfig "[exec] (${PLUGIN_MENUITEM_NAME}) {${progsh_path}/$(fix_whitespaces ${PLUGIN_MENUITEM_NAME})} ${PLUGIN_MENUITEM_ICON}"
628     fi
629    
630     # unset all variables
631     unset PLUGIN_MENUITEM_NAME
632     unset PLUGIN_MENUITEM_EXEC
633     unset PLUGIN_MENUITEM_PARAM
634     unset PLUGIN_MENUITEM_WORKDIR
635     unset PLUGIN_MENUITEM_ICON
636     done
637    
638   # fluxbox menu footer   # fluxbox menu footer
639   cat ${ALX_SKELETONS}/fluxbox/menu.footer >> ${ALX_UNPRIV_HOME}/.fluxbox/menu   cat ${ALX_SKELETONS}/fluxbox/menu.footer >> ${ALX_UNPRIV_HOME}/.fluxbox/menu
640   # add a newline (maybe there is no crlf in the footer)   # add a newline (maybe there is no crlf in the footer)
641   addconfig   addconfig
642    
643   # now it's a good time to generate *all* icons :)   # now it's a good time to generate *all* icons :)
644   generate_all_desktop_icons "${all_ses_ids}" "${all_other_ids}"   generate_all_desktop_icons "${all_ses_ids}" "${all_other_ids}" "${all_plugin_ids}"
645    
646   # fix permissions   # fix permissions
647   chown ${ALX_UNPRIV_USER}:${ALX_UNPRIV_GROUP} ${ALX_UNPRIV_HOME}   chown ${ALX_UNPRIV_USER}:${ALX_UNPRIV_GROUP} ${ALX_UNPRIV_HOME}
648   chown ${ALX_UNPRIV_USER}:${ALX_UNPRIV_GROUP} ${ALX_UNPRIV_HOME}/.fluxbox   chown ${ALX_UNPRIV_USER}:${ALX_UNPRIV_GROUP} ${ALX_UNPRIV_HOME}/.fluxbox
649   chmod 0755 ${ALX_UNPRIV_HOME}/.fluxbox   chmod 0755 ${ALX_UNPRIV_HOME}/.fluxbox
650   chmod 0755 ${ALX_UNPRIV_HOME}/.idesktop   chmod 0755 ${ALX_UNPRIV_HOME}/.idesktop
  chmod 0644 ${ALX_UNPRIV_HOME}/.ideskrc  
651  }  }

Legend:
Removed from v.2495  
changed lines
  Added in v.6759