#! /bin/sh

APP_DIR="/usr/share/applications"
ALT_DIR="/etc/alternatives"

print_item () {
  local DESKTOP_FILE LABEL ICON PROGRAM
  ITEM="$1" ; LABEL="$2" ; ICON="$3" ; PROGRAM="$4"
  if ( [ -f "$APP_DIR/$ITEM.desktop" ] || [ -f "$ALT_DIR/$ITEM" ] ) ; then
    printf '  <item label="%s" icon="%s">\n    <action name="Execute">\n      <execute>%s</execute>\n    </action>\n  </item>\n' "$LABEL" "$ICON" "$PROGRAM"
  fi
}

print_root_menu () {
  print_item "x-terminal-emulator" "Terminal" "/usr/share/icons/Tango/16x16/apps/utilities-terminal.png" "x-terminal-emulator"
  print_item "x-www-browser" "Web" "/usr/share/icons/Tango/16x16/apps/web-browser.png" "x-www-browser"
  print_item "pcmanfm" "Fichiers" "/usr/share/icons/Tango/16x16/apps/system-file-manager.png" "pcmanfm"
  cat << EOF
  <item label="Aide" icon="/usr/share/icons/Tango/16x16/apps/help-browser.png">
    <action name="Execute">
      <execute>/usr/libexec/olde/help</execute>
    </action>
  </item>
  <separator/>
  <menu id="applications-menu" label="Applications" icon="/usr/share/icons/Tango/16x16/categories/applications-system.png" execute="openbox-menu -t 'x-terminal-emulator -e' olde-applications.menu"/>
  <separator/>
  <item label="Recharger" icon="/usr/share/icons/Tango/16x16/actions/view-refresh.png">
    <action name="Reconfigure"/>
  </item>
  <item label="Redémarrer" icon="/usr/share/icons/Tango/16x16/actions/process-stop.png">
    <action name="Restart"/>
  </item>
  <separator/>
  <item label="Quitter" icon="/usr/share/icons/Tango/16x16/actions/system-log-out.png">
    <action name="Execute">
      <execute>olde-logout</execute>
    </action>
  </item>
EOF
}

print_start_menu () {
  cat << EOF
  <separator label="OLDE"/>
$(openbox-menu -t 'x-terminal-emulator -e' olde-applications.menu | sed -E "s/(<menu)/\n\1/" | sed "/openbox_pipe_menu/d ; /^$/d ; s/^/  /")
  <separator/>
  <item label="Aide" icon="/usr/share/icons/Tango/16x16/apps/help-browser.png">
    <action name="Execute">
      <execute>/usr/libexec/olde/help</execute>
    </action>
  </item>
  <item label="Exécuter..." icon="/usr/share/icons/gnome/16x16/actions/system-run.png">
    <action name="Execute">
      <execute>gmrun</execute>
    </action>
  </item>
  <item label="Verrouiller" icon="/usr/share/icons/Tango/16x16/actions/system-lock-screen.png">
    <action name="Execute">
      <execute>xset s activate</execute>
    </action>
  </item>
  <separator/>
  <item label="Quitter" icon="/usr/share/icons/Tango/16x16/actions/system-log-out.png">
    <action name="Execute">
      <execute>olde-logout</execute>
    </action>
  </item>
EOF
}

case "$1" in
  start) ACTION="print_start_menu" ;;
  *) ACTION="print_root_menu" ;;
esac

printf '<openbox_pipe_menu>\n'

print_${1:-root}_menu

printf '</openbox_pipe_menu>\n'
