diff --git a/.Floppies/A2OSX.MAKE.po b/.Floppies/A2OSX.MAKE.po index d07aa56b..e57b57c5 100644 Binary files a/.Floppies/A2OSX.MAKE.po and b/.Floppies/A2OSX.MAKE.po differ diff --git a/.Floppies/STABLE.32MB.po b/.Floppies/STABLE.32MB.po index 77fedde6..57073c6b 100644 Binary files a/.Floppies/STABLE.32MB.po and b/.Floppies/STABLE.32MB.po differ diff --git a/.Floppies/STABLE.800.po b/.Floppies/STABLE.800.po index e773ebff..1ac8eeac 100644 Binary files a/.Floppies/STABLE.800.po and b/.Floppies/STABLE.800.po differ diff --git a/ADMIN/a2osx.txt b/ADMIN/a2osx.txt new file mode 100644 index 00000000..94fe1e3b --- /dev/null +++ b/ADMIN/a2osx.txt @@ -0,0 +1,10 @@ +NEW + PREFIX +AUTO 4,1 +#!/bin/sh +# +# A2osX Admin Menu Test +. fmenu +call menu adminmenu +MAN +TEXT /MAKE/USR/SHARE/ADMIN/a2osx diff --git a/EXAMPLES/FMENU.txt b/EXAMPLES/FMENU.txt index e5d297cf..bbb60949 100644 --- a/EXAMPLES/FMENU.txt +++ b/EXAMPLES/FMENU.txt @@ -1,25 +1,194 @@ NEW PREFIX AUTO 4,1 -MAN -#!/BIN/SH -# -# This script defines a Menu Function that can be used -# in multiple scripts. -# -# Load this function by calling . FMENU -# -# Call the Function with CALL A2MENU RVar NumMI T1 M1 M2 M3 M4 M5 M6 M7 M8 M9 -# where RVar is the name of the variable you want the menu choice placed into -# NumMI is the Number of Menu Items you want to display (max 9) -# T1 is the menu Title -# M1 ... M9 are the available menu choices -# -FUNCTION A2MENU -{ - # Start of A2MENU Code - ECHO "\f - +#!/bin/sh +echo -N "." +function menu { + switch $# + case 1;set menufile = $1;set menu = "A";break + case 2;set menufile = $1;set menu = $2;break + default;echo "\nError: Invalid use of this function";exit + end + if [ -f $menufile ];set menufile = $1 + else;echo "\nError: [${menufile}] File Not Found";exit;fi + set sep = ":" + set select = 1 + while [ $select -lt 10 ] + call loadmenu + call getselect + call processchoice + loop + echo "\f\n\nuser chose from menu [${menu}] choice [${choice}] select [${select}]" } +echo -N "." +function processchoice { + switch $select + case 11 + case 12 + case 13 + case 14 + case 15 + case 16 + case 17 + case 18 + set select = $select - 10 + set choice = `sh -C "grep ${menu}:${select}: $menufile | cut -s ${sep} -f 4"` + break + case 20 + set choice = "Quit" + break + case 25 + set choice = "Last Menu" + break + case 30 + set choice = "Root/Master Menu" + break + default + echo "\fWow No idea how i got here\n\n" + set select = 99 + end + if [ $select -lt 9 ] + if [ $choice = "MENU" ] + set lm = $menu + set menu = `sh -C "grep ${menu}:${select}: $menufile | cut -s ${sep} -f 5"` + set select = 1 + fi + fi +} +echo -N "." +function loadmenu { + set mc = 0 + set lc = 0 + for i in `grep "${menu}:" $menufile` + echo $mc $lc $i + pause + if [ $lc -eq 0 ] + set mr = `sh -C "echo ${i} | cut -s ${sep} -f 3"` + echo $mc $lc $mr + pause + if [ $mr = "-" ] + set lc = $mc - 1 + else + set m${mc} = $mr + fi + set mc = $mc + 1 + fi + next + if [ $lc -eq 0 ] + set lc = 8 + fi + set mc =;set mr = +} +echo -N "." +function getselect { + call dispmenu + while [ $select -lt 10 ] + call dselect + read -n 0 K + switch $K + case 3 + if [ -n $lm ] + set select = 25 + else + call uselect + set select = 1 + fi + break + case 13 + set select = $select + 10 + break + case 8 + case 10 + call uselect + set select = $select - 1 + if [ $select -eq 0 ];set select = $lc;fi + break + case 11 + case 21 + call uselect + set select = $select + 1 + if [ $select -gt $lc ];set select = 1;fi + break + case 17 + case 81 + case 113 + set select = 20 + break + case 18 + case 77 + case 82 + case 109 + case 114 + set select = 30 + break + end + loop +} +echo -N "." +function dselect { + switch $select + case 1 ; call ixy 10 25 $m1 ; break + case 2 ; call ixy 11 25 $m2 ; break + case 3 ; call ixy 12 25 $m3 ; break + case 4 ; call ixy 13 25 $m4 ; break + case 5 ; call ixy 14 25 $m5 ; break + case 6 ; call ixy 15 25 $m6 ; break + case 7 ; call ixy 16 25 $m7 ; break + case 8 ; call ixy 17 25 $m8 ; break + end +} +echo -N "." +function uselect { + switch $select + case 1 ; call pxy 10 25 $m1 ; break + case 2 ; call pxy 11 25 $m2 ; break + case 3 ; call pxy 12 25 $m3 ; break + case 4 ; call pxy 13 25 $m4 ; break + case 5 ; call pxy 14 25 $m5 ; break + case 6 ; call pxy 15 25 $m6 ; break + case 7 ; call pxy 16 25 $m7 ; break + case 8 ; call pxy 17 25 $m8 ; break + end;} +echo -N "." +function dispmenu { + call cs ; call tbox $m0 + switch $lc + case 8 ; call pxy 17 25 $m8 + case 7 ; call pxy 16 25 $m7 + case 6 ; call pxy 15 25 $m6 + case 5 ; call pxy 14 25 $m5 + case 4 ; call pxy 13 25 $m4 + case 3 ; call pxy 12 25 $m3 + case 2 ; call pxy 11 25 $m2 + default ; call pxy 10 25 $m1 + end;} +echo -N "." +function cs {;echo \f;} +function tbox { + set tS = $1 + set tL = `sh -c "echo ${tS}|wc -m"` + set tL = 34 - ${tL} / 2 + while [ $tL -ne 0 ] + set tS = " ${tS}";set tL = $tL - 1 + loop + echo -n "\e[1;20H" + echo "\e[7m \e[0m" + set tL = 2 + while [ $tL -ne 5 ] + echo -n "\e[${tL};20H" + echo "\e[7m \e[0m \e[7m \e[0m" + set tL = $tL + 1 + loop + echo -n "\e[5;20H" + echo "\e[7m \e[0m" + echo -n "\e[3;22H ${tS}" + set tS =;set tL = +} +echo -N "." +function piv { ; echo -n "\e[7m$1\e[0m" ; } +function pxy { ; echo -n "\e[$1;$2H$3" ; } +function ixy { ; echo -n "\e[$1;$2H\e[7m$3\e[0m" ; } +echo -N ".\e[0m" # End of FMENU -TEXT /MAKE/USR/SHARE/EXAMPLES/FMENU +MAN +TEXT /MAKE/USR/SHARE/ADMIN/fmenu diff --git a/EXAMPLES/MENU.DAT.txt b/EXAMPLES/MENU.DAT.txt index 25426799..f1be9e75 100644 --- a/EXAMPLES/MENU.DAT.txt +++ b/EXAMPLES/MENU.DAT.txt @@ -1,73 +1,78 @@ -MENU:LINE:TEXT:ACTION:PREFIX -A:0:Master Menu:-:- -A:1:Administration Menu:B:- -A:2:User Management:C:- -A:3:Testing Subsystem Menu:D:- -A:4:Make System Menu:E:- -A:5:Extras Menu:F:- -A:6:-:-:- -A:7:-:-:- -A:8:-:-:- -B:0:Administration Menu:-:- -B:1:Display Processes (PS):PS:- -B:2:Display Memory (MEM):MEM:- -B:3:Kernel Configuration (KCONFIG):KCONFIG:- -B:4:List Volumes Online:ONLINE:/MAKE/USR/SHARE/ADMIN/ -B:5:User Management:C:- -B:6:-:-:- -B:7:-:-:- -B:8:-:-:- -C:0:User Management:-:- -C:1:List Users:LISTUSERS:/MAKE/USR/SHARE/ADMIN/ -C:2:Add User:ADDUSER:/MAKE/USR/SHARE/ADMIN/ -C:3:Delete User:DELUSER:/MAKE/USR/SHARE/ADMIN/ -C:4:Edit User Details:EDITUSER:/MAKE/USR/SHARE/ADMIN/ -C:5:Change Password:PASSWORD:/MAKE/USR/SHARE/ADMIN/ -C:6:-:-:- -C:7:-:-:- -C:8:-:-:- -D:0:Testing Subsystem Menu:-:- -D:1:Build Test Suite with Logging:BUILDTEST:/MAKE/USR/SHARE/TESTS/ -D:2:Display Logs:LOG:/MAKE/USR/SHARE/TESTS/ -D:3:Core Tests:CORETEST:/MAKE/USR/SHARE/TESTS/ -D:4:Display Tests:DISPLAYTEST:/MAKE/USR/SHARE/TESTS/ -D:5:Pathing Tests:PATHTEST:/MAKE/USR/SHARE/TESTS/ -D:6:Internal Commands Tests:INTERNALTEST:/MAKE/USR/SHARE/TESTS/ -D:7:External Commands Tests:EXTERNALTEST:/MAKE/USR/SHARE/TESTS/ -D:8:-:-:- -E:0:Make System Menu:-:- -E:1:List Builds:-:- -E:2:Copy Latest Build:-:- -E:3:Delete a Build:-:- -E:4:Set Build Releases:-:- -E:5:Make Media:-:- -E:6:-:-:- -E:7:-:-:- -E:8:-:-:- -F:0:Extras Menu:-:- -F:1:Display A2osX Logo:LOGO:/MAKE/USR/SHARE/EXAMPLES/ -F:2:Display A2osX License:LICENSE:/MAKE/USR/SHARE/EXAMPLES/ -F:3:-:-:- -F:4:-:-:- -F:5:-:-:- -F:6:-:-:- -F:7:-:-:- -F:8:-:-:- -G:0:-:-:- -G:1:-:-:- -G:2:-:-:- -G:3:-:-:- -G:4:-:-:- -G:5:-:-:- -G:6:-:-:- -G:7:-:-:- -G:8:-:-:- -H:0:-:-:- -H:1:-:-:- -H:2:-:-:- -H:3:-:-:- -H:4:-:-:- -H:5:-:-:- -H:6:-:-:- -H:7:-:-:- -H:8:-:-:- +NEW + PREFIX +AUTO 4,1 +menu:LINE:TEXT:ACTION:PREFIX:- +A:0:Master Menu:-:-:- +A:1:Administration Menu:menu:B:- +A:2:User Management:menu:C:- +A:3:Testing Subsystem Menu:menu:D:- +A:4:Make System Menu:menu:E:- +A:5:Extras Menu:menu:F:- +A:6:-:-:-:- +A:7:-:-:-:- +A:8:-:-:-:- +B:0:Administration Menu:-:-:- +B:1:Display Processes (ps):ps:-:- +B:2:Display Memory (mem):mem:-:- +B:3:Kernel Configuration (kconfig):kconfig:-:- +B:4:List Volumes Online:online:/MAKE/USR/SHARE/ADMIN/:- +B:5:User Management:menu:C:- +B:6:-:-:-:- +B:7:-:-:-:- +B:8:-:-:-:- +C:0:User Management:-:-:- +C:1:List Users:LISTUSERS:/MAKE/USR/SHARE/ADMIN/:- +C:2:Add User:ADDUSER:/MAKE/USR/SHARE/ADMIN/:- +C:3:Delete User:DELUSER:/MAKE/USR/SHARE/ADMIN/:- +C:4:Edit User Details:EDITUSER:/MAKE/USR/SHARE/ADMIN/:- +C:5:Change Password:PASSWORD:/MAKE/USR/SHARE/ADMIN/:- +C:6:-:-:-:- +C:7:-:-:-:- +C:8:-:-:-:- +D:0:Testing Subsystem Menu:-:-:- +D:1:Build Test Suite with Logging:BUILDTEST:/MAKE/USR/SHARE/TESTS/:- +D:2:Display Logs:LOG:/MAKE/USR/SHARE/TESTS/:- +D:3:Core Tests:CORETEST:/MAKE/USR/SHARE/TESTS/:- +D:4:Display Tests:DISPLAYTEST:/MAKE/USR/SHARE/TESTS/:- +D:5:Pathing Tests:PATHTEST:/MAKE/USR/SHARE/TESTS/:- +D:6:Internal Commands Tests:INTERNALTEST:/MAKE/USR/SHARE/TESTS/:- +D:7:External Commands Tests:EXTERNALTEST:/MAKE/USR/SHARE/TESTS/:- +D:8:-:-:-:- +E:0:Make System Menu:-:-:- +E:1:List Builds:-:-:- +E:2:Copy Latest Build:-:-:- +E:3:Delete a Build:-:-:- +E:4:Set Build Releases:-:-:- +E:5:Make Media:-:-:- +E:6:-:-:-:- +E:7:-:-:-:- +E:8:-:-:-:- +F:0:Extras Menu:-:-:- +F:1:Display A2osX Logo:LOGO:/MAKE/USR/SHARE/EXAMPLES/:- +F:2:Display A2osX License:LICENSE:/MAKE/USR/SHARE/EXAMPLES/:- +F:3:-:-:-:- +F:4:-:-:-:- +F:5:-:-:-:- +F:6:-:-:-:- +F:7:-:-:-:- +F:8:-:-:-:- +G:0:-:-:-:- +G:1:-:-:-:- +G:2:-:-:-:- +G:3:-:-:-:- +G:4:-:-:-:- +G:5:-:-:-:- +G:6:-:-:-:- +G:7:-:-:-:- +G:8:-:-:-:- +H:0:-:-:-:- +H:1:-:-:-:- +H:2:-:-:-:- +H:3:-:-:-:- +H:4:-:-:-:- +H:5:-:-:-:- +H:6:-:-:-:- +H:7:-:-:-:- +H:8:-:-:-:- +MAN +TEXT /MAKE/USR/SHARE/ADMIN/adminmenu diff --git a/MAKE/FULLFILES.txt b/MAKE/FULLFILES.txt index 35adf448..794b65f1 100644 --- a/MAKE/FULLFILES.txt +++ b/MAKE/FULLFILES.txt @@ -11,9 +11,13 @@ bin/asm.65C02 bin/asm.65R02 bin/asm.SW16 bin/asm.Z80 +bin/atbrowse +bin/atlogin +bin/attr bin/bmp2pix bin/cat bin/chmod +bin/chown bin/chtyp bin/cmp bin/cp @@ -29,6 +33,7 @@ bin/ipconfig bin/irc bin/kconfig bin/kill +bin/lc bin/ls bin/lsdev bin/lsof @@ -49,9 +54,11 @@ bin/sh bin/stat bin/telnet bin/term +bin/uc bin/unpak bin/useradd bin/userdel +bin/usermod bin/wc bin/who drv/dhgr.drv diff --git a/TESTS/ENVTEST.txt b/TESTS/ENVTEST.txt index b0fe49f5..7433190b 100644 --- a/TESTS/ENVTEST.txt +++ b/TESTS/ENVTEST.txt @@ -1,7 +1,7 @@ NEW PREFIX AUTO 4,1 -#!/BIN/SH +#!/bin/sh #SET -X ECHO "\f\n This is the ENV Test" ECHO "\n This will stress the ENV space and string handling"