#!/bin/bash
#!  
export gcSysDevDob="250707-0539"      
#! 
#!  MGR-10 TXN generated !!!
#!
#! rc.z_MGR.sh  ::: MGR-10
#! GTK "NoteBook" based GUI code
#! 9302 lines 
#! 403 K bytes
#! ******************************************************************************
#! "MGR 10"  utilizes  GTK "notebook" as the basic graphical presentation method. 
#! ******************************************************************************
#!
#! MGR-10 
#! "Manager" for project development across 22 Puppy OS Distributions. 
#! all "cased, cloned, hacked" by gae, 240101 initially. 
#! ***************************************************************************
#!
#! v2.0.0 there could be a save tmpfs->persistent-storage running...
#! while [ "`pidof snapmergepuppy`" ]; do sleep 1 ; done
#!
#! MGR.sh call:    echo -e "==" #>/dev/console 
#! all text output to MGR system must be    #>/dev/console    
#!
#! BASH calls:     echo -e "==" >/dev/console
#!      text output to BASH system must be    >/dev/console    for XTERM
#!
#! BASH output without display in XTerm :
#!      echo -e "==" 2>/dev/null
#!
#! *** Notes ************************************************************************
#! Development "MGR 5" moved on to a revised "MGR 6" 
#! Development "MGR 6" moved on to a revised "MGR 7" 
#! Development "MGR 7" moved on to a revised "MGR 8" 
#! Development "MGR 8" moved on to a revised "MGR 9" 
#! Development "MGR 9"  : Production  with BASH "PageBook" via GTK "toggle" 
#!      with BASH coded independent floating windows "Back" "Dox" "Utility" "Vmb" 
#!      with GTK Toggled System Page morphing screen for "MENU" select/build/reboot.
#!
#! Development "MGR 10" : Production  with GTK "NoteBook"
#!      with GTK coded independent floating windows "Main" "Menu" "Dox" "Utility" 
#!      with compacted "GTK NoteBook" style screen. 
#!
#!
#! Development "MGR 11" : Production  with BASH method of "Pages" 
#!      to be compatible with DebBookWorm. 
#!      with BASH coded independent floating windows "Main" "Menu" "Dox" "Utility" 
#!
#! ***********************************************************************************************
#!
#! ==================================================================================
#! PET install not required, 
#!      MGR "project" has all required (dependent) scripts
#!      so, just place downloaded script into /root/my-applications .
#! Puppy Linux automatically provides /root/my-applications via "/etc/profile" script. 
#!   just place downloaded script into /root/my-applications. 
#! ==================================================================================
#!
#! **********************************************************************************
#! BASH is just a "shell" command interpreter as per POSIX definition. 
#! GTK is a GUI library, and meant to be imported in actual programming projects. 
#! You can't use GTK "directly" in BASH scripts.  
#! You can't use BASH scripts "directly" in Gtk.  
#! ********************************************************************************
#!  rc.z_MGR.   #!  sh:64:3: note: Not following: 
#!  /etc/DISTRO_SPECS was not specified as input (see shellcheck -x). [SC1091]
#! ***************************************************************************
#! rc.shutdown req: #! /usr/sbin/asktosave_session
#! ***************************************************************************
#!  error note from GTK:
#!  widget_vbox_input_by_command() : "<input> not implemented for this widget"
#!  "Google Widget_vbox_input_by_command () input not implemented for this widget windows"
#!
#!     [ ! -d "${TMP_PATH}" ] && mkdir -p "${TMP_PATH}"
#!
#! ***************************************************************************
#! if  [ [ "$DISPLAY" ] || [ "$WAYLAND_DISPLAY" ] || [ "$XDG_CONFIG_HOME" ] ] ; then
#!	#ac.cidenta.lly ru.nning this sc.ript k.il.ls the sy.stem "MGR"
#!	exit
#! fi
#! ************************************************************************************
#! 
#! MGR can Change DISTRO bootup by rewriting "default" of "menu.lst" and then ReBooting
#!
#! 
#! ************************************************************************************
#!
export gcSysNameBase="MGR"  #: used code as system label some 40 times. 
export gcMgrVer="10"     # -dev-1056"   # "v:#" 
export gcMgrVerExt=".2"  #! current dev is based on GTK "notebook" page/menu function Primary Screen     
export gcMgrNameBaseAll="${gcSysNameBase}${gcMgrVer}${gcMgrVerExt}"
export gcMgrTextTitle="' ooo- Manager: ${gcMgrVer}-${gcMgrVerExt} -ooo '"  #! ooo-Bionic-ooo   :64bit:   :B-64-B:
export gcMgrVerNote="Embedded-Graphic__Bash-pageSystem__GTK 'notebook' function Primary Screen"
export gcMgrVerID="${gcSysNameBase}${gcMgrVer} " # not used
export gcMgrVerTitle="Manager: ${gcMgrVer}${gcMgrVerExt} "  # req for "System Gui" title with '"ooo-"'  gcMgrVerTitle  '"-ooo"'
export gcMgrBashPid="$BASHPID"
export gcMgrLogInKey="JV4J-A9YI-UJFX"   #! 1 
export gcMgrIdMe="JV4J-A9YI-UJFX-iso60"
export gcMgrDt="`date +%y%m%d-%H%M-%S`"
export gcMgrKey="${gcMgrNameBaseAll}--${gcMgrIdMe}-${gcMgrDt}"
export gcMgrIsoDate="${gcMgrDt}" #! temp start date pulled from iso for "ID" testing. 
export gcMgrDistroSymbol="..."	#! assigned to match 
export gcDistroEOL="${gcMgrDt}"  #! default temp 'End Of Life' date pulled from DISTRO_SPECS or PUPSTATE 
export gcMgrIP="108.82.30.204"
#! export gcDistroPuppyDate='Dec 2021' #! Published Date
#! *****************************************************
#!
#! ************************************************************
#~ clear   #! also at main ()
#! PATH: always include :/root/my-applications/bin to find dependency files 
#! Files Stored will be carried with the saveDATA 
PATH=$PATH::/root/my-applications:/usr/lib/gtkdialog:/root/my-applications/bin:/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_MGR 
#! ************************************************************
. /etc/DISTRO_SPECS       #  gather basic DISTRO data via Linux 
 echo "Zero=${0}" >> /etc/rc.d/PUPSTATE #! establish the "zero" filename.   #! gae
. /etc/rc.d/PUPSTATE      #  gather basic "STATE" of Puppy operating system 
#! ************************************************************
#! ######################################################################################
#!
#! export gctoggle_X="true"    #! Not Used, was for  GUI GTK Toggle Control 
#! export gctoggleVmbX="true"  #! Not Used, was for GUI GTK Toggle Control 
#! default 
export  gcDistroReboot="wmreboot"   #! standard if distro fails to "re"boot !
#!
#! example: DISTRO_NAME="BionicPup32"
export gcSysDistroName="${DISTRO_NAME}"
export GTKDIALOG=gtkdialog
#! *****************************************************
export gcMGRname="Manager" 
export gcMgrDevId="MGR"  
#!
export gcMrgBit32="1"   # 32bit flag  , assigned per each Distro , "0" is 64bit .
export gcMrgBit64="1"   # 64bit flag  , assigned per each Distro , not used.   
#!
#! default 
export  gcDistroReboot="wmreboot"
#! *****************************************************
#! export gcMgrDevIdFull="MGR-${gcMgrVer}${gcMgrVerExt}"  
#! export gcMgrDevSubId=",,," #!  BXB    shows "Kernal#" 
#!      must be copy/paste from current active "DISTRO_SPECS, "PUPSAVE",  "PUPSFS", 
#!      given: 'sda1,ext4,/pup_UpupBXB-SDA/upupbbsave-BXB' ,  generate "BXB" 
#!
#! DISTRO-SPECS does not reveal full ID string , must generate
#!  PUPSFS='sda1,ext4,/pup_UpupB4B-SDA/puppy_upupbb_19.03.sfs'
#!  PUPSAVE='sda1,ext4,/pup_UpupB4B-SDA/upupbbsave-B4B'
#! example ID : "B4B", "B5B", "B64B", "N8N", "T-6" is extracted from PUPSAVE .
export  gcMgrDevSubId="`echo -n "$PUPSAVE" | cut -f 3 -d '-'`"
#! *********************************************************
#! gcMgrVerAll req for MAIN RUNNING Terminal Screen 
#!      "Sbr_Cbx_ReStart" First-Time-Running msg 
export gcMgrVerAll="Manager:${gcMgrId}${gcMgrVer}" #! Not Active
#! *********************************************************
#!
#! MB Multi-Button  P.A.G.E. VERTICAL is deprecated. Not Used . 
#! export  gcOsSubId="VERT"    # Not Used.  "VERT" section deprecated.
#!
if [ 0 -eq 1 ] ; then
    n=0  #! example of testing a stub conrol
fi # end: if [ 0 -eq 1 ]
#!
#! Debug controllers:
    #! set -xe       # Start - x e
    #! set +xe      # Stop  + x e
#!
#! example of PID test
#! while [ "`pidof snapmergepuppy`" ]; do sleep 1 ; echo "PID-TEST"; done
#!
#(:  =======================================================================
#(:
#(:   "why" gtkdialog/box_help is used: 
#(:         gtkdialog/box_help will handle format and embedded color text codes.
#(:         MGR contains a Sbr of our hacked version of "box_help" 
#(:   "why" xmessage is not used; gxmessage is preferred: 
#(:         xmessage will NOT handle format and color embedded text codes.
#!
#(: ==========================================================================
#(:  begin: 
#(:  example of regular function header 
#(:     Each regular "function" has a "header" that begins with label like this:
#(:     The #(: lines are exported, via TXN.sh to become "Program Documentation". 
#(:     Programmers can build a stand-alone summary of All Code Modules .
#(: function Sys() : Main Code Modules, which call "Sbr" .
#(: function Sbr()  : Sub Modules , called by "Main Code Modules". 
#(: 
#(: ==================================================
#(: fx Sbr_Sys_yg3()  
#(: name: 
#(: param:
#(: purpose: Puppy Ascii Graphic Image for rc.sysinit and rc.shutdown 
#(: @param  #(:  @return  #(: call this way:  #(: called by:  #(: calls to: 
#(: returns:  #(: method:  #(: rationale:  #(: note:
#(: ==================================================
#(: function Sbr()  # example
#(:  name: 
#(: param:
#(: purpose:
#(:  @param
#(:  @return
#(: call this way:
#(: called by:
#(: calls to:
#(: returns:
#(: method:
#(: rationale:
#(: note:
#(:
#(: # end:  example of regular "function" label
#(: ==================================================
#!
#! ==================================================================================================
#! #! #! Developing Left-Right Center control 
#! Margin Adjustment for MGR application. 
#! for Main and Minor Gui Screens, 
#! purpose: to control different GTK format actions of 22 Puppy Linux Distros. 
#! ==================================================================================================
#! rationale: 
#!      GTK is 'almost' the same, across 22 Puppy Linux OS, 
#!      but some differences have been found in GTK screen placement and "homogeneous" command. 
#!      GTK DebianBookWorm has serious GTK format problems. 
#!      All others are controllable.
#!
#! rationale:  
#!  Each DISTRO may handle GTK graphics slightly differently, specifically < window > "width" and "height" values. 
#!  GTK Variations make a problem when building a consistent graphic screen layout. 
#!  Below, we present a method of control for "lateral placement" of GTK screen objects: 
#!      "adjustment" memvar are being tested against DISTRO_SPECS data, this way: 
#!      case "${gcSysDistroName}" in  
#!         "BionicPup32" )     gcMrgOutAdj="false" &&  gcMrgLAdj="false"  &&  gcMrgRAdj="false"  ;;
#!         "bionicpup64")      gcMrgOutAdj="false" &&  gcMrgLAdj="false"  &&  gcMrgRAdj="false"  ;;
#! the first several are implemented by filling in proper numbers 
#! ------------------------------------------------------------
#! Margin Adjust variables are left over  from MGR-9 , used for positioning GUI (test) in MGR-10.
export gcMrgOutAdj="true"    # Left/Right OutEdge Margin icon, overall control, 
#!  used one time in NoteBook GUI. 
#!  implemented for B4B, et al, to control interaction with "homogenenous" placement 
#!  goal: control this System GUI "Title" block to a centralized position on graphic layout, top line. 
#!                 <label>"'-System--'"</label>
#!                 <label>"'-Menu--'"</label>
#!                 <label>"'-BackUp-'"</label>
#!                 <label>"'-Dox/Help--'"</label>
#!                 <label>"'-Util--'"</label> <action> "0"</action></button>
#!
#! Margin Adjust var may NOT be required in MGR-10. 
#! Margin Adjust are left over  from MGR-9 , used for positioning GUI for different Puppy Distro GTK. 
#!
#! ### begin: Margin Adjust var #######################################################################
#! before <label> "'-System--'"</label>
export gcMrgLAdj="false"      # left end pad, before PageBook_Main_page-top, <label>"'-MAIN--'"</label>
#! after <label> "'-Util--'  "</label>
export gcMrgRAdj="false"      # right end pad, after PageBook_Main_page-top, <label>"'-VMB--'"</label>
#!
#! Margin Adjust were used in MGR-9 , some are still required for MGR-10, 
#! Margin Adjust are used for positioning GUI . 
#! Each different Puppy OS may have different GTK screen position controls, as "default" .  
#! adjustments to Left Margain, overall control 
#! These are not used in MGR-10 : gcMrgOutAdj  gcMrgLAdj  gcMrgRAdj  
#!
#! Default Margin Adjustments.
export gcMrgL1Adj="7"
export gcMrgL2Adj="7"  
export gcMrgL3Adj="7"  
#! adjustments to Right Margain, overall control/dimensions 
export gcMrgR1Adj="7"  
export gcMrgR2Adj="7"  
export gcMrgR3Adj="7"   
#!
#!
#! ==================================================================================================
#! NOTE from MGR-9 about adjusting screen values to accomodate GTK across 22 different Puppy Distros. 
#! System GUI dimensions may require Adjustment across 22 different Puppy Linux Distros: 
#! Many Puppy Distros will run OK, without adjustments.  
#! Puppy Linux GTK assumes these screen setting at Main Gui 
#!  Set this way:     width-request="'${gcMrgGuiWid}'"
#!  Set this way:     height-request="'${gcMrgGuiHgt}'"
#!
#! Therefore any adjustments to fit GTK must be by a variable pushed to 
#!    <hseparator width-request="$variable"> </hseparator>
#!
#! Important Calculating NoteBook screen adjustments !!!
#! Begin: calculate Adjustments for GTK in 22 different Puppy Linux Distros: 
#!
#!--- differentiate Source for each Distro via DISTRO_SPECS :
#!    via "DISTRO_NAME" 
#!    via "DISTRO_PUPPYDATE" 
#!    via "DISTRO_PUPPYDATE" 
#!
#!--- differentiate each Distro via PUPSTATE :
#!    via "PSUBDIR"
#!
#!
#! === start ======================================================================
#!--- process to match dimensions of NoteBook GUI with current OS via "Distro_Name" 
function Sbr_Match_NoteBook_Gui_Position() {  #! Not Active   #! marker 
 n=0 
 }
function  Sbr_Case_Distro_Name() {  #! Not Active   #! marker 
n=0
}
#!  Sbr_Case_Distro_Name   or   Sbr_Match_NoteBook_Gui_Position
#! ================================================================================
#! default  "NoteBook_Gui_Position" : top of source code, L:303
gcMrgGuiWid="1200"   
gcMrgGuiHgt="880"   
#! gcMrgGuiHgtSml="165"   #! only MGR-9 : for < button > "hidden" function , 'toggle' control .
#!
        #! B4B and B5B have same SysDistroName 
        case "${gcSysDistroName}" in
       "BionicPup32" )      
                 gcMrgOutAdj="0" &&  gcMrgLAdj="1"  &&  gcMrgRAdj="0"   
                 gcMrgBit32="1"  
                 gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
                 gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
            #!
            gcMrgGuiWid="1250"      #! for MGR-10 with "Deep Thought" theme. 
            #! more test required to differentiate "B4B" and "B5B" and various "themes" 
                 #! standard width-request for "main gui":  
                    #!  v9:     B4B="1150"
                    #!  v10:    B4B="1100"
                    #!  v11:    B4B="1200"
                 #! 
            if [ "${DISTRO_PUPPYDATE}" = "Dec 2021" ] ; then  
                 export gcMgrDistroSymbol="{B_4_B-21}"  #! ":K4"  B4B21 
                 export gcMgrIsoDate="iso_B4B_bionicpup32-8.0+30-uefi-220407-2305"    #! 230603  #! 190314
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                 export gcDistroEOL=""
            fi
            #! more test required to differenciate "B4B" and "B5B" 
            #! info taken from DISTRO_SPECS     #! 
            #! BionicPup32 Kernal 5 : B5B DISTRO_PUPPYDATE='Apr 2022'
                 #! standard width-request for "main gui":  
                    #!  v9:     B4B="1150"
                    #!  v10:    B4B="1250"
                 #! 
            if [ "${DISTRO_PUPPYDATE}" = "Apr 2022" ] ; then  
                 export gcMgrDistroSymbol="{B_4_B-22}"  #! ":K4"   B4B22
                 export gcMgrIsoDate="iso_B4B_bionicpup32-8.0+30-uefi-220407-2305"    #! 230603  #! 190314
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                 export gcDistroEOL=""
                 gcMrgOutAdj="0" &&  gcMrgLAdj="1"  &&  gcMrgRAdj="0"   
                 gcMrgBit32="1"  
                 gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
                 gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
            fi
            #! more test required to differenciate "B4B" and "B5B" 
            #! info taken from DISTRO_SPECS     #! 
            #! BionicPup32 Kernal 5 : B5B DISTRO_PUPPYDATE='Dec 2023'
                 #! standard width-request for "main gui": 
                    #!  v9:     B5B="11000"     
                    #!  v10:    B5B="11000"     
                 #! 
            if [ "${DISTRO_PUPPYDATE}" = "Dec 2023" ] ; then  
                 export gcMgrDistroSymbol="{B_5_B-23}"  #! :K5'"    B5B23
                 export gcMgrIsoDate="iso_BionicPup32-19.03-240602"   #! 240611
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
            gcMrgGuiWid="1075"   
                 gcMrgOutAdj="1" &&  gcMrgLAdj="1"  &&  gcMrgRAdj="1"   
                 gcMrgBit32="1"  
                 gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
                 gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
            fi
            ;;
#! ========================================================================
        "bionicpup64")
                 export gcMgrDistroSymbol="{B_64_B}"  #! :Kernal:4.19.23'"
                 export gcMgrIsoDate="iso_BookwormPup64_10.0.7_240820"   #! 240611
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                 #! 
                 #! standard width-request for "main gui":  
                    #!  v9:     B4B="1250"     B5B="11000"     B64B="1400"
                    #!  v10:    B4B="1250"     B5B="11000"     B64B="1250"
                 #! 
                 gcMgrDistroSymbol="{_B-64-B_}"         
                 gcMrgGuiWid="1250"   
                 gcMrgBit32="0"
                 gcMrgOutAdj="1"  &&  gcMrgLAdj="0"  &&  gcMrgRAdj="0"    
                 gcMrgL1Adj="0"  &&  gcMrgL2Adj="true"  &&  gcMrgL3Adj="true"  
                 gcMrgR1Adj="0"  &&  gcMrgR2Adj="false"  &&  gcMrgR3Adj="false" 
            ;;
#! ========================================================================
        "tahrpup")
                export gcMgrDistroSymbol="Tahr-6"
                export gcDistroEOL="190211"
                export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                 gcMrgBit32="1" 
                 gcMrgOutAdj="1"  &&  gcMrgLAdj="1"  &&  gcMrgRAdj="1"    
                 gcMrgL1Adj="true"  &&  gcMrgL2Adj="true"  &&  gcMrgL3Adj="1"  
                 gcMrgR1Adj="0"  &&  gcMrgR2Adj="0"  &&  gcMrgR3Adj="0" 
                 gcMrgGuiWid="1100"   
            ;;
#! #####################################################################
       "NoblePup32")    #! Noble v:6 and v:7 share 
         gcMrgOutAdj="true"  &&   gcMrgLAdj="1" &&  gcMrgRAdj="0"  
         gcMrgBit32="1" 
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1" 
            gcMrgGuiWid="1100"   
            #! ##############################################################
            #! more test required to differenciate "v:6"  and  "v:7" 
            #! v:6   info taken from DISTRO_SPECS or PUPSTATE    #! 
            #! NoblePup32 N-6-N 
            #!      iso_NoblePup32-24.04-240907
            #!      DISTRO_PUPPYDATE='Feb 2024'
            #!      DISTRO_DB_SUBNAME='upupnn+bw'
			#! PUPSTATE has "PSUBDIR" unique to N-6-N 
            if [ "${PSUBDIR}" = "/pup_UpupN6-SDA" ] ; then
                 export gcMgrDistroSymbol="{N-6-N_K6.6.15}"  #! on system screen
                 export gcMgrIsoDate="iso_NoblePup32-24.04-240907"   #! 
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
            fi
            #! ##############################################################
            #! more test required to differenciate "v:6"  and  "v:7" 
            #! v:7   info taken from DISTRO_SPECS or PUPSTATE    #! 
            #! NoblePup32 N-7-N
            #!      iso_NoblePup32-24.04-240907
            #!      DISTRO_PUPPYDATE='Feb 2024'
            #!      DISTRO_DB_SUBNAME='upupnn+bw'
			#! PUPSTATE has "PSUBDIR" unique to N-7-N 
			if [ "${PSUBDIR}" = "/pup_UpupN7-SDA" ] ; then
                 export gcMgrDistroSymbol="{N-7-N_K6.6.48}"  #! on system screen 
                 export gcMgrIsoDate="iso_NoblePup32-24.04-240907"   #!
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
            fi
            #!
            #! ############################################################## 
            #! more test required to differenciate "v:7"  and  "v:8" 
            #! NoblePup32 N-8-N
            #! iso_NoblePup32-24.04-241101
            #!      iso_NoblePup32-24.04-241101
            #!      DISTRO_PUPPYDATE='Feb 2024'
            #!      DISTRO_VERSION='24.04'
            #!      DISTRO_DB_SUBNAME='upupnn+bw'
			if [ "${PSUBDIR}" = "/pup_UpupN8-SDA" ] ; then
                 export gcMgrDistroSymbol="{N-8-N_K6.6.48}"  #! on system screen 
                 export gcMgrIsoDate="iso_NoblePup32-24.04-241101"   #!
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
            fi
            ;;
#! #####################################################################
       "ManticPup32")            gcMrgOutAdj="true"  &&   gcMrgLAdj="1" &&  gcMrgRAdj="1"  
             gcMrgBit32="1"      && gcMgrDistroSymbol="M-6-M"
             gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
             gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1" 
             gcMrgGuiWid="1100"   
           ;;
       "S15Pup64")          gcMrgOutAdj="true"  &&   gcMrgLAdj="1" &&  gcMrgRAdj="1"  
             gcMrgBit32="0"      && gcMgrDistroSymbol="S1564"
             gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
             gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1" 
             gcMrgGuiWid="1100"   
            ;;
       "JammyPup32")        gcMrgOutAdj="false"  &&  gcMrgLAdj="false"  && gcMrgRAdj="false"   
             gcMrgBit32="1"      && gcMgrDistroSymbol="J-J"
             gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
             gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
            gcMrgGuiWid="1100"   
       ;;
       "KineticPup32")      gcMrgOutAdj="false"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="1"      && gcMgrDistroSymbol="K-K"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
            gcMrgGuiWid="1100"   
       ;;
        "xenialpup64")   gcMgrDistroSymbol="X64"
         gcMrgOutAdj="false"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="0"      
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
            gcMrgGuiWid="1100"   
        ;;
        "ImpishPup32")    gcMgrDistroSymbol="I-I"
         gcMrgOutAdj="false"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="1"      
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
            gcMrgGuiWid="1100"   
        ;;
        "Slacko64 Puppy")   gcMgrDistroSymbol="S64"
         gcMrgOutAdj="false"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="0"     
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
            gcMrgGuiWid="1100"   
        ;;
        "UPupFF+D")      gcMgrDistroSymbol="F-F"
         gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="1"   
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
            gcMrgGuiWid="1100"   
        ;;
        "xenialpup")     gcMgrDistroSymbol="X708"
         gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="1"  
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
            gcMrgGuiWid="1100"   
        ;;
        "LxPupSc")       gcMgrDistroSymbol="SLxSc"
         gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"   
         gcMrgBit32="1"      
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"   
            gcMrgGuiWid="1100"   
            ;;
        "EasyOS")         gcMgrDistroSymbol="EasyOS"
         gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"   
         gcMrgBit32="1"      
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"   
            gcMrgGuiWid="1100"   
            gcMrgGuiHgt="600" 
            ;;
        "Quirky April")  gcMgrDistroSymbol="Qk7"   
         gcMrgOutAdj="1"  && gcMrgLAdj="1"  &&  gcMrgRAdj="1"   
         gcMrgBit32="1"     && gcDistroReboot="wmreboot"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"   
            gcMrgGuiWid="1100"  
            gcMrgGuiHgt="850" 
            ;;
#! #####################################################################
       "BookwormPup32")
            export gcMgrDistroSymbol="B32W"
            export gcDistroEOL="231209"
             gcMrgOutAdj="true" &&  gcMrgLAdj="true"  &&  gcMrgRAdj="true"   
             gcMrgBit32="1"      && gcMgrDistroSymbol=":DBW-32:"
             gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
             gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"   
           gcMrgGuiWid="900"   #! Not Accepted   BW32
           gcMrgGuiHgt="630" 
            ;;
       "BookwormPup64")     
            export gcMgrDistroSymbol="B-64-W"
            export gcDistroEOL="231210"
             gcMrgOutAdj="true" &&  gcMrgLAdj="true"  &&  gcMrgRAdj="true"   
             gcMrgBit32="0"      && gcMgrDistroSymbol="DBW-64"
             gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
             gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="0"
          gcMrgGuiWid="900"   #! Not Accepted   BW64
          gcMrgGuiHgt="600" 
            ;;
#! #####################################################################
           *)       #! default 
            gcMgrDistroSymbol="-"
         gcMrgOutAdj="true"   && gcMrgLAdj="true"  &&  gcMrgRAdj="true"   
         gcMrgBit32="0"     
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
            gcMrgGuiWid="1100"   
            ;;
        esac
#! === end ========================================================================
#!--- process to match dimensions of main screen with current OS via "Distro_Name" 
#! ================================================================================
#!
#! 
#!
#! #############################################
#! top: Fall-Thru "initz" 
#! #############################################
#!
#! =============================================
#! rc.z_MGR , the "Manager"  , the "FrameWork"
#! filename.sh is the name format,  so GEANY sees a 'script' as executable.
#! chmod +x rc.z_MGR.sh might be required for duplicate/export files.
#! "cased+cloned-and-hacked" by gae.
#! 
#! GNU bash is the shell.
#! Gtk is the gui / dialogue builder.
#!
#! ========================================================================
#! GTK is almost the same, across 21 Puppy Linux OX, but some differences.
#! This memvar is tested against DISTRO_SPECS like this: 
#!      case "${gcSysDistroName}" in  
#!         "bionicpup64")      gcMrgOutAdj="'${false}'" ;;
#!  gcMrgOutadj
#!  gcMrgLLLAdj
#!  gcMrgRRRAdj 
#!
#!  This method is being deprecated, because not requred in NoteBook method. 
#!
#! ------------------------------------------------------------
export gcMgrDevFirstRun="1"     
#!
export gcMgrDevID="Manager:.EmGr.DblClk.MnxGen.GTK-NoteBook" 
export gcMgrDevName="MGR....Embedded-Graphics..DoubleClickButtons...GTK-NoteBook..."
#!
export gcSysSave="`echo -n "$PUPSAVE" | cut -f 3 -d ','`"
export gcSysSaveFn="`echo -n "$gcSysSave" | cut -f 3 -d '/'`"
export gcSysIdFull="${gcSysSave}"           # ${PUPSAVE} # like "iso-KineticPup32-22.10"
#!
export gcSysDevHw="MCT-AMD-500_Bios2009_64-32"  # Dev Computer HardWare. see "Sbr_Dump_SYS-Declare" 
#! * system: machine: `uname -m` 
#! * processor: `uname -p`      
#! * platform: `uname -i` 
#! * operating sys: `uname -o` 
#!
export gcBootOsHd="SDA"         # OS Hard-Drive, required in menu.lst build
export gcBootOsExe="${0}"       # This Executable Bash Script
#!
#!
#! ### gcSysKillProc #####################
#! ### purpose: disable certain routines, hide from public access. 
#! ###    for example: 
#! ###    in a "sample distribution" we kill calls to external programs, 
#! ###    These external programs are "requisites" but not delivered via this sample project.
export gcSysKillProc=0  ### used by Sbr_KillProc to enable/inhibit some subroutines. 
#! if [ ${gcSysKillProc} -eq 0 ] then do "enable" all GTK dialog <button> DEV process, 
#! if [ ${gcSysKillProc} -eq 1 ] then do "stub kill" for some GTK dialog <button> PRODUCTION process
#! ### gcSysKillProc #####################
#! ###    some of these external programs were written internal in the "MGR" source code.
#! ###    some of these external programs were deleted.
#!
#! ************************************************************
#! E3R "basename" : E3R will run two paths ***
export gcRootHomeMyUsrDev="/mnt/home/MY_/usr-share/My_Dev_/" 
export gcRootAppsBin="/root/my-applications/bin/"
export gcRootApps="/root/my-applications/"  # Puppy Linux always paths to this. 
#! PET install not required, just place downloaded scripts in /root/my-applications.
#! *************************************************************************************
#!
export gcSysDistro_File_Prefix="${DISTRO_FILE_PREFIX}"  # Not Used
export gcSysDistroName="${DISTRO_NAME}" 
export gcSysDistroVersion="${DISTRO_VERSION}"
export gcSysDistroPuppySFS="${DISTRO_PUPPYSFS}"
export gcSysDistro_DB_Subname="${DISTRO_DB_SUBNAME}"
#!
export gcSysKernPup="`uname -r`"
export gcSysKernName="Kern:`uname -r`"
#!
#! touch "/tmp/MGR_Page_Control.flg"
export MGR_Page_Control_flg="/tmp/MGR_Page_Control.flg"  
#!
export gcNBWC="false"     # flip +/- gcNBWC
#(: ================================================
#! 
#! Data & Flag for Embedded Graphic Image ### backup and flag-file
export gcEmGaImgFnTrgTxtMaster="/tmp/EmGa-Master-IMG.txt"   # Image Master 
#!
export lcGuiColorbrn="brown"
export lcGuiColorgrn="green"
export lcGuiColorblu="blue"
export lcGuiColorred="red"
export lcGuiColorora="orange"
#!
#!
#! ################################################
#! end: Fall-Thru "initz" 
#! ################################################
#!
#!
#!
#! ################################################
#! begin: Fall-Thru "fx Sbr SubRoutines" 
#! ################################################
#!
#!
#(: ==========================================================================
#(: fx Sbr_Str2DevTrm  #! Standard  Terminal/devconsole display.    #! ACTIVE   
#(: last edit: 240218-0500   
#(: called by: everyone.  #  Preferred for Terminal display.
#(: param:
#(:      ## STRING message
#(:      ## COLOR name or number
#(:      ## MARGIN number 
#(:      ## Destination Display lcS2Topt
#(:
#(: purpose: Display "String" to DevConsole or Terminal
#(: calls:
#(: method: param : "char string" "# color" "# margin"
#(: sends:
#(: rationale:
#(: note :
#! #################################################################################
function Sbr_Str2DevTrm() {  #! ACTIVE   #! Standard  Terminal/devconsole display.
#! Preferred for Terminal/console display.
#! # param:  "char string"  "color"  "margin" "Console-Terminal"
lcS2TStr=${1}   # ## STRING message
lcS2TClr=${2}   # ## COLOR name or number #! COLOR:  1 is 31  ;  2 is 32  ;  3 is 33 
lcS2TMrg=${3}   # ## MARGIN number 1,5,10 ... 2,3,4,5,etc
lcS2Topt=${4}   # ## option "C"onsole or "T"erminal  #! default to "T"erminal ###
#!
lcDevConsole=""    # ${4} # default to "T"erminal ###
#!
case "${lcS2Topt}" in   #! TARGET 
   "C") lcDevConsole=" > /dev/console" ;;
   "T") lcDevConsole="" ;;
    *)  lcDevConsole="" ;;  #: default "T"erminal mode for use with Geany "T"erminal process.
esac
#!
case "${lcS2TMrg}" in   #! MARGIN
   0|"0") /bin/echo -n -e "\\033[0G"   ${lcDevConsole} ;;
    *) /bin/echo -n -e "\\033[${lcS2TMrg}G"  ${lcDevConsole} ;;
esac
#!
case "${lcS2TClr}" in   #! COLOR:  1 is 31  ;  2 is 32  ;  3 is 33 
    ""|"0")                                         /bin/echo -n -e "\\033[1;33m"   ${lcDevConsole} ;; #: default yellow
    "31"|"32"|"33"|"34"|"35"|"36"|"37"|"38"|"39")   /bin/echo -n -e "\\033[1;${lcS2TClr}m"   ${lcDevConsole} ;; 
    *)  /bin/echo -n -e "\\033[1;3${lcS2TClr}m"   ${lcDevConsole} ;; #: auto update/inject specific color nbr
esac
#! CLEAR Lingering Color setup at end-of-line
    /bin/echo -n "${lcS2TStr}"  ${lcDevConsole} 
    /bin/echo -e "\\033[0;m"  ${lcDevConsole} 
    return  0
#!
} #
export -f Sbr_Str2DevTrm     #! Standard  Terminal/devconsole display.    #! ACTIVE   
#!
#(: ==================================================
#(: fx Sbr_Show_in_Path   # NOT ACTIVE 
#(: called by:  pageVMB (deprecated)  written as "Sbr_Dump_Path"
#!
#!
#!
#(: ==================================================
#(: fx Sbr_Splash_Flip3    #! ACTIVE 
#(: called by:  
#(: param:
#(: purpose:   three splashes, flipping three colors. 
#(: calls:      
#(: called by : Sbr_Cbx group 
#(: method:  Sbr_Splash_Flip3 ${string}
#(: sends:
#(: rationale:
#(: note : 
#(:
#! ##################################################
function Sbr_Splash_Flip3() {   #! ACTIVE 
#! Splash_Flip3 ${string}
    n=0
    lcParam1="${1}"
#--- flipping colors ---red/yel---------------------------------------------------------------------
/usr/lib/gtkdialog/box_splash -fg red -bg yellow -border true  -close never -text " ${lcParam1} " &  
    GtkPidFlip1=$!   2>/dev/null ### kill splash
sleep ${2}
#--- flipping colors ---yel/blk-----------------------------------------------------------------------
/usr/lib/gtkdialog/box_splash -fg yellow -bg purple -border true  -close never -text " ${lcParam1} " &  
    GtkPidFlip2=$!   2>/dev/null ### kill splash
sleep ${2}
#--- flipping colors ---red/yel---------------------------------------------------------------------
/usr/lib/gtkdialog/box_splash -fg red -bg yellow -border false  -close never -text " ${lcParam1} " &  
    GtkPidFlip3=$!   2>/dev/null ### kill splash
sleep ${2}
#--- flipping colors ---yel/grn-----------------------------------------------------------------------
/usr/lib/gtkdialog/box_splash -fg yellow -bg green -border true  -close never -text " ${lcParam1} " &  
    GtkPidFlip4=$!   2>/dev/null ### kill splash
sleep ${2}
#--- flipping colors ---yel/blu-----------------------------------------------------------------------
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border true  -close never -text " ${lcParam1} " &  
    GtkPidFlip5=$!   2>/dev/null ### kill splash
sleep 1
#-----------------------------------------------------------------------------------------------------
    kill ${GtkPidFlip1}  2>/dev/null
    kill ${GtkPidFlip2}  2>/dev/null 
    kill ${GtkPidFlip3}  2>/dev/null
    kill ${GtkPidFlip4}  2>/dev/null
    kill ${GtkPidFlip5}  2>/dev/null
} #
export -f Sbr_Splash_Flip3
#!
#!
#(: ==================================================
#(: fx Sbr_Splash_It    #! Standard Splash #! ACTIVE
#(: Standard Splash_It : param "Str" "fg"     "bg"  "sleep" "opt"
#(: Standard Splash_It : param "Msg" "yellow" "blue" "3"    ""
#(: called by: many ! 
#(: param:
#(: purpose: Standard Splash
#(: method:  /usr/lib/gtkdialog/box_splash
#(: sends:
#(: rationale:
#(: note : 
#! ##################################################
function Sbr_Splash_It() {   #! ACTIVE   #! Standard Splash 
    #!  Standard Splash : param "Str" "fg" "bg" "sleep" "opt"
        n=0 
    lcMsgStr="$1"
    lcMsgColorFg="$2"   # ForeGround
    if [ ! $2  ] ; then 
        lcMsgColorFg="yellow"   # good default 
    fi    
    #!
    lcMsgColorBg="$3"   # BackGround
    if [ ! $3  ] ; then 
        lcMsgColorBg="blue"  # good default
    fi    
    #!
    #! gather "sleep" param 
    lcMsgSlp="$4"       
    #! test for no param
    if [ ! $4 ] ; then  # Sleep safe default
        lcMsgSlp="1"  # < 1  usually does not make it to the screen, timing issues. 
    fi
    #! test for Sleep quick
    if [ "0" = "$4" ] ; then  # Sleep quick
        lcMsgSlp=".5"  # < .5  usually does not make it to the screen, timing issues. 
     fi   
    #! else keep the sleep param as sent originally 
    #!
        #! -D---
    /usr/lib/gtkdialog/box_splash -fg ${lcMsgColorFg} -bg ${lcMsgColorBg} -border true  -close never -text "${lcMsgStr}     " &
        RETVAL=$?
        GTKPID_Cold_Splash=$!
        sleep ${lcMsgSlp}
    #!
    lcMsgOpt="$5"   # if not, then standard is do the kill 
    if [ ! $5 ] ; then  # IF   No Option,  THEN   kill pid ( compatible / normal)
        kill ${GTKPID_Cold_Splash}  2> /dev/null
        #!   IF   NOT flag, then KILL.  This is Normal.
        #!   ELSE  must kill manually in calling subroutine. 
    fi    
    } #
    export -f Sbr_Splash_It
    #!
#(: =====================================================
#(: fx Sbr_Splash_Banner
#(: called by: Main GUI "QUIT Loose-Code Program"
#(: param:
#(: purpose: #! "QUIT Loose-Code Program"
#(: called by :  " Fall Thru " for Loose-Code End of Program.
#(: method: Standard End of Source Banner  
#(: sends:
#(: rationale:
#(: note : 
#(:
#! #####################################################################
function Sbr_Splash_Banner() {  #! ACTIVE    
        n=0
        echo
        echo
        echo "*======== $1 ========*"  
        lcMsgStr0=$1
        #!
        echo
        echo        
        lcMsgStr="*===->->-> ${lcMsgStr0} ===*"    # text fg mrg
        Sbr_Str2DevTrm "$lcMsgStr" "7" "7" 
        Sbr_Str2DevTrm "$lcMsgStr" "6" "6" 
        Sbr_Str2DevTrm "$lcMsgStr" "5" "5" 
        Sbr_Str2DevTrm "$lcMsgStr" "4" "4" 
        Sbr_Str2DevTrm "$lcMsgStr" "3" "3" 
        Sbr_Str2DevTrm "$lcMsgStr" "2" "2" 
        Sbr_Str2DevTrm "$lcMsgStr" "1" "1" 
        Sbr_Str2DevTrm "$lcMsgStr" "2" "2" 
        Sbr_Str2DevTrm "$lcMsgStr" "3" "3" 
        Sbr_Str2DevTrm "$lcMsgStr" "4" "4" 
        Sbr_Str2DevTrm "$lcMsgStr" "5" "5" 
        Sbr_Str2DevTrm "$lcMsgStr" "6" "6" 
        Sbr_Str2DevTrm "$lcMsgStr" "7" "7" 
        echo 
         #! colorful rainbow splash for FALL-THRU 
         #! and trap for 'loose' code.  Str, Mgn, Color
         lcMsgStr="======================================= "  &&     Sbr_Str2DevTrm "$lcMsgStr" "3" "5"
        DISTRO_NAME_Z="DistroName: $DISTRO_NAME"
        lcMsgStr="=== ${DISTRO_NAME_Z} "  &&     Sbr_Str2DevTrm "$lcMsgStr" "3" "7"
        DISTRO_NAME_Z="Alpha:"$(echo $DISTRO_NAME | tr -dc 'A-z')
        lcMsgStr="=== Orig ${DISTRO_NAME_Z} "  &&     Sbr_Str2DevTrm "$lcMsgStr" "3" "7"
        DISTRO_NAME_Z="Numbers:"$(echo $DISTRO_NAME | tr -dc '0-9')
        lcMsgStr="=== Orig ${DISTRO_NAME_Z} "  &&     Sbr_Str2DevTrm "$lcMsgStr" "3" "7"
        lcMsgStr="  " && Sbr_Str2DevTrm "$lcMsgStr" "2" "3"
        lcMsgStr="======================================= "  &&     Sbr_Str2DevTrm "$lcMsgStr" "3" "5"
} # end
export -f Sbr_Splash_Banner
#!
#(: =====================================================
#(: fx Sbr_Splash_Pup   #! 
#(: called by: Main Quit
#(: param:
#(: purpose: 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : 
#(:
#! #####################################################
function Sbr_Splash_Pup() {  # Active
    echo  " "   #>/dev/console
###########################################################
#(: ==================================================
#(: fx Sbr_Sys_yg3()  
#(: name: 
#(: param:
#(: purpose: Puppy Ascii Graphic Image ( also for rc.sysinit and rc.shutdown )
#(: @param #(:  @return #(: call this way: #(: called by: #(: calls to: 
#(: returns: #(: method: #(: rationale: #(: note:
#(:
/bin/echo -en "......." # > /dev/console 
/bin/echo -en "......." # > /dev/console 
/bin/echo -en "......." # > /dev/console 
n=0
lcMsgStr1="/     -/osyyyysosyhhhhhyys+-
    -ohmNNmh+/hMMMMMMMMNNNNd+dMMMMNM+
  yMMMMNNmmddo/NMMMNNNNNNNNNo+NNNNNy
.NNNNNNmmmddds:MMNNNNNNNNNNNh:mNNN/
-NNNdyyyhdmmmd dNNNNNmmmmNNmdd/os/"
lcMsgStr2="/
.Nm+shddyooo+/smNNNNmmmmNh.   :mmd.
 NNNNy:    ./hmmmmmmmNNNN:     hNMh
 NMN-    -++- +NNNNNNNNNNm+..-sMMMM-
.MMo    oNNNNo hNNNNNNNNmhdNNNMMMMM+
.MMs    /NNNN/ dNmhs+:-  yMMMMMMMM+
 mMM+     .. sNN+.      hMMMMhhMMM-
 +MMMmo:...:sNMMMMMms:  hMMMMm.hMMy"
lcMsgStr3="/ yMMMMMMMMMMMNdMMMMMM::/+o+/
   sMMMMMMMMMMN+:oyyo:sMMMNNMMMNy
    :mMMMMMMMMMMMmddNMMMMMMMMmh/
      /dMMMMMMMMMMMMMMMMMMNdy/
        .+hNMMMMMMMMMNmdhs/.
            .:/+ooo+/:-." 
lcMsgStr11="'\\033[1G\\033[1;31m ${lcMsgStr1}'"
lcMsgStr12="'\\033[1G\\033[1;37m ${lcMsgStr2}'"
lcMsgStr13="'\\033[1G\\033[1;34m ${lcMsgStr3}'"
/bin/echo -en "${lcMsgStr11}" # > /dev/console 
/bin/echo -en "${lcMsgStr12}" # > /dev/console 
/bin/echo -en "${lcMsgStr13}" # > /dev/console 
/bin/echo -en "${lcMsgStr11}" > /dev/console 
/bin/echo -en "${lcMsgStr12}" > /dev/console 
/bin/echo -en "${lcMsgStr13}" > /dev/console 
echo " "
#! that's all !
} # end 
export -f Sbr_Splash_Pup
#(: =====================================================
#(: fx Sbr_Splash_Neo   #! Not Active
#(: called by: Main Quit 
#(: param:
#(: purpose: 
#(: note:     #! All Distros Do NOT have "neofetch" available. 
#!
function Sbr_Splash_Neo() { #! Not Active
    echo -e "         = = "      #>/dev/console
    echo -e "       =     ="     #>/dev/console
    echo -e "      =       = "   #>/dev/console
    #! many Puppy Distro do not have a "neofetch"  available. .  
    #! very long delay during seek "not-found" for filename ! 
        neofetch  --ascii_colors 3 1 2   
        #! echo "neo 3 1 2" > /dev/console &&   echo "neo 3 1 2" 
        #! lcMsgStr="...    neo 3 1 2    ... " && Sbr_Str2DevTrm "${lcMsgStr}" "2" "7"
    #! else,  let it ignore and skip over, non-fatal-error ! 
    #! not called because main ( ) screen titling is quicker / more important.
#! that's all !
} # end 
export -f Sbr_Splash_Neo
#!
#! ### END ### Splash ####!
#!

            #~ #(: =====================================================
            #~ #(: fx Sbr_CheckPupState
            #~ #(: called by: 
            #~ #(: param:
            #~ #(: purpose: check if system file is Found
            #~ #(: calls:   Sbr_Splash_It
            #~ #(: method:
            #~ #(: sends:
            #~ #(: rationale:
            #~ #(: note :
            #~ #! ###########################################################
            #~ function Sbr_CheckPupState() {  # ACTIVE	 Sbr_Dump_Sys
                #~ n=0
             #~ if [ -f /etc/rc.d/PUPSTATE ] ; then 
                #~ lcMsgStr="${DISTRO_NAME} ${DISTRO_VERSION}
                #~ Linux `uname -r` 
                #~ ${DISTRO_NAME} ${DISTRO_VERSION}
                #~ *** "
                #~ Sbr_Splash_It "$lcMsgStr" "yellow" "blue" "1" 
             #~ fi	
            #~ } 
            #~ export -f Sbr_CheckPupState
#!
#(: =====================================================
#(: fx Sbr_FnNotFound
#(: called by: ReStart, ReBoot, ReQuit PowerOff
#(: param:
#(: purpose: if system file is Not Found
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#! ###########################################################
function Sbr_FnNotFound() {  # ACTIVE
    n=0
        echo "---  ERROR: ${1}  File Not Found. --- " 
        Sbr_Splash_It " ERROR: ${1}  File Not Found."  "yellow" "black" "5"   #! -D---
} #! end 
export -f Sbr_FnNotFound
#!
#!
#!
#(: ######################################################################################
#(: fx Sbr_Box_Message    # Simple Message sbr based on gtkdialog box_help  written by GAE
#(: called by :
#(:    GuiHLP+  to  Sbr_Dump_HLP
#(:    GuiFAQ+  to  Sbr_Dump_FAQ
#(:    GuiFAQ+  to  Sbr_Dump_Proc 
#(:    GuiFAQ+  to  Sbr_Dxstro_Window
#(:
#(: fx Sbr_Box_Message   by gae 240101
#(: receives param : Header$1 and loads '/tmp/box_help' for Top-Edge Window Title. 
#(:
#(: fx Sbr_Box_Message   by gae 240101
#(: purpose : publish '/tmp/box_help'
#(:   "case and hack"  rewrite based on "box_help" , by gae 240101
#(:   provides wider screen width.
#(:   based directly on gtkdialog box_help code processes.
#(:
#(: fx Sbr_Box_Message   by gae 240101
#(:   usage :
#(:   HEADING is a short "title bar" description.
#(:   XML code is custom written to format "/tmp/box_help".
#(: returns:
#(:
#(: fx Sbr_Box_Message   by gae 240101
#(: method:
#(:     gtkdialog --center -p XML-Format-file (which loads /tmp/box_help )
#(: purpose : publish '/tmp/box_help'
#(:   "case and hack"  rewrite based on "box_help" 
#(:   based on gtkdialog box_help code processes.
#(:   provides wider screen width.
#(:
#(: first written : fx Sbr_Box_Message   by gae 240101
#(: note:
#(: purpose :  Simple Message sbr based on gtkdialog box_help
#(:   "case and hack"  rewrite based on "box_help" 
#(:   which allows author to change the "lead-in" XML code
#(:   and thus change the "format" of this custom "message_box".
#(:     Sbr_Box_Message does provide a "OK" user button.
#(:     Sbr_Box_Message does provide a "markup" on text for colors.
#(:     Sbr_Box_Message does allow dimension changes to box.
#(:     Sbr_Box_Message does not require a "URL" param.
#(:     Sbr_Box_Message requires using the "OK" button to exit.
#(: note:
#(:     XML assumes /tmp/box_help and "gtkdialog -p" internal code.
#(:     XML sets up the markup and color options for the imported text.
#(:     XML sets up the "OK" control button, and will show/close/"OK"
#(:
#(: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
#(: Message Box Routines used:  Sbr_Box_Message  and  gxMessage 
#(:
#(: fx Sbr_Box_Message   ,  by gae 240101
#(:  SPECIAL: internal hack on gtkdialog box_help, rewrite by gae, 240101
#(: used by "Hlp" , "Distro", "Proc", "Faq"
#(:
#(: gxMessage   Display Information: by gae 240101
#(:     expects plain text .
#(:     displays 45 char long, then wraps.
#(:     line-length expands to 72++
#(: 
#! ###############################################################
function Sbr_Box_Message() {  # ACTIVE   #! special rewrite by gae, 240101
    n=0
    export TEXTDOMAIN=libstardust
    export OUTPUT_CHARSET=UTF-8
    #
    if [ "$1" ] ; then
        Box_Msg_Heading="${1}"
    else
        Box_Msg_Heading="$(gettext '---Sbr_Box_Message---')"
    fi
    #!
#! Is Used by Help and FAQ  : 
export Box_MessageXML='
<window title="MGR_'${Box_Msg_Heading}'"
default-height="550"
default-width="760"
visible="true" >
<vbox space-expand="true" space-fill="true">
  <vbox space-expand="true" space-fill="true">
    <vbox scrollable="true" shadow-type="3" space-expand="true" space-fill="true">
      <vbox space-expand="false" space-fill="false">
        <text xpad="10" ypad="15" use-markup="true"><input file>'/tmp/box_help'</input></text>
      </vbox>
    </vbox>
  </vbox>
  <hbox space-expand="false" space-fill="false">
    <button>
      '"`/usr/lib/gtkdialog/xml_button-icon ok`"'
      <label>'$(gettext 'Ok')_!-required-!'</label>
   </button>
  </hbox>
</vbox>
</window>'
#!
    gtkdialog --center -p  Box_MessageXML      # assumes '/tmp/box_help'    #! -D---
    #!
    } #
    export -f Sbr_Box_Message
#! ACTIVE   for Dump_PROC and Dump_FAQ  #! no "timeout" function. 
#!
#!
#!
#(: ================================================================
#(: fx Sbr_S2F1_MI    #! Internal   :1: SMP1_MI : #! ACTIVE
#(: called by:  To Do: call direct INTERNAL ( no dependency ) 
#(: param:  
#(: purpose: wrapper for external system call to SMP "Save2File" 
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_S2F1_MI() {   #! ACTIVE 
    n=0
    #! =======================
    Sbr_Splash_It ":1: SMP1_MI :"  "black" "yellow"  ""         #! -D---
    ionice -c 1 snapmergepuppy   
    sleep 1
    #! kill ${GTKPID_Cold_Splash}  2> /dev/null
    sleep 2
    #! kill ${GTKPID_Cold_Splash}  2> /dev/null
} #! end
export -f Sbr_S2F1_MI    
#!
#!
#!
#(: ================================================================
#(: fx Sbr_S2F3_MI  # Internal  #! :3: SMP3_MI  #!  #! ACTIVE   
#(: called by:  To Do: call direct INTERNAL ( no dependency ) 
#(: param:  
#(: purpose: wrapper for external system call to SMP "Save2File" 
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_S2F3_MI() {   #! ACTIVE  
     n="0"
    Sbr_Splash_It  ":1: SMP3_MI :==="  "black" "yellow"  ""         #! -D---
    ionice -c 1 snapmergepuppy    
        sleep 1
    Sbr_Splash_It " :2: SMP3_MI :==="  "black" "yellow"  ""         #! -D---
    ionice -c 1 snapmergepuppy    
        sleep 1
    Sbr_Splash_It " :3: SMP3_MI :==="  "black" "yellow"  ""         #! -D---
    ionice -c 1 snapmergepuppy    
        sleep 1
    Sbr_Splash_It ": DONE : SMP3_MI :"  "yellow" "red"  ""         #! -D---
        sleep 2
} #! end
export -f Sbr_S2F3_MI    
#! #################################################################
#!
#!
#! ===Build_Menu.lst_=======================================================
#! ## begin: MenuMain_Echo   
#! ## Menu_Standard_Selection_Header
#! ===Build_Menu.lst_=======================================================
#!
#!
#(: ===========================================================================
#(: fx Sbr_Menu_Standard_Selection_Header    # MainMenu # Menu Standard Menu 
#(: called by: Menu Echo Short and Long 
#(: param: 
#(: purpose: Standard Menu Options, both Short and Long 
#(: calls:
#(: method: Change DISTRO by rewriting portions of "menu.lst" and then ReBooting 
#(: sends:
#(: rationale: most changes/updates occur here, shared Short and Long Menu.
#(: note : same STANDARD 'header' for long menu and short menu. 
#(: note : these "title Numbers" must match the Prep "if [ " for each "Puppy Distro" in list.
#(: Prep "if [ " code will declare/assign menu paramters. 
#!
#! method: echo Standard Main Menu Options into ""Short and "Long" Menu.lst file output. 
#! ############################################################################################
function Sbr_Menu_Standard_Selection_Header() {  # ACTIVE    
    #! Standard Menu Selection Header 
        echo "###  ${gcBootOsHd} ### echo Standard Main Menu Options #########"
        echo "###################################{ Bionic 4 Beaver  K:4 32bit }"
        echo "title  1 {[=_B4B_==]}---< UpupBB-K:4.9  > ------------K:4_32--220407 \n  \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupB4B-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupB4B-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupB4B-${gcBootOsHd}/initrd.gz"
        echo "###################################{ Bionic 5 Beaver  K:5 32bit }"
        echo "title  2 {[=_B5B_==]}---< UpupBB-K:5.10 >-------------K:5_32- 230612 \n  \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupB5B-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupB5B-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupB5B-${gcBootOsHd}/initrd.gz"
        echo "###################################{ Bionic Beaver    K:4 64bit }"
        echo "title  3 {[=_B64B_=]}---< UpupB64B-K:6 > -------------K:4_64- 231219   \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupB64B-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupB64B-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupB64B-${gcBootOsHd}/initrd.gz"
        echo "# ###################################{ Noble Numbat   K:6-32bit }"
        echo "title  4 {[=_N8N_=]}---< Noble-Numbat k:6.1.15>-------K:6_32- 241101  \n  \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-SDA"
        echo "  kernel /pup_UpupN8-${gcBootOsHd}/vmlinuz  psubdir=/pup_UpupN8-${gcBootOsHd} pmedia=usbflash pfix=fsck"
        echo "  initrd /pup_UpupN8-${gcBootOsHd}/initrd.gz"
        echo "###################################{ Tahr-6.06}       K:3-32bit }"
        echo "title  5 {[=_T-6_=]}---< Tahr-6.06 K:3 > -------------K:3-32- 190211   \n \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupT6-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupT6-${gcBootOsHd}  pmedia=usbflash  pfix=fsck,copy"
        echo "  initrd /pup_UpupT6-${gcBootOsHd}/initrd.gz"
        echo "###################################{ Mantic Minotaur  K:6-32bit }"
        echo "title  6 {_M6M_}--< UpupMM-23.11 > Mantic-Minotaur-L6-K:6_32- 231226 \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupMM-SDA/vmlinuz    psubdir=/pup_UpupMM-SDA pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupMM-SDA/initrd.gz"
        echo "###################################{ S15pup64 Slacko  K:5-64bit }"
        echo "title  7 {_S1564_}------ S15pup64-20.01 --------------K:5_64- 230724 \n \n \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_S15pup64-${gcBootOsHd}/vmlinuz    psubdir=/pup_S15pup64-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_S15pup64-${gcBootOsHd}/initrd.gz"
        echo "###################################{ Kinetic Kudu +D.22 } "
        echo "title  8 { K-K }------- UpupKK+D-22.  ----------------K:5_32- 230604 \n \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupKK-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupKK-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupKK-${gcBootOsHd}/initrd.gz"
        echo "####################34###############{ Xenial-64-750}"
        echo "title  9 {_X64_}---- Xenial-64-750  -------FF--LO-----K:4_64- 220401  \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupX64-${gcBootOsHd}/vmlinuz  psubdir=/pup_UpupX64-SDA pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupX64-${gcBootOsHd}/initrd.gz"
        echo "###################################{ pup Slacko7+14.2 }"
        echo "title 10 {_S-7 }---- pup Slacko7+14.2 ----------------S_32- 220205 \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_SpupS7-${gcBootOsHd}/vmlinuz    psubdir=/pup_SpupS7-${gcBootOsHd}  pmedia=usbflash  pfix=fsck,copy"
        echo "  initrd /pup_SpupS7-${gcBootOsHd}/initrd.gz"
        echo "# #####################################{ Spup64- }"
        echo "title 11 {_S64_7 }----Spup64  ------------------------K:5_ 64- 230724 \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_Spup64-${gcBootOsHd}/vmlinuz  psubdir=/pup_Spup64-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_Spup64-${gcBootOsHd}/initrd.gz"
        echo "###################################{ Impish Indri }"
        echo "title 12 { I-I }----Upup-Impish-Indri ----------------I-32- 220201 \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupII-${gcBootOsHd}/vmlinuz  psubdir=/pup_UpupII-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupII-${gcBootOsHd}/initrd.gz"
        echo "###################################{ UpupFF+D08.20.12 Focal-Fossa }"
        echo "title 13 { F-F }----Focal-Fossa  ---------------------F-32- 210410 \n \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupFF-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupFF-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupFF-${gcBootOsHd}/initrd.gz"
        echo "# #####################################{ XenialX7.08 }"
        echo "title 14 { X708}----Xenial-7.08  ---------------------X-32- 220401 \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupX708-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupX708-${gcBootOsHd}  pmedia=usbflash  pfix=fsck,copy"
        echo "  initrd /pup_UpupX708-${gcBootOsHd}/initrd.gz"
        echo "# #######################{ Slacko-LxSc }"
        echo "title 15 { SLxSc }-- Pup_Slacko-LxSc-20.01 ---------- S-K:5.4-64- 200101 \n \n  \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_Slacko-LxSc-${gcBootOsHd}/vmlinuz    psubdir=/pup_Slacko-LxSc-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_Slacko-LxSc-${gcBootOsHd}/initrd.gz"
        echo "# #####################################{ SLK64 --- }"
        echo "title 16 { EasyOS }--- EasyOS---FNF--------------------E-K:5.10 _64- 230400    \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_EasyOS-${gcBootOsHd}/vmlinuz    psubdir=/pup_EasyOS-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_EasyOS-${gcBootOsHd}/initrd"
        echo "# #####################################{ Quirky April 7 }"
        echo "title 17 { Quirky-7 }--- Quirky-7 ---beta-------------Q7-32- 200423  \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_Quirky-7-${gcBootOsHd}/vmlinuz    psubdir=/pup_Quirky-7-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_Quirky-7-${gcBootOsHd}/initrd.gz"
        echo "###################################{ Jammy Jellyfish +D+22.04 }"
        echo "title 18 { J5J }------- UpupJJ+D+22.04 L6 -----------K:5-32- 221230 \n  \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupJJ-${gcBootOsHd}/vmlinuz  psubdir=/pup_UpupJJ-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupJJ-${gcBootOsHd}/initrd.gz"
        echo "##################################{ Debian Book Worm 32 K:6 64bit }"
        echo "title 19 {==DBW32==}--< Debian Book-Worm 32 >-------K:6 _32- 231119 \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_DpupBW32-${gcBootOsHd}/vmlinuz    psubdir=/pup_DpupBW32-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_DpupBW32-${gcBootOsHd}/initrd.gz"
        echo "##################################{ Debian Book Worm 64 K:6 64bit }"
        echo "title 20 {==_DBW64_==}- Dpup-BW-64     - Debian BW--K:6 _64- 231119 \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_DpupBW64-${gcBootOsHd}/vmlinuz    psubdir=/pup_DpupBW64-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_DpupBW64-${gcBootOsHd}/initrd.gz"
        echo "# #####################################{ Quirky April 140 }"
        echo "title 21 { Quirky 140 }--- Quirky-140 ---beta--------------    \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_Quirky-140-${gcBootOsHd}/vmlinuz    psubdir=/pup_Quirky-140-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_Quirky-140-${gcBootOsHd}/initrd.gz"
        echo "# #####################################{ DVN9 }"
        echo "title 22 { Devuan 9.7.0-chimaera_4.0 }--- Devuan ---beta--------------    \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_Devuan-${gcBootOsHd}/vmlinuz    psubdir=/pup_Devuan-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_Devuan-${gcBootOsHd}/initrd.gz"
        echo "# ###################################{ Noble Numbat N8  K:6-32bit }"
        #~ echo "title 23 {{=_N8N_=}}---< Noble-Numbat N8N k:6.1.15 >----K:6_32- 241101  \n  \n   \n"
        #~ echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-SDA"
        #~ echo "  kernel /pup_UpupN8-${gcBootOsHd}/vmlinuz  psubdir=/pup_UpupN8-${gcBootOsHd} pmedia=usbflash pfix=fsck"
        #~ echo "  initrd /pup_UpupN8-${gcBootOsHd}/initrd.gz"
        #~ echo "###################################"
#!
} #  Any Other Puppy Distro Calls can be listed without Numbers. 
export -f Sbr_Menu_Standard_Selection_Header
#!
#! ====================================================
#! ## end: Menu_Main_Echo   
#! ====================================================
#!
#!
#! ====================================================
#! ## begin: Menu_Long_List  
#! ====================================================
#!
#(: ====================================================
#(: fx Sbr_Menu_Standard_End    # MainMenu
#(: called by: Menu Echo Short and Long 
#(: param: 
#(: purpose: Standard Menu End , both Short and Long 
#(: calls:
#(: method: standard "echo" 
#(: sends:
#(: rationale: most changes/updates occur here, shared Short and Long Menu.
#(: note : same STANDARD 'end' for long menu and short menu. 
#!
#! method: echo Standard  ""Short and "Long" Menu.lst file output. 
#! #############################################################################
function Sbr_Menu_Standard_End() {  # ACTIVE      
    #! ************************************************************
	 echo "#*	"
	 echo "#**(: Linux_Grub4Dos_system_commands.txt   "
	 echo "#*	13.3 The list of command-line and menu entry commands   "
	 echo "#*   "
	 echo "#*These commands are usable in the command-line and in menu entries. "
	 echo "#* If you forget a command, you can run the command help (see help).   "
	 echo "#*   "
	 echo "# *blocklist: Get the block list notation of a file   "
	 echo "# *boot: Start up your operating system   "
	 echo "# *cat: Show the contents of a file   "
	 echo "# *chainloader: Chain-load another boot loader   "
	 echo "# *cmp: Compare two files   "
	 echo "# *configfile: Load a configuration file   "
	 echo "# *debug: Toggle the debug flag   "
	 echo "# *displayapm: Display APM information   "
	 echo "# *displaymem: Display memory configuration   "
	 echo "# *embed: Embed Stage 1.5   "
	 echo "# *find: Find a file   "
	 echo "# *fstest: Test a filesystem   "
	 echo "# *geometry: Manipulate the geometry of a drive   "
	 echo "# *halt: Shut down your computer   "
	 echo "# *help: Show help messages   "
	 echo "# *impsprobe: Probe SMP   "
	 echo "# *initrd: Load an initrd   "
	 echo "# *install: Install GRUB   "
	 echo "# *ioprobe: Probe I/O ports used for a drive   "
	 echo "# *kernel: Load a kernel   "
	 echo "# *lock: Lock a menu entry   "
	 echo "# *makeactive: Make a partition active   "
	 echo "# *map: Map a drive to another   "
	 echo "# *md5crypt: Encrypt a password in MD5 format   "
	 echo "# *module: Load a module   "
	 echo "# *modulenounzip: Load a module without decompression   "
	 echo "# *pause: Wait for a key press   "
	 echo "# *quit: Exit from the grub shell   "
	 echo "# *reboot: Reboot your computer   "
	 echo "# *read: Read data from memory   "
	 echo "# *root: Set GRUBs root device   "
	 echo "# *rootnoverify: Set GRUB's root device without mounting   "
	 echo "# *savedefault: Save current entry as the default entry   "
	 echo "# *setup: Set up GRUB's installation automatically   "
	 echo "# *testload: Load a file for testing a filesystem   "
	 echo "# *testvbe: Test VESA BIOS EXTENSION   "
	 echo "# *uppermem: Set the upper memory size   "
	 echo "# *vbeprobe: Probe VESA BIOS EXTENSION   "
    #! ************************************************************
    #! Standard Menu Standard End
    echo "# ############################################################"
    echo "# ****************************************************************************"
    echo "# In itself ...  Godly Living is a benefit without consequence. "
    echo "# I can hear God laughing at us, and saying, "
    echo "# 'I gave you one law, you wanted ten ... you made a hundered, a thousand  "
    echo "# 'I gave you my soul to live a good life, and you play parlor games. '"
    echo "# 'I gave you my NAME    and now   you want a !sign! that "'I AM'"  ? ' "  
    echo "# ****************************************************************************"
    #! simple fall back. 
} #
export -f Sbr_Menu_Standard_End
#!
#! ===Build_Menu.lst_=======================================================
#! ## end: Menu_Main_Echo   
#! ===Build_Menu.lst_=======================================================
#!
#!
#! ===Build_Menu.lst_=======================================================
#! ## begin: Menu_Long_List  
#! ===Build_Menu.lst_=======================================================
#!
#(: ====================================================
#(: fx Sbr_Menu_Org_LongList    #: Active
#(: called by: main gui 
#(: purpose: (MGR) Build Menu Long format. 
#(: receives param:
#(: returns:
#(: note:
#(:
#! #####################################################################
function Sbr_Menu_Org_LongList() {  # ACTIVE      
    #! Standard Menu Long List 
    n=0
    #! initz was done by caller 
    #! Build Long Menu parameters 
    #!
    #! Main Menu Long with two color schemes: ARB_ORGCBYR ARB_ORGGBYR
    lcOsSubDef="0"   # "Original" Main Menu Long ALWAYS DEFAULTS to "0"  "MainMenu" "MenuLong"
    lcOsSubId="ORG"
    gcC3MOsSubId="{SDA}"
    gcMgrArCfgIdd="ORG"
    lcOsSubDir="Main"
    export lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-yel.xpm"
    export lcOsSubSplClr="red"
    #~ #! export lcOsSubTout="-" # very long wait , then default = 0
    #!
    #! 
    lcOsSubSplClrStr="color cyan/black   yellow/red       cyan/black    light-blue/black"
    #! Short Menu :  "color cyan/black   yellow/red       cyan/black    light-blue/black"
    lcOsSubSplClrID="bg=green/Black fg=yellow/red"
    lcOsSubSplClrIfg="yellow"
    lcOsSubSplClrIbg="blue" 
    #! 
    #! -D-----
/usr/lib/gtkdialog/box_splash -fg ${lcOsSubSplClrIfg} -bg ${lcOsSubSplClrIbg} -border true --center -close never -text "\
.     MGR - Build 'ORG' 'Long' Menu.lst:
.  ${lcOsSubSplClrID}  +KLM+ReStart
.  ${EXIT} = menu.lst ${gcC3MOsSubId}
.       
.
.                                       "&
        RETVAL=$?
        GtkPid_Mnu_Box_SplashBOL=$!    # capture PID
        sleep 3

        #! =============================================================
        (
        echo "#!/bin/bash"
        echo "# OS=${lcOsSubId} : Menu System LONG"
        echo "# DTS=${gcSysDts} : date generated"
        echo "# DTS=${gcSysDevDob} : date generated"
        echo "# menu.lst Long Menu " 
        echo "# menu-orig.lst is the standard "original" full menu.lst "
        echo "# MARK-${gcBootOsHd}  Main SDA HardDrive 500G / 2"
        echo "# Long Menu is a Build by 'MGR'"
        echo "# written by rc.z_MGR.sh & rc.z_C3M.sh"
        echo "#    insert user selected OS parameters"
        echo "#    compare to MGR ft(EXIT=ARB_00) in MGR fx(Sbr_ARB_00)"
        echo "#    ${gcSysDevDob} Glen Ellis"
        echo "#======================================================"
        echo "### produced by grub4dosconfig-v1.9.3"
        echo "#"
        echo "### Windows MBR is still installed in the MBR of /dev/${gcBootOsHd}"
        echo "### M$ MBR calls a faux /ntldr , which contains /grldr code"
        echo "# Default colors , bg is black  , letters yellow on red "
        echo "# color NORMAL            HIGHLIGHT       HELPTEXT       HEADING"
        echo "#       f/b               f/b              f/b           f/b"
        echo "# color green/black   yellow/red       cyan/black    light-blue/black"
        echo "# color cyan/black    yellow/red       cyan/black    light-blue/black"
        echo "# graphicsmode -1 800 600"
        echo " "
        lcOsSubSplClrStr="color green/black  yellow/red       cyan/black    light-blue/black"
        echo "${lcOsSubSplClrStr}"
        echo " # splashimage=/boot/grub/xpm-c-drkred.xpm"
        echo " # splashimage=/boot/grub/xpm-c-red.xpm"
        echo "timeout ${lcOsSubTout}"
        echo "default ${lcOsSubDef}"
    #!
    echo "###################################{ Jump Menu }"
    echo "title  0 { ${gcBootOsHd} } --- 'ORG' 'Long'  Menu --- /MARK-KLM  - ===  on { ${gcBootOsHd} } -------"
    echo "  find --set-root --ignore-floppies --ignore-cd /MARK-KLM"
    echo "  configfile /menu.lst"
    echo "  #find --set-root --ignore-floppies --ignore-cd /MARK-${gcBootOsHd}"
    echo "  #kernel /pup_UpupBB-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupBB-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
    echo "  #initrd /pup_UpupBB-${gcBootOsHd}/initrd.gz"
    echo "  root (hd0,0)"
    Sbr_Menu_Standard_Selection_Header  
    #!
    echo "###################################"
    echo "  title    " "\_"
    echo "  root (hd0,0)"
    echo "  title    " "\_"
    echo "  root (hd0,0)"
    echo "  title    " "\_"
    echo "  root (hd0,0)"
    echo "  title    " "\_"
    echo "  root (hd0,0)"
    echo "  title    " "\_"
    echo "  root (hd0,0)"
    echo "  title    " "\_"
    echo "  root (hd0,0)"
    echo "  title    " "\_"
    echo "  root (hd0,0)"
    echo "# ############################################################"
    echo "title    " "\_"
    echo "root (hd0,0)"
    echo "title    " "\_"
    echo "root (hd0,0)"
    echo "title    " "\_"
    echo "root (hd0,0)"
    echo "# #######################################################"
    echo "title ==={ P-M }  Any Parted-Magic }---"
    echo "  find --set-root --ignore-floppies --ignore-cd  /pmagic/bzImage"
    echo "  kernel  /pmagic/bzImage  noapic  load_ramdisk=1  prompt_ramdisk=0  pmedia=ataflash rw  vga=791  sleep=3  loglevel=0  keymap=us"
    echo "  initrd  /pmagic/initramfs"
    echo "# #######################################################"
    echo "# #######################################################"
    echo "title ==={ pmagic-6-7 }  Any Parted-Magic }---"
    echo "  find --set-root --ignore-floppies --ignore-cd  /pmagic-6-7/bzImage"
    echo "  kernel  /pmagic-6-7/bzImage  noapic  load_ramdisk=1  prompt_ramdisk=0  pmedia=ataflash rw  vga=791  sleep=3  loglevel=0  keymap=us"
    echo "  initrd  /pmagic-6-7/initramfs"
    echo "title    " "\_"
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    " "\_"
    echo "root (hd0,0)"
    echo "#######################################################"
    echo "title === KNOPPIX ==="
    echo "  root (hd3,0)"
    echo "title === G4D => Boot KNOPPIX   #3 partition  (hd3,0) --->  "
    echo "  root (hd3,0)"
    echo "  chainloader +1 || chainloader /grldr "
    echo "title === KNOPPIX ==="
    echo "  root (hd3,0)"
    echo "#####################"
    echo "title    " "\_"
    echo "root (hd0,0)"
    echo "#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
    echo "title  Six More Puppy OS below:  " "\_"
    echo "root (hd0,0)"
    echo "#______________________________________"
    echo "title   " "\_"
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    "
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    n"
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    n"
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    n"
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    "
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    "
    echo "root (hd0,0)"
    echo "title === Visible UTL ========================================="
    echo "  root (hd0,0)"
    echo "title Help - Boot Params"
    echo "  configfile /menu_phelp.lst"
    echo "title Boot Partition Sector first hard drive (hd0,0)"
    echo "  root (hd0,0)"
    echo "  # chainloader +1 || chainloader /grldr"
    echo "  chainloader +1 || chainloader /wxldr"
    echo "  # chainloader +1 || chainloader /bootmgr"
    echo "#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
    echo "title    "
    echo "root (hd0,0)"
    echo "# #######################################################"
    echo "  "
    echo "title >>> ${gcBootOsHd} >>> menu-Boot-NamedDrive.lst ==="
    echo "    find --set-root --ignore-floppies --ignore-cd /MARK-${gcBootOsHd}"
    echo "  configfile /menu-Boot-NamedDrive.lst"
    echo " "
    echo "title >>> ${gcBootOsHd} >>> menu-Boot-ChainLoader.lst ==="
    echo "    find --set-root --ignore-floppies --ignore-cd /MARK-${gcBootOsHd}"
    echo "  configfile /menu-Boot-ChainLoader.lst"
    echo " "
    echo "title >>> ${gcBootOsHd} >>> Advanced menu"
    echo "      find --set-root  --ignore-floppies --ignore-cd  /MARK-${gcBootOsHd}  "
    echo "  configfile /menu-advanced.lst"
    echo "    commandline"
    echo "# #######################################################"
    echo "title >>> All-Out-FIND-CONFIG   "
        echo "root (hd0,0)"
        echo "title    "
        echo "root (hd0,0)"
        echo "    "
        echo "title find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst   "
        echo "	errorcheck off   "
        echo "	configfile /menu.lst   "
        echo "	configfile /boot/grub/menu.lst   "
        echo "	configfile /grub/menu.lst   "
        echo "	find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst   "
        echo "	find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst   "
        echo "	find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst   "
        echo "	errorcheck on   "
        echo "	commandline   "
    echo "# ########################################################"
        echo "title    *** Grub4Dos commandline *** "
        echo "  commandline"
        echo " "
        echo "title    *** Re-BOOT command *** "  "\_"
        echo "  reboot"
        echo " "
        echo "title    *** Power-Off command *** "  "\_"
        echo "  shutdown"
        echo " "
        echo "title    *** Halt computer ***  \_ ( for experts only )"
        echo "  halt"
        echo " "
    echo "# ########################################################"
        echo "title   { 'SDA' }---{ set-root to self SDA }-------------"
        echo "  find --set-root --ignore-floppies --ignore-cd /MARK-SDA"
        echo "  configfile /menu.lst    "
    echo "# ############################################################"
    echo "# *"
    #!
    kill ${GtkPid_Mnu_Box_SplashBOL}   2> /dev/null
    #!
    Sbr_Menu_Standard_End # function    # proverb ending 
    echo "# ### END Long menu.lst ######################################"
    ) > /mnt/home/menu.lst
    #!
    #!
    export gcC3MConfigArbId="${gcC3MConfigArbId}"
    echo "${gcMgrArCfgIdd}" > "${gcMgrArbCfgFn}"  # config of menu
    #! -D---
/usr/lib/gtkdialog/box_splash -fg cyan -bg darkred -border true  -close never -text "\
.   Install 'Original' 'Long' Menu.lst:
.         ( DONE )
. ${EXIT} = menu.lst ${gcMgrArCfgIdd} 
.     !!!!!!!!!!!!!!!!!
.                                   "&
        GtkPid_Mnu_Box_SplashDOL=$!    # capture PID
        sleep 3
        #
        kill ${GtkPid_Mnu_Box_SplashDOL}   2> /dev/null 
        kill ${GtkPid_Mnu_Box_SplashBOM}   2> /dev/null 
        #
        #=============== now
        Sbr_Cbx_ReStart  1
        #=============== now
    #
} #
export Sbr_Menu_Org_LongList
#
#! ===Build_Menu.lst_=======================================================
#! ## end: Menu_Long_List   ############################################
#! ===Build_Menu.lst_=======================================================
#!
#!
#!
#! ===Build_Menu.lst_=======================================================
#! ## begin: Menu_Short_List   ##########################################
#(: note:   Loads Running Details for each of 22 Distro Menu.lst
#! ===Build_Menu.lst_=======================================================
#!
#(: ===========================================================
#(: fx Sbr_Menu_ShortList   #: Active
#(: called by: main gui 
#(: purpose: (MGR) Simple Build Menu Short format. 
#(: receives param:
#(: returns:
#(: note:   Loads Parameters for each of 22 Distro Menu.lst
#(:
#! #######################################################################
function Sbr_Menu_ShortList() {  #! INITZ then Write Menu.lst    # ACTIVE      
    #! Standard Menu Standard Menu Short List
       #! initz was done by caller 
       #! only SDA ! KLM must not write to /SDA/menu.lst 
       #! Sbr_Menu_ShortList sends parameters to trigger one specific OS. 
       #!
       #! here: begin "Build-Menu-Splash" 
       #!
       #! declare Preset Var for Standard Menu Option < buttons > . 
        lcOsSubClrBase="/boot/grub" # 'base' allows easy change of "menu.lst" background colors
        lcOsSubDef="0"      # "0" default position-selection in "menu.lst"  
        lcOsSubTout="33"    # prep Menu.lst long "Time-Out" as default "menu.lst" selection.
        #!
        #! Declare Preset Var for "Menu" < buttons > . 
        #!
        #! ======================================================================
        #(: fx IF EXIT:ARB_ORG     # Original type Long Menu 
        if [ "$EXIT" = "ARB_ORG" ] ; then    # EXIT:ARB_ORGinal initz  
                        lcOsSubDef="0"   # "00" default position-selection in "menu.lst"  
                        lcOsSubId="ARB"
                        gcMgrArCfgIdd="ARB_ORGinal"
                        lcOsSubDir="Main-ORG-ORGinal-SDA" 
                        lcOsSubFn="/mnt/home/menu.lstORG"   
                        lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-yel.xpm"
                        lcOsSubSplClrBg="blu"
                        lcOsSubTout="- # Generic 'ORGinal' has no timeout ."   
        fi
        #!
        #! Short Menu.lst is for PreSet Menu.lst.  Each Called OS must have param and Default "Position" value. 
        #! ======================================================================
        #(: fx IF EXIT:ARB_00     # short menu.lst   
        if ["$EXIT" = "ARB_ORG"] ; then    # EXIT:ARB_ORG initz  
                        lcOsSubDef="0"   # "00" default position-selection in "menu.lst"  
                        lcOsSubId="ARB_ORG"
                        gcMgrArCfgIdd="ARB_00"
                        lcOsSubDir="Main-00-Generic-SDA" 
                        lcOsSubFn="/mnt/home/menu.lst_ORG"  
                        lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-yel.xpm"
                        lcOsSubSplClrBg="red"
                        lcOsSubTout="-"  
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_B4B    # short menu.lst
        if [ "$EXIT" = "ARB_B4B" ] ; then
            lcOsSubDef="1"   # default position-selection
            lcOsSubId="B4B"
            gcMgrArCfgIdd="Upup-Bionic-Beaver-K4"
            lcOsSubDir="pup_UpupB4B-SDA"
            lcOsSubFn="/mnt/home/menu.lstB4B"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-red.xpm"
            lcOsSubSplClrFg="brown"   # "brown" is 8B6914 is "darkred"
            lcOsSubSplClrBg="yellow" 
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_B5B    # short menu.lst
        if [ "$EXIT" = "ARB_B5B" ] ; then
            lcOsSubDef="2"   # default position-selection
            lcOsSubId="B5B"
            gcMgrArCfgIdd="Upup-Bionic-Beaver-K5"
            lcOsSubDir="pup_UpupB5B-SDA"
            lcOsSubFn="/mnt/home/menu.lstB5B"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-red.xpm"
            lcOsSubSplClrFg="brown"   # "brown" is 8B6914 is "darkred"
            lcOsSubSplClrBg="yellow" 
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_B64B   # short menu.lst
        if [ "$EXIT" = "ARB_B64B" ] ; then
            lcOsSubDef="3"   # default position-selection
            lcOsSubId="B64B"
            gcMgrArCfgIdd="Upup-Bionic-Beaver_64_***"
            lcOsSubDir="pup_UpupB64B-SDA"
            lcOsSubFn="/mnt/home/menu.lstB64B"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-red.xpm"
            lcOsSubSplClrFg="brown"   # "brown" is 8B6914 is "darkred"
            lcOsSubSplClrBg="yellow" 
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_T-6    # short menu.lst
        if [ "$EXIT" = "ARB_T-6" ] ; then
            lcOsSubDef="5"
            lcOsSubId="T-6"
            gcMgrArCfgIdd="Tahr"
            lcOsSubDir="pup_UpupT6-SDA"
            lcOsSubFn="/mnt/home/menu.lstT6"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="yellow"
            lcOsSubSplClrBg="green"
            lcOsSubTout="12"
        fi

        #! ======================================================================
        #(: fx IF EXIT:ARB_N6N    # short menu.lst  #! Not Used
        if [ "$EXIT" = "ARB_N6N" ] ; then
            lcOsSubDef="22" 
            lcOsSubId="Nobel6"
            gcMgrArCfgIdd="Nobel6"
            lcOsSubDir="pup_UpupNN-SDA"
            lcOsSubFn="/mnt/home/menu.lstNobel6"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="blue"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_N7N    # short menu.lst  #! Not Used
        if [ "$EXIT" = "ARB_N7N" ] ; then
            lcOsSubDef="4" 
            lcOsSubId="Nobel7"
            gcMgrArCfgIdd="Nobel7"
            lcOsSubDir="pup_UpupN7-SDA"
            lcOsSubFn="/mnt/home/menu.lstNobel7"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="blue"
            lcOsSubSplClrBg="purple"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_N8N    # short menu.lst   #! Active
        if [ "$EXIT" = "ARB_N8N" ] ; then
            lcOsSubDef="4" 
            lcOsSubId="Nobel8"
            gxcMgrArCfgIdd="Nobel8"
            lcOsSubDir="pup_UpupN8-SDA"
            lcOsSubFn="/mnt/home/menu.lstNobel8"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="yellow"
            lcOsSubSplClrBg="purple"
            lcOsSubTout="12"
        fi


        #! ======================================================================
        #(: fx IF EXIT:ARB_DBW    # short menu.lst
        if [ "$EXIT" = "ARB_DBW32" ] ; then
            lcOsSubDef="19"   # default position-selection
            lcOsSubId="DBW"
            gcMgrArCfgIdd="BookWormDeb32"
            lcOsSubDir="pup_DpupBW-SDA"
            lcOsSubFn="/mnt/home/menu.lstDpupBW32"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="orange"
            lcOsSubSplClrBg="purple"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_DBW64    # short menu.lst
        if [ "$EXIT" = "ARB_DBW64" ] ; then
            lcOsSubDef="20"   # default position-selection
            lcOsSubId="DBW"
            gcMgrArCfgIdd="BookWormDeb64"
            lcOsSubDir="pup_DpupBW64-SDA"
            lcOsSubFn="/mnt/home/menu.lstDpupBW64"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="orange"
            lcOsSubSplClrBg="purple"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_DVN9    # short menu.lst
        if [ "$EXIT" = "ARB_DVN9" ] ; then
            lcOsSubDef="22"   # default position-selection
            lcOsSubId="DVN9"
            gcMgrArCfgIdd="Devuan9"
            lcOsSubDir="pup_Devuan-SDA"
            lcOsSubFn="/mnt/home/menu.lstDVN9"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="orange"
            lcOsSubSplClrBg="blue"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_M6M    # short menu.lst
        if [ "$EXIT" = "ARB_M6M" ] ; then
            lcOsSubDef="6"   # default position-selection
            lcOsSubId="M6M"
            gcMgrArCfgIdd="Mantic-Minotaur"
            lcOsSubDir="pup_UpupMM-SDA"
            lcOsSubFn="/mnt/home/menu.lstManticMinotaur"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="blue"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_S1564      # short menu.lst
        if [ "$EXIT" = "ARB_S1564" ] ; then
            lcOsSubDef="7"
            lcOsSubId="S15pupS64"
            gcMgrArCfgIdd="Slacko-S15-S64-K5"
            lcOsSubDir="pup_S15pup64-SDA"
            lcOsSubFn="/mnt/home/menu.lstS1564-"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="red"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_K-K    # short menu.lst
        if [ "$EXIT" = "ARB_K-K" ] ; then
            lcOsSubDef="8"   # default position-selection
            lcOsSubId="K-K"
            gcMgrArCfgIdd="Upup-Kenitic-Kudo"
            lcOsSubDir="pup_UpupKK-SDA"
            lcOsSubFn="/mnt/home/menu.lstKK"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="red"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_X64    # short menu.lst
        if [ "$EXIT" = "ARB_X64" ] ; then
            lcOsSubDef="9"   # default position-selection
            lcOsSubId="X64"
            gcMgrArCfgIdd="Upup-Xenial64"
            lcOsSubDir="pup_UpupX64-SDA"
            lcOsSubFn="/mnt/home/menu.lstX64"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-blu.xpm"
            lcOsSubSplClrFg="white"
            lcOsSubSplClrBg="green"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_S7     # short menu.lst
        if [ "$EXIT" = "ARB_S-7" ] ; then
            lcOsSubDef="10"   # default position-selection
            lcOsSubId="S-7"
            gcMgrArCfgIdd="S-7"
            lcOsSubDir="pup_SpupS7-SDA"
            lcOsSubFn="/mnt/home/menu.lstS7"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-blu.xpm"
            lcOsSubSplClrFg="white"
            lcOsSubSplClrBg="green"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_S64    # short menu.lst
        if [ "$EXIT" = "ARB_S64" ] ; then
            lcOsSubDef="11"   # default position-selection
            lcOsSubId="S64"
            gcMgrArCfgIdd="S64"
            lcOsSubDir="pup_Spup64-SDA"
            lcOsSubFn="/mnt/home/menu.lstSlacko64"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-blu.xpm"
            lcOsSubSplClrFg="white"
            lcOsSubSplClrBg="green"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_I-I    # short menu.lst
        if [ "$EXIT" = "ARB_I-I" ] ; then
            lcOsSubDef="12"   # default position-selection
            lcOsSubId="I-I"
            gcMgrArCfgIdd="I-I"
            lcOsSubDir="pup_UpupII-SDA"
            lcOsSubFn="/mnt/home/menu.lstQuirky"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-blu.xpm"
            lcOsSubSplClrFg="white"
            lcOsSubSplClrBg="green"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_FF     # short menu.lst
        if [ "$EXIT" = "ARB_F-F" ] ; then
            lcOsSubDef="13"   # default position-selection
            lcOsSubId="F-F"
            gcMgrArCfgIdd="F-F"
            lcOsSubDir="pup_UpupFF-SDA"
            lcOsSubFn="/mnt/home/menu.lstFF"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="red"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_X708   # short menu.lst
        if [ "$EXIT" = "ARB_X708" ] ; then
            lcOsSubDef="14"
            lcOsSubId="X708"
            gcMgrArCfgIdd="X708"
            lcOsSubDir="pup_UpupX708-SDA"
            lcOsSubFn="/mnt/home/menu.lstX708"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="red"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_SLXSC      # short menu.lst K=4
        if [ "$EXIT" = "ARB_SLXSC" ] ; then
            lcOsSubDef="15"
            lcOsSubId="SLXSC"
            gcMgrArCfgIdd="SLXSC"
            lcOsSubDir="pup_Slacko-LxSc-SDA"
            lcOsSubFn="/mnt/home/menu.lstSLXSC"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="red"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_SLK64      # short menu.lst K=4   # GTK window "width" and "height" not OK ! 
        if [ "$EXIT" = "ARB_SLK64" ] ; then
            lcOsSubDef="16"
            lcOsSubId="SLX64"
            gcMgrArCfgIdd="SLX64"
            lcOsSubDir="pup_SLK64-SDA"
            lcOsSubFn="/mnt/home/menu.lstSLK64"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-yel.xpm"
            lcOsSubSplClrFg="red"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_EasyOS      # short menu.lst K=?
        if [ "$EXIT" = "ARB_EOS" ] ; then
            lcOsSubDef="16"
            lcOsSubId="EasyOS"
            gcMgrArCfgIdd="EasyOS"
            lcOsSubDir="pup_EasyOS-SDA"
            lcOsSubFn="/mnt/home/menu.lstEasyOS"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-yel.xpm"
            lcOsSubSplClrFg="red"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_J5J    # short menu.lst
        if [ "$EXIT" = "ARB_J5J" ] ; then
            lcOsSubDef="18"  # default position-selection
            lcOsSubId="J5J" 
            gcMgrArCfgIdd="Upup-Jazzy-Jellyfish-K5" # subdir ID
            lcOsSubDir="pup_UpupJJ-SDA"  # /subdir-label
            lcOsSubFn="/mnt/home/menu.lstJJ"    
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-pur.xpm"  # image-background
            lcOsSubSplClrFg="yellow"
            lcOsSubSplClrBg="purple" 
            lcOsSubTout="12"    
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_Qk7    # short menu.lst
        if [ "$EXIT" = "ARB_Qk7" ] ; then
            lcOsSubDef="17" 
            lcOsSubId="Quirky7"
            gcMgrArCfgIdd="Quirky7"
            lcOsSubDir="pup_Quirky-7-SDA"
            lcOsSubFn="/mnt/home/menu.lstQuirky"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="red"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi
        #! ======================================================================
#!
#!  #! INITZ  and  default settings  are done. 
#!
#! ===Build_Menu.lst_=======================================================
#! ## end: Menu_Short_List   ##########################################
#(: note:   Loaded Parameters for each of 22 Distro Menu.lst
#! ===Build_Menu.lst_=======================================================
    #! =======================================================
    #(:    IF EXIT:ARB_ShortMenu    
    #! config via Sys_Pup_State:  gcMgrArbCfgFn="/root/my-applications/bin/C3M_Config_Arb"
    echo "${lcOsSubId}" > "${gcMgrArbCfgFn}" # gcMgrArCfgIdd
    #! -D---
    /usr/lib/gtkdialog/box_splash -fg ${lcOsSubSplClrFg} -bg ${lcOsSubSplClrBg} -border true -close never -text "\
    .
    .  Install  Menu.lst     
    .  ${gcMgrArCfgIdd}     
    .           
    .                                        "&
        RETVAL=$?
        GtkPid_Mnu_Box_Splash=$!
        #-----------------------------------------------------------------------
        #-----------------------------------------------------------------------
        #-----------------------------------------------------------------------
        #-----------------------------------------------------------------------
        #! ===Build_Menu.lst_=========================================
        #=== begin menu short code =====================================
        #(: =====================================================
        #(: === SHORT MENU === shortmenu === menu short === MenuShort === function ===
        #(:  SHORT MENU is a Build by 'MGR'"
        #(:  'ID = '${gcMgrArCfgIdd}'"
        #(:  "# used by rc.z_MGR.sh "
        #(:  insert user selected OS parameters"
        #(:  allow default forground/background colors"
        #(: ## Short: note peculiar end-of-line comments 
        #(: ## Short: extra quotes may cause fault  
        #( ======================================================"
    #! color NORMAL            HIGHLIGHT       HELPTEXT       HEADING
    #!       f/b               f/b              f/b           f/b
    #! color green/black   yellow/red       cyan/black    light-blue/black
    #! color cyan/black    yellow/red       cyan/black    light-blue/black
    lcOsSubSplClrStr="color green/black  yellow/red       cyan/black    light-blue/black"
    #! Short Menu :   "color cyan/black   yellow/red       cyan/black    light-blue/black"
        #! lcOsSubSplClrID="bg=green/Black fg=yellow/red"
        #! lcOsSubSplClrIfg="black"
        #! lcOsSubSplClrIbg="yellow"    
        #!
    #! ===Build_Menu.lst_===  Standare Menu.lst 'Header" =========================================
        (
        echo "#!/bin/bash"
        echo "#=========================================="
        echo "# OS=${lcOsSubId} : Menu System SHORT "
        echo "# DTS=${gcSysDts} : date generated"
        echo "# DTS=${gcSysDevDob} : date generated"
        echo "#=========================================="
        echo "#  compare to MGR ft(EXIT=ARB_00) in MGR fx(Sbr_ARB_00)"
        echo "#  Menu" 
        echo "#  ${gcSysDevDob}"
        echo "#=========================================="
        echo "# Default colors , bg is black  , letters yellow on red "
        echo "# color NORMAL            HIGHLIGHT     HELPTEXT      HEADING"
        echo "#       f/b               f/b           f/b           f/b"
        echo "# color green/black     yellow/red     cyan/black    light-blue/black"
        echo "# color cyan/black      yellow/red     cyan/black    light-blue/black"
        echo "# color light-gray/black yellow/red cyan/black light-blue/black"
        echo "color cyan/black yellow/red cyan/black light-blue/black"
        echo "graphicsmode  -1 800 600"
        echo "timeout ${lcOsSubTout}"
        echo "default ${lcOsSubDef}"
    echo "###################################{ Jump Menu }"
    echo "title  0 { ${gcBootOsHd} } --- Long Menu --- /MARK-KLM1   === on { ${gcBootOsHd} } -------"
    echo "  find --set-root --ignore-floppies --ignore-cd /MARK-KLM1"
    echo "  configfile /menu.lst"
        Sbr_Menu_Standard_Selection_Header   
        echo "# #######################################################"
        echo "title    " " \_"
        echo "root (hd0,0)"
        echo "#######################################################"
        echo "title === KNOPPIX ==="
        echo "  root (hd3,0)"
        echo "title === G4D => Boot KNOPPIX   #3 partition  (hd3,0) --->  "
        echo "  root (hd3,0)"
        echo "  chainloader +1 || chainloader /grldr "
        echo "title === KNOPPIX ==="
        echo "  root (hd3,0)"
        echo "# #######################################################"
        echo "title     " " \_"
        echo "root (hd0,0)"
        echo "# #######################################################"
        echo "title ==={ P-M }  Any Parted-Magic }---"
        echo "  find --set-root --ignore-floppies --ignore-cd  /pmagic/bzImage"
        echo "  kernel  /pmagic/bzImage  noapic  load_ramdisk=1  prompt_ramdisk=0  pmedia=ataflash rw  vga=791  sleep=3  loglevel=0  keymap=us"
        echo "  initrd  /pmagic/initramfs"
        echo "# #######################################################"
        echo "title ==={ pmagic-6-7 }  Any Parted-Magic }---"
        echo "  find --set-root --ignore-floppies --ignore-cd  /pmagic-6-7/bzImage"
        echo "  kernel  /pmagic-6-7/bzImage  noapic  load_ramdisk=1  prompt_ramdisk=0  pmedia=ataflash rw  vga=791  sleep=3  loglevel=0  keymap=us"
        echo "  initrd  /pmagic-6-7/initramfs"
        echo "# #######################################################"
        echo "title >>> SDA >>> menu-Boot-NamedDrive.lst ==="
        echo "    find --set-root --ignore-floppies --ignore-cd /MARK-SDA"
        echo "  configfile /menu-Boot-NamedDrive.lst"
        echo " "
        echo "title >>> SDA >>> menu-Boot-ChainLoader.lst ==="
        echo "    find --set-root --ignore-floppies --ignore-cd /MARK-SDA"
        echo "  configfile /menu-Boot-ChainLoader.lst"
        echo " "
        echo "title >>> SDA >>> Advanced menu ==="
        echo "    find --set-root  --ignore-floppies --ignore-cd  /MARK-SDA  "
        echo "    configfile /menu-advanced.lst"
        echo "    commandline"
        echo "# #######################################################"
        echo "title    "
        echo "root (hd0,0)"
        echo "title    *** Help *** " "\_"
        echo "  help"
        echo " "
        echo "title    *** Grub4Dos commandline *** " "\_"
        echo "  commandline"
        echo " "
        echo "title    *** Re-BOOT command *** "  "\_"
        echo "  reboot"
        echo " "
        echo "title    *** Power-Off command *** "  "\_"
        echo "  shutdown"
        echo " "
        echo "title    *** Halt computer ***  \_ ( for experts only )"
        echo "  halt"
        echo " "
        echo "# ##############################################################{ Menu with Wait }"
        echo "title  0 find ANY menu.lst ---> {SDA} {KLM1} {KLM2} {FIT64} {FIT16A} {FIT16B} -------"
        echo " errorcheck off"
        echo "      find --set-root --ignore-floppies --ignore-cd /MARK-SDA && configfile /menu.lst"
        echo "      find --set-root --ignore-floppies --ignore-cd /MARK-KLM1 && configfile /menu.lst"
        echo "      find --set-root --ignore-floppies --ignore-cd /MARK-FIT64 && configfile /menu.lst"
        echo "      find --set-root --ignore-floppies --ignore-cd /MARK-FIT16A && configfile /menu.lst"
        echo "      find --set-root --ignore-floppies --ignore-cd /MARK-FIT16B && configfile /menu.lst"
        echo " errorcheck on"
        echo " root (hd0,0)"
        echo "# ****************************************************************************"
        Sbr_Menu_Standard_End # function  # proverb ending 
        echo "# #######################################################"
        ) > /mnt/home/menu.lst   #   "title  0{ 'C3M' '00'  Short Menu }---SDA"
        #!
        sleep 1 #! flush buffers.
        #! Permit Execute menu.lst
        chmod +x "/mnt/home/menu.lst"
        n=0
        #!
        Sbr_Splash_It "Menu Build - > S2F3_MI" "yellow" "red"  "3"
        #!
        Sbr_S2F1_MI   #! Save2File 
        #!
        kill ${GtkPid_Mnu_Box_Splash}    2> /dev/null #! here,  kill "Build-Menu-Splash" background
        #!
        if [ ! "$EXIT" = "ARB_ORG" ] ; then    # Standard, so ReBoot
                Sbr_Cbx_ReBoot "1"  #! Standard ReBoot so to load New System and the "new menu.lst"
        else
                echo "#! else if EXIT:ARB_ORG then ReStart ========="  >/dev/console
                Sbr_Cbx_ReStart "1"  #! Standard ReStart for ARB_ORGinal style menu.lst. 
        fi
} #
export -f Sbr_Menu_ShortList
#!
#! ===Build_Menu.lst_========================================
#! ## end: Menu_Short_List   ####################################
#! ## end: Menu_Short_List   ####################################
#! ## end: Menu_Short_List   ####################################
#! ===Build_Menu.lst_========================================
#!
#!
#!
#!
#!
#! #######################################################
#! BEGIN:     Embedded_Graphic_Images   "EmGr"
#! reference: rc.z_CDW_Embedded_Graphic_Images.sh
#! #######################################################
#!
#(: ====================================================
#(: fx Sbr_CDW_Embedded_Dialog_Colors   #: Active Marker
#(: called by: main () 
#(: purpose: install in environment ;  setup color constants during main ()
#(: receives param:
#(: returns:
#(: note:
#(:
#! ###############################################################################################
function Sbr_CDW_Embedded_Dialog_Colors() { # ACTIVE 
    n=0
    lcDialogColorOrig="  -fg yellow -bg darkred  "  # original
    lcDialogFgDrkRed=" -fg darkred "
    lcDialogFgYel=" -fg yellow "
    lcDialogFgBlk=" -fg black "
    lcDialogFgDrkRed=" -fg darkred "
    lcDialogBgBlu=" -bg blue "
    lcDialogBgGrn=" -bg green "
    lcDialogBgYel=" -bg yellow "
    lcDialogBgBlk=" -fg black "
} #
export -f Sbr_CDW_Embedded_Dialog_Colors
#!
#!
#! ======================================================
#(: fx Sbr_CDW_EGI_Long #: Active
#(: called by: Check-If      
#(: purpose: (MGR) CDW EGI Long FORM
#(: method:  write /tmp/embedded images only on first "bootup" and "startup". 
    #!  for ReStart, retain this embedded images flag-file, so quicker restart. 
    #!  Do Not !!! rm -f ${gcEmGaImgFnTrgTxtMaster}   #! image files master flag-file 
#(: receives param:
#(: returns:
#(: note:  === initiated during "Long" vs "Short" Image development. 
#(: # Title "gcEmGaImgFnTrgTxtMaster" declared/assigned in Header. 
#(:
#! #########################################################
function Sbr_CDW_EGI_Long() {   # ACTIVE  
lcEmGrImg="=== ${gcEmGaImgFnTrgTxtMaster} ==="   # Title for each Gui section.
touch ${gcEmGaImgFnTrgTxtMaster}   #! MUST touch initz and redate file .
echo "### EmGrImg Master File ### $lcEmGrImg" > ${gcEmGaImgFnTrgTxtMaster}  #! load the key .
#!
n=0
#!
    #! ###########################################################
    #! begin:   HASH   red green blue
    #! ###########################################################
            #!
            #! 2 "EmGr"### HASH GRN ### Red Wht Grn ########################################################
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            lcEmGrImgSrc="/tmp/EmGr-img-hash-grn.xpm" ### fake green-PURPLE # major upper-left Image
            echo "hash-grn.xpm" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '
            /* XPM */
            static char *hash_xpm[] = {
            "32 32 5 1",
            "   c none",
            "1  c #11FF11",
            "2  c #FFFFFF",
            "3  c #2222FF",
            "4  c #818181",
            "                                ",
            "                                ",
            "       111        111           ",
            "       12133      12133         ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            " 11111112111111111121111111     ",
            " 1222222222222222222222222133   ",
            " 11111112111111111121111111334  ",
            "   333312133333333121333333334  ",
            "   333312133333333121333333334  ",
            "    44412133444444121334444444  ",
            "       12133      121334        ",
            "       12133      121334        ",
            " 11111112111111111121111111     ",
            " 1222222222222222222222222133   ",
            " 11111112111111111121111111334  ",
            "   333312133333333121333333334  ",
            "   333312133333333121333333334  ",
            "    44412133444444121334444444  ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       111334     111334        ",
            "        33334      33334        ",
            "        33334      33334        ",
            "                                "
            };
            ' > ${lcEmGrImgSrc}   # /tmp to be inserted into <button>
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for Trg for "Dump" to screen
            #!
            #!
            #!
            #!
            #! 1 "EmGr"### HASH-RED ########################################################
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            lcEmGrImgSrc="/tmp/EmGr-img-hash-red.xpm" ### fake green-RED # major upper-left Image
            echo "hash-red.xpm" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '
            /* XPM */
            static char *hash_xpm[] = {
            "32 32 5 1",
            "   c none",
            "1  c #FF0F0F",
            "2  c #0F0F0F0",
            "3  c #0FF00F",
            "4  c #0FF00F",
            "                                ",
            "                                ",
            "       111        111           ",
            "       12133      12133         ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            " 11111112111111111121111111     ",
            " 1222222222222222222222222133   ",
            " 11111112111111111121111111334  ",
            "   333312133333333121333333334  ",
            "   333312133333333121333333334  ",
            "    44412133444444121334444444  ",
            "       12133      121334        ",
            "       12133      121334        ",
            " 11111112111111111121111111     ",
            " 1222222222222222222222222133   ",
            " 11111112111111111121111111334  ",
            "   333312133333333121333333334  ",
            "   333312133333333121333333334  ",
            "    44412133444444121334444444  ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       111334     111334        ",
            "        33334      33334        ",
            "        33334      33334        ",
            "                                "
            };
            ' > ${lcEmGrImgSrc}   # /tmp to be inserted into <button>
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for Trg for "Dump" to screen
            #!
            #!
            #! 1 "EmGr"### HASH-Blu ########################################################
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            lcEmGrImgSrc="/tmp/EmGr-img-hash-blu.xpm" ### 
            echo "hash-red.xpm" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '
            /* XPM */
            static char *hash_xpm[] = {
            "32 32 5 1",
            "   c none",
            "1  c #FF0FF0",
            "2  c #0F0FF0",
            "3  c #0FF00F",
            "4  c #0FF00F",
            "                                ",
            "                                ",
            "       111        111           ",
            "       12133      12133         ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            " 11111112111111111121111111     ",
            " 1222222222222222222222222133   ",
            " 11111112111111111121111111334  ",
            "   333312133333333121333333334  ",
            "   333312133333333121333333334  ",
            "    44412133444444121334444444  ",
            "       12133      121334        ",
            "       12133      121334        ",
            " 11111112111111111121111111     ",
            " 1222222222222222222222222133   ",
            " 11111112111111111121111111334  ",
            "   333312133333333121333333334  ",
            "   333312133333333121333333334  ",
            "    44412133444444121334444444  ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       121334     121334        ",
            "       111334     111334        ",
            "        33334      33334        ",
            "        33334      33334        ",
            "                                "
            };
            ' > ${lcEmGrImgSrc}   # /tmp to be inserted into <button>
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for Trg for "Dump" to screen
            #!
            #!
    #! ###########################################################
    #! end:   HASH   
    #! ###########################################################
    #!
    #!
    #! ############################################################
    #! begin:   LightBulb_svg_Text   
    #! ############################################################
    #!
    #!
        lcEmGrImgSrc="/tmp/EmGr-img-lightbulb.svg" 
        echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
        echo "EmGr-img-lightbulb.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
        echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
        echo '<?xml version="1.0" encoding="UTF-8"?>
      <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="64px" width="64px" viewBox="0 0 100 100">
      <defs>
      <radialGradient id="RG1" cx="50%" cy="50%" fx="50%" fy="50%" r="60%">
      <stop style="stop-color:rgb(255,255,255);stop-opacity:0.75;" offset="0%"/>
      <stop style="stop-color:rgb(252,255,166);stop-opacity:1;" offset="100%"/>
      </radialGradient>
      <linearGradient id="LG1" x1="20%" y1="80%" x2="20%" y2="0%">
      <stop style="stop-color:#999;stop-opacity:1" offset="0%" />
      <stop style="stop-color:#DDD;stop-opacity:1" offset="100%" />
      </linearGradient>
      <linearGradient id="LG2" x1="20%" y1="80%" x2="20%" y2="0%">
      <stop style="stop-color:#AAA;stop-opacity:1" offset="0%" />
      <stop style="stop-color:#EEE;stop-opacity:1" offset="100%" />
      </linearGradient>
      </defs>
      <path style="fill:url(#RG1);fill-opacity:1;fill-rule:nonzero;stroke-width:1;stroke:#666;" d="M 40,70 Q 40,65 30,55 A 28 28 1 1 1 70 55 Q 60,65 60,70"/>
      <path style="stroke-width:0.5;stroke:#333;fill:none" d="M 45,70 41,40 C 42,42 43,38 44,40 C 45,42 46,38 47,40 C 48,42 49,38 50,40 C 51,42 52,38 53,40 C 54,42 55,38 56,40 C 57,42 58,38 59,40 L 55,70"/>
      <path style="fill:url(#LG1);stroke:none" d="M 39,70 61,70 61,88 39,88 z" />
      <path style="fill:url(#LG2);stroke:none" d="M 39,73 61,77 Q 62.25,78.6 61,80 L 39,76 Q 37.75,74.4 39,73 z M 39,79 61,83 Q 62.25,84.6 61,86 L 39,82 Q 37.75,80.4 39,79 z" />
      <path style="fill:#333" d="M 45,88 Q 50,92 55,88 z"/>
      </svg>
      ' > ${lcEmGrImgSrc}
      cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
    #!
    #!
    #! ############################################################
    #! begin:   Button_svg_Text   
    #!          Rect Box with Message Fill
    #!          Manager   System   Menu   BackUp   Dox   Util 
    #! ############################################################
        #!
        #!
        lcEmGrImgSrc="/tmp/EmGr-img-button-system.svg"
        echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
        echo "EmGr-img-button-text.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
        echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
        echo '<?xml version="1.0" encoding="UTF-8"?>
        <svg version="1.1"> 
              <rect
              style="fill:yellow;fill-opacity:22;stroke-width:5;stroke:red;stroke-opacity:33;"
             width="275" height="36" rx="10" ry="10" x="1" y="1"/>
                   <text style="font-family:DejaVu;font-size:22;fill-opacity:1"
              x="25"  y="27" >
        ooo---- System ---ooo
             </text>
        </svg>
        ' > ${lcEmGrImgSrc}
        cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
        #!
        ##############################################################################
        #! Button svg "Menu" "EmGr"
        ##############################################################################
        lcEmGrImgSrc="/tmp/EmGr-img-button-menu.svg"
        echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
        echo "EmGr-img-button-text.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
        echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
        echo '<?xml version="1.0" encoding="UTF-8"?>
        <svg version="1.1"> 
              <rect
              style="fill:yellow;fill-opacity:22;stroke-width:5;stroke:blue;stroke-opacity:33;"
             width="245" height="36" rx="10" ry="10" x="1" y="1"/>
                   <text style="font-family:DejaVu;font-size:22;fill-opacity:1"
              x="25"  y="27" >
        ooo--- Menu ---ooo
             </text>
        </svg>
        ' > ${lcEmGrImgSrc}
        cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
        #!
        ##############################################################################
        #! Button svg "Back" "EmGr"
        ##############################################################################
        lcEmGrImgSrc="/tmp/EmGr-img-button-back.svg"
        echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
        echo "EmGr-img-button-back.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
        echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
        echo '<?xml version="1.0" encoding="UTF-8"?>
        <svg version="1.1"> 
              <rect
              style="fill:yellow;fill-opacity:22;stroke-width:5;stroke:blue;stroke-opacity:33;"
             width="265" height="36" rx="10" ry="10" x="1" y="1"/>
                   <text style="font-family:DejaVu;font-size:22;fill-opacity:1"
              x="25"  y="27" >
        ooo--- BackUp ---ooo
             </text>
        </svg>
        ' > ${lcEmGrImgSrc}
        cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
        #!
        ##############################################################################
        #! Button svg "Dox" "EmGr"
        ##############################################################################
        lcEmGrImgSrc="/tmp/EmGr-img-button-dox.svg"
        echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
        echo "EmGr-img-button-dox.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
        echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
        echo '<?xml version="1.0" encoding="UTF-8"?>
        <svg version="1.1"> 
              <rect
              style="fill:yellow;fill-opacity:22;stroke-width:5;stroke:blue;stroke-opacity:33;"
             width="340" height="36" rx="10" ry="10" x="1" y="1"/>
                   <text style="font-family:DejaVu;font-size:22;fill-opacity:1"
              x="25"  y="27" >
        ooo--- Dox-Help-Info ---ooo
             </text>
        </svg>
        ' > ${lcEmGrImgSrc}
        cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
        #!
        ##############################################################################
        #! Button svg "Util" "EmGr"
        ##############################################################################
        lcEmGrImgSrc="/tmp/EmGr-img-button-util.svg"
        echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
        echo "EmGr-img-button-util.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
        echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
        echo '<?xml version="1.0" encoding="UTF-8"?>
        <svg version="1.1"> 
              <rect
              style="fill:yellow;fill-opacity:22;stroke-width:5;stroke:blue;stroke-opacity:33;"
             width="345" height="36" rx="10" ry="10" x="1" y="1"/>
                   <text style="font-family:DejaVu;font-size:22;fill-opacity:1"
              x="25"  y="27" >
        ooo---- Utility-Image ---ooo
             </text>
        </svg>
        ' > ${lcEmGrImgSrc}
        cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
        #!
    #!
    #! ############################################################
    #! begin:    APPLE
    #! ############################################################
    #!
            #! 3 "EmGr"############################################################
            lcEmGrImgSrc="/tmp/EmGr-img-apple-redred.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "apple-redred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g
            style="fill:none; fill:#BB2222; stroke:#AE3333; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                <path d="m 50,10 0,35"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 4 "EmGr" ############################################################
            lcEmGrImgSrc="/tmp/EmGr-img-apple-redblu.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "apple-redblu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g
            style="fill:none; fill:#1111FF; stroke:#AE3333; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                <path d="m 50,10 0,35"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 5 "EmGr" ###########################################################
            lcEmGrImgSrc="/tmp/EmGr-img-apple-redyel.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "apple-redyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g
            style="fill:none; fill:#F8F800; stroke:#AE3333; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                <path d="m 50,10 0,35"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 6 "EmGr" ###########################################################
            lcEmGrImgSrc="/tmp/EmGr-img-apple-redgrn.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "apple-redgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g
            style="fill:none; fill:#33DD33; stroke:#BE3333; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                <path d="m 50,10 0,35"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #! #############################################################
            #!
            #!
    #! #############################################################
    #! begin:    QUIT
    #! #############################################################
    #!
            #! 7 "EmGr"#############################################################
            lcEmGrImgSrc="/tmp/EmGr-img-quit-rednnn.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "quit-rednnn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g style="fill:none;stroke:#FF1111;stroke-width:12px;stroke-linecap:round;stroke-linejoin:round;">
                <path d="m 50,10 0,35"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 8 "EmGr" ###########################################################
            lcEmGrImgSrc="/tmp/EmGr-img-quit-grnnnn.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "quit-grnnnn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g style="fill:none;stroke:#33FF33;stroke-width:17px;stroke-linecap:round;stroke-linejoin:round;">
                <path d="m 70,2 0,35"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 9 "EmGr" ###########################################################
            lcEmGrImgSrc="/tmp/EmGr-img-quit-yelnnn.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "quit-yelnnn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g style="fill:none;stroke:#FFFF00;stroke-width:12px;stroke-linecap:round;stroke-linejoin:round;">
                <path d="m 50,10 0,35"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #! ############################################################
    #!
    #! ###########################################################
    #! begin:   JUG
    #! ###########################################################
    #!
            #! 10 "EmGr" ############################################################
            lcEmGrImgSrc="/tmp/EmGr-img-jug-bluxyel.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "jug-bluxyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
             <g style="fill:yellow;stroke:blue;stroke-width:15px;stroke-linecap:round;stroke-linejoin:round;">
             <path d="m 35,35,35,35"/>
             <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
             </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 11 "EmGr" ############################################################
            lcEmGrImgSrc="/tmp/EmGr-img-jug-blu0yel.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "jug-blu0yel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g style="fill:yellow;stroke:blue;stroke-width:15px;stroke-linecap:round;stroke-linejoin:round;">
                <path d="M 16,20 C -3,48 16,90 51,90 79,90 89,67 90,52 91,37 85,26 83,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 12 "EmGr" ############################################################
            lcEmGrImgSrc="/tmp/EmGr-img-jug-grnxorange.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "jug-grnxorange.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g style="fill:orange;stroke:green;stroke-width:21px;stroke-linecap:round;stroke-linejoin:round;">
                <path d="m 31,31,31,31"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 13 "EmGr" ###########################################################
            lcEmGrImgSrc="/tmp/EmGr-img-jug-redxyel.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "jug-redxyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g
            style="fill:'yellow'; stroke:'red'; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                <path d="m 0"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 13 "EmGr" ###########################################################
            lcEmGrImgSrc="/tmp/EmGr-img-jug-grnxyel.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "jug-grnxyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g
            style="fill:'lightgreen'; stroke:'red'; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                <path d="m 0"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 14 "EmGr" ###########################################################
            lcEmGrImgSrc="/tmp/EmGr-img-jug-red0yel.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "jug-red0yel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g
            style="fill:'yellow'; stroke:'red'; stroke-width:14px; stroke-linecap:round; stroke-linejoin:round;">
                <path d="m 0"/>
                <path d="M 50,5 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 55,5"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 15 "EmGr" ###########################################################
            lcEmGrImgSrc="/tmp/EmGr-img-jug-redxgrn.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "jug-redxgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g
            style="fill:'green'; stroke:'red'; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                <path d="m 0"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 16 "EmGr" ###########################################################
            lcEmGrImgSrc="/tmp/EmGr-img-jug-grnxred.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "jug-grnxred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g
            style="fill:'red'; stroke:'green'; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                <path d="m 0"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 17 "EmGr" ###########################################################
            lcEmGrImgSrc="/tmp/EmGr-img-jug-redxyel.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "jug-redxyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g
            style="fill:'yellow'; stroke:'red'; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                <path d="m 0"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #!
            #! 18 "EmGr" ###########################################################
            lcEmGrImgSrc="/tmp/EmGr-img-jug-redxblu.svg"
            echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo "jug-redxblu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
            echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
            echo '<?xml version="1.0" encoding="UTF-8"?>
            <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
              <g
            style="fill:'blue'; stroke:'red'; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                <path d="m 0"/>
                <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
              </g>
            </svg>
            ' > ${lcEmGrImgSrc}
            cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
            #! ############################################################
        #!
        #! #################################################################
        #! begin: Check-Mark  "colorXcolor" 
        #! #################################################################
                #!
                #! 90X
                #! 19 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-90-redXblu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-redXblured.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="90" width="90">
                  <path style="fill:#1111FF;fill-opacity:0.8;stroke:#FF1111;stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 47,23 55,18 42,16 13,01 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 90X
                #! 20 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-90-redXgrn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-90-redXgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="80" width="80">
                  <path style="fill:#11FF11;fill-opacity:0.8;stroke:#FF1111;stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 47,23 55,18 42,16 13,01 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! #! 90X
                #! #! 20 "EmGr" ###########################################################
                #! lcEmGrImgSrc="/tmp/EmGr-img-Check-90-redXgrn.svg"
                #! echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                #! echo "Check-90-redXgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                #! echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                #! echo '<?xml version="1.0" encoding="UTF-8"?>
                #! <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="80" width="80">
                  #! <path style="fill:'lightblue';fill-opacity:0.8;stroke:'red';stroke-width:3"
                #! d="M 38,49 C 49,38 56,48 64,54 68,57 47,23 55,18 42,16 13,01 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                #! </svg>
                #! ' > ${lcEmGrImgSrc}
                #! cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #! #!
                #! 90X
                #! 22 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-90-redXyel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-90-redXyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="90" width="90">
                  <path style="fill:#FFFF11;fill-opacity:0.8;stroke:#FF1111;stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 47,23 55,18 42,16 13,01 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 111X
                #! 111X "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-111-yelXred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-111-yelXred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="111" width="111">
                  <path style="fill:'yellow';fill-opacity:0.8;stroke:'red';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! d="M 38,49 C 49,38 56,48 64,54 68,57 47,23 55,18 42,16 13,01 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                #! 111X
                #! 111X "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-111-bluXred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-111-bluXred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="111" width="111">
                  <path style="fill:'red';fill-opacity:0.8;stroke:'blue';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #! 111X
                #! 111X "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-111-grnXred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-111-grnXred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="111" width="111">
                  <path style="fill:'red';fill-opacity:0.8;stroke:'green';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! X
                #! 24 "EmGr" ###########################################################
                #! 
                #! X
                #! 25 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-yelXblu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-yelXblu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'blue';fill-opacity:0.8;stroke:'yellow';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! X
                #! 26 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-redXblu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-redXblu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'blue';fill-opacity:0.8;stroke:'red';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! X
                #! 27 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-bluXred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-bluXred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'red';fill-opacity:0.8;stroke:'blu';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! X
                #! 28 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-grnXblu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-grnXblu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'blue';fill-opacity:0.8;stroke:'green';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! X
                #! 29 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-bluXgrn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-bluXgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'green';fill-opacity:0.8;stroke:'blue';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 30 "EmGr" ###########################################################
                #!
                #!
        #! #################################################################
        #! begin: Check-Mark  "colorcolor" 
        #! #################################################################
                #!
                #! 31 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-redXgrn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-redXgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'red';fill-opacity:0.8;stroke:'green';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 32 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-redXred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-redXred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'red';fill-opacity:0.8;stroke:'red';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 33 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-grnXgrn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-grnXgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'#00FF00';fill-opacity:1.3;stroke:'green';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 35 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-yelXyel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-yelXyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'yellow';fill-opacity:0.8;stroke:'#888800';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 36 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-bluXblu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-bluXblu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:#0000FF;fill-opacity:0.8;stroke:blue;stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #! ############################################################
                #!
                #! 37 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-redred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-redred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:#FF1111;fill-opacity:0.8;stroke:#FF0000;stroke-width:5"
                d="M 38,49 C 41,53 56,82 58,95 63,87 63,73 98,35 86,42 69,57 57,68 54,64 48,56 38,49"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 38 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-grngrn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-grngrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:#01FF01;fill-opacity:0.8;stroke:#00FF00;stroke-width:5"
                d="M 38,49 C 41,53 56,82 58,95 63,87 63,73 98,35 86,42 69,57 57,68 54,64 48,56 38,49"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 39 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-yelyel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-yelyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:#FFFF00;fill-opacity:0.8;stroke:#FFFF00;stroke-width:5"
                d="M 38,49 C 41,53 56,82 58,95 63,87 63,73 98,35 86,42 69,57 57,68 54,64 48,56 38,49"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 40 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-blublu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-blublu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:#0101FF;fill-opacity:0.8;stroke:#0101FF;stroke-width:5"
                d="M 38,49 C 41,53 56,82 58,95 63,87 63,73 98,35 86,42 69,57 57,68 54,64 48,56 38,49"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #! ############################################################
    #!
    echo "### end ###" >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
    #!
} # end:
export -f Sbr_CDW_EGI_Long          
#!
#! =========================================================
#! end: Sbr_CDW_EGI_Long     Sbr_CDW_Embedded_Graphic_Images
#! =========================================================
#!
#!
#!
#!
#(: ============================================================
#(: fx Sbr_CDW_EGI_CheckIF  #: Active  in main 
#(: called by: main () , Check-If some status 
#(:  purpose: CheckIF:  
#(:     if Master-IMG.txt Images are in /tmp  , 
#(:     then do not write again, 
#(:     else write files.
#(:     #! main () 
#(:     # Install Long Image format under control of flag "gcEmGaImgFnTrgTxtMaster"
#(:
#(: receives param:
#(: returns:
#(: note:
#(:  lcMasterTrgImgTxtExt="IMG.txt"
#(: master IMG.txt file, for "dump" 
#(: gcMgrMasterSubDir basename is declared/assigned in top of code, line 41 .
#(: export gcMgrMasterSubDir="/tmp/EmGr-Master-" # EmGr name rises to top of EmGr list
#(: 
#(: using Master_IMG.txt file as the flag  
#(: export gcMgrMasterSubDir="/tmp/EmGr-Master-" # EmGa name rises to top of EmGr list
#(: export gcMgrMasterSubDir="/root/myapplications/bin-"
#(:
#(: E3R copies /initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_CDW/rc.z_CDW_Embedded_Graphic_images.sh
#(: to /applications/bin/My_Dev_/Edit_CDW/rc.z_CDW-EGI.sh
#(: /root/my-applicaions/bin/rc.z_CDW_EGI.sh 
#(:
#(: done: culled calls to "short" Image format. 
#(: done: cull all references to "short" Image format files.
#(:
#! ##############################################################################
function Sbr_CDW_EGI_CheckIF() {   # ACTIVE 
    n=0
    #!
    if [ ! -f   ${gcEmGaImgFnTrgTxtMaster} ] ; then     # IF not ImgMaster , then build EGI files in /tmp
                n=0   #! this should only happen on first "bootup" and "startup" of MGR .
                Sbr_CDW_EGI_Long   # this will write IMAGE Long files DIRECTLY, now. 
    else
                n=0
    fi # end: [ ! -f   ${gcEmGaImgFnTrgTxtMaster} ] ; then  # build ALL Image files in /tmp
    #!
} # end:
export -f Sbr_CDW_EGI_CheckIF
#!
#!
#!
#! #######################################################
#! END:     Embedded_Graphic_Images   "EmGr"
#! reference: rc.z_CDW_Embedded_Graphic_Images.sh
#! #######################################################
#!
#!
#!
#!
#!
#!
#! #######################################################
#! BEGIN:     Msg_Windows :  Independent  Floating  Pages 
#! BEGIN:     Msg_Windows :  Independent  Floating  Pages 
#! BEGIN:     Msg_Windows :  Independent  Floating  Pages 
#! #######################################################
#!
#!
#! =====================================================================
#! === page === pageS === pageSystem ===================================
#! =====================================================================
msg_DC_LxgenSystem_window_text="===_System_pageSystem_!_==="
msg_DC_LxgenSystem_window_0=''

#! =====================================================================
#! === page === pageM === pageMenu =====================================
#! =====================================================================
msg_DC_LxgenMenu_window_text="===_Menu_pageMenu_!_==="
msg_DC_LxgenMenu_window_0=''

#! =====================================================================
#! === page === pageB === pageBackUp ===================================
#! =====================================================================

msg_DC_LxgenDox_window_text="===_Menu_pageBackUp_!_==="
msg_DC_LxgenDox_window_0=''

#! =====================================================================
#! === page === pageD === pageDox =====================================
#! =====================================================================
msg_DC_LxgenDox_window_text="===_Menu_pageDox_!_==="
msg_DC_LxgenDox_window_0=''

#! =====================================================================
#! === page === pageU === pageUtil =====================================
#! =====================================================================
msg_DC_LxgenUtil_window_text="===_Menu_pageUtil_!_==="
msg_DC_LxgenUtil_window_0=''


#!
#! ##########################################################
function Sbr_Msg_Windows_code() { # ACTIVE  #! MARKER 
    n=0
} #
export -f Sbr_Msg_Windows_code
#!
#! ############################################################
        #! function Sbr_Msg_DC_Windows_ : documentation sample
        #! BACK-UP Copy of Working Message Window
        #! window Msg_DC_NoShow /tmp/EmGr-img-jug-red0yel.svg  # ACTIVE
        #! msg_DC_Quick_window='
        #! <window      
        #!     window-position="nearmouse"
        #!     visible="1">
        #!  <frame>
        #!      <hbox>
        #!          <button> <label>""  </label>
        #!              <input file>"/tmp/EmGr-img-Check-90-redXgrn.svg"</input><height>46></height> <width>46</width>
        #!              <action function="closewindow">msg_DC_Quick_window</action>
        #!          </button>
        #!      </hbox>
        #!  </frame>
        #!  <variable>msg_DC_Quick_window</variable>
        #! </window>'
        #! export msg_DC_Quick_window # Small, preferred button msg window 
        #!
#! ############################################################
#! ############################################################
#! function msg_DC_Quick_Hash_BigRed_window     # ACTIVE
export      msg_DC_Quick_Hash_BigRed_window='
<window     
    title="--------msg_dc_quick_Hash_BigRed_window"
    window-position="1"  
    visible="1">
    <frame>
        <hbox>
            <button  tooltip-text="Click_here_to_Cancel" >   <label>""</label>
                <input file>"/tmp/EmGr-img-hash-red.xpm"</input><height>86></height> <width>86</width>
                <action function="closewindow">msg_DC_Quick_Hash_BigRed_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Quick_Hash_BigRed_window</variable>
</window>'
#! ############################################################
#! ############################################################
#! function msg_DC_Quick_Hash_BigGrn_window     # ACTIVE
export      msg_DC_Quick_Hash_BigGrn_window='
<window     
    title="--------msg_dc_quick_Hash_BigGrn_window"
    window-position="1"  
    visible="1">
    <frame>
        <hbox>
            <button  tooltip-text="Click_here_to_Cancel" >   <label>""</label>
                <input file>"/tmp/EmGr-img-hash-grn.xpm"</input><height>86></height> <width>86</width>
                <action function="closewindow">msg_DC_Quick_Hash_BigGrn_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Quick_Hash_BigGrn_window</variable>
</window>'
#! ############################################################
#! ############################################################
#! function msg_DC_Quick_Hash_BigBlu_window     # ACTIVE
export  msg_DC_Quick_Hash_BigBlu_window='
<window     
    title="--------msg_dc_quick_Hash_BigBlu_window"
    window-position="1"  
    visible="1">
    <frame>
        <hbox>
            <button  tooltip-text="Click_here_to_Cancel" >   <label>""</label>
                <input file>"/tmp/EmGr-img-hash-blu.xpm"</input><height>86></height> <width>86</width>
                <action function="closewindow">msg_DC_Quick_Hash_BigBlu_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Quick_Hash_BigBlu_window</variable>
</window>'
#! ############################################################
#! ############################################################
#! function Sbr_Msg_DC_Windows_
export gcBig90yel="/tmp/EmGr-img-Check-90-redXyel.svg"
export  msg_DC_Check_90_Big_redXyel_window='
<window     
    window-position="1"
    visible="1">
    <frame>
        <hbox>
            <button> <label>""  </label>
                <input file>'${gcBig90yel}'</input><height>99></height> <width>99</width>
                <action function="closewindow">msg_DC_Check_90_Big_redXyel_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Check_90_Big_redXyel_window</variable>
</window>'
#!
#! ############################################################
#! ############################################################
#! function Sbr_Msg_DC_Windows_
export gcBig90blu="/tmp/EmGr-img-Check-90-redXblu.svg"
export  msg_DC_Check_90_Big_redXblu_window='
<window     
    window-position="1"
    visible="1">
    <frame>
        <hbox>
            <button> <label>""  </label>
                <input file>'${gcBig90blu}'</input><height>99></height> <width>99</width>
                <action function="closewindow">msg_DC_Check_90_Big_redXblu_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Check_90_Big_redXblu_window</variable>
</window>'
#! export msg_DC_Quick_window # Small, preferred button msg window 
#!
#! ############################################################
#! function Sbr_Msg_DC_Windows
export gcBig90grn="/tmp/EmGr-img-Check-90-redXgrn.svg"
export  msg_DC_Check_90_Big_redXgrn_window='
<window     
    window-position="1"
    visible="1">
    <frame>
        <hbox>
            <button> <label>""  </label>
                <input file>'${gcBig90grn}'</input><height>99></height> <width>99</width>
                <action function="closewindow">msg_DC_Check_90_Big_redXgrn_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Check_90_Big_redXgrn_window</variable>
</window>'
#! export msg_DC_Quick_window # Small, preferred button msg window 
#!
#! ############################################################
#! ############################################################
#! ############################################################
#! ############################################################
#! function Sbr_Msg_DC_Windows_ #! only for TESTING
#! export gcBig90yel="/tmp/EmGr-img-Check-90-redXyel.svg"  #! declared/assigned above
export  msg_DC_Check_Big_90_window='
<window     
    window-position="1"
    visible="1">
    <frame>
        <hbox>
            <button> <label>""  </label>
                <input file>'${gcBig90yel}'</input><height>111></height> <width>111</width>
                <action function="closewindow">msg_DC_Check_Big_90_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Check_Big_90_window</variable>
</window>'
#!
#
#! ############################################################
#! function msg_DC_Quick_windowS    jug-red0yel   # ACTIVE
msg_DC_Quick_windowS='
<window     
    title="--------16-msg_dc_quick_window_S---jug-red0yel"
    window-position="1"
    visible="1">
    <frame>
        <hbox>
            <button  tooltip-text="Click_here_to_Cancel" >   <label>""</label>
                <input file>"/tmp/EmGr-img-jug-red0yel.svg"</input><height>16></height> <width>16</width>
                <action function="closewindow">msg_DC_Quick_windowS</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Quick_windowS</variable>
</window>'
export msg_DC_Quick_windowS # Small, preferred button msg window 
#!
#!
#! ############################################################
#! function msg_DC_Quick_window    jug-red0yel   # ACTIVE
msg_DC_Quick_window='
<window     
    title="--------46-msg_dc_quick_window---jug-red0yel"
    window-position="3"
    visible="1">
    <frame>
        <hbox>
            <button  tooltip-text="Click_here_to_Cancel" >   <label>""</label>
                <input file>"/tmp/EmGr-img-jug-red0yel.svg"</input><height>46></height> <width>46</width>
                <action function="closewindow">msg_DC_Quick_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Quick_window</variable>
</window>'
export msg_DC_Quick_window # Small, preferred button msg window 
#!
#!
#! ############################################################
#! function msg_DC_Quick_Utl_window     # ACTIVE
msg_DC_Quick_Utl_window='
<window     
    title="msg_DC_Quick_Utl_window"
    window-position="1"
    visible="1">
    <frame>
        <hbox>
            <button> <label>""  </label>
                <input file>"/tmp/EmGr-img-jug-grnxred.svg"</input><height>26></height> <width>26</width>
                <action function="closewindow">msg_DC_Quick_Utl_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Quick_Utl_window</variable>
</window>'
export msg_DC_Quick_Utl_window # Small, preferred button msg window 
#!
#!
#!
#! ############################################################
export msg_DC_MainBakOneAll_window_text="----------------------- 
Main BackUp  ! 
(1) Backup-One+All + CTB_ReStart 
(2) Backup-One+All + CTB+Scan+PwrOff
-----------------------------------------------------------------"
#! ############################################################
#! function msg_DC_MainBakOneAll_window    # tool-tip # ACTIVE
export msg_DC_MainBakOneAll_window='
<window title="msg_DC_MainBakOneAll_window---"
visible="true" ><frame>
<text editable="false" use-markup="true" xalign=".5"><label> "<span color='"'darkred'"'> <b>'${msg_DC_MainBakOneAll_window_text}'</b> </span> " </label></text>
<hbox>
    <button>
        <label>"Clear the BakOneAll window "</label>
        <input file>"/tmp/EmGr-img-hash-grn.xpm"</input><height>48></height> <width>48</width>
        <action function="closewindow">msg_DC_MainBakOneAll_window</action>
    </button>
</hbox></frame>
<variable>msg_DC_MainBakOneAll_window</variable>
</window>'
#! ############################################################
#!
#!
#! ############################################################
export msg_DC_C3C_window_text="----------------------- 
Clear * CBXC3C * Clear Caches ! 
   (1) Will clear some browser aux storage 
        which FireFox rebuilds each run. 
   (2) Will Save2File update into SaveDATA storage.
   (3) Will Reboot to activate new SaveDATA into system.
#------------------------------------------"
#! ############################################################
#! function msg_DC_C3C_window    # tool-tip # ACTIVE
export msg_DC_C3C_window='
<window title="msg_DC_C3C_window---"
visible="true" ><frame>
<text editable="false" use-markup="true" xalign=".5"><label> "<span color='"'blue'"'> <b>'${msg_DC_C3C_window_text}'</b> </span> " </label></text>
<hbox>
    <button>
        <label>"Clear the C3C window "</label>
        <input file>"/tmp/EmGr-img-hash-grn.xpm"</input><height>48></height> <width>48</width>
        <action function="closewindow">msg_DC_C3C_window</action>
    </button>
</hbox></frame>
<variable>msg_DC_C3C_window</variable>
</window>'
#! ############################################################
#!
#!
#!
#! ############################################################
export gcMsgWindowBakOneAll="
'===-BackUp-One // PXB // Backup-All-==='
=== SubRoutine #1 ===  EXIT:guiMgrOneArcDts
Will run 'BakOne' 
to do a quick Copy/BackUp of Editing Scripts + DTS 
   from---> Editing subdir  Current Source File 
      '/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/'
   into ---> System "Edit" subdir
     '/mnt/home/MY_/usr-share/My_Dev_/Edit_MGR/arc_Common_dts_sh_'
Then --->
EXIT via /'ReStart'
...
=== SubRoutine  #2 === EXIT:guiPXB_ion_RS
PXB is the full 'PupColdBackup' internal inside MGR  
BackUp_SaveDATA_+_ReStart_
...
=== SubRoutine  #3 === EXIT:guiMgrOneArcDts
Will do a 'BakAll' Copy/BackUp of all Editing Scripts + DTS 
to "RA" /root/my-applications/ + ReStart  
________________________________________________"
#! end:   gcMsgWindowBakOneAll   msg_DC_BakAll_window
#!
#! ############################################################
#! function msg_DC_BakOneAll_window  # Tool-Tip  #  NOT ACTIVE  replaced by "MainBakOneAll" 
msg_DC_BakOneAll_window='
<window title="msg_DC_BakOneAll_window---NOT ACTIVE"
visible="true" ><frame>
<text editable="false" use-markup="true" xalign=".5"><label> "<span color='"'brown'"'> <b>'${gcMsgWindowBakOneAll}'</b> </span> " </label></text>
<hbox>
    <button>
        <label>"Clear the BakOneAll window "</label>
        <input file>"/tmp/EmGr-img-hash-grn.xpm"</input><height>48></height> <width>48</width>
        <action function="closewindow">msg_DC_BakOneAll_window</action>
    </button>
</hbox></frame>
<variable>msg_DC_BakOneAll_window</variable>
</window>'
export msg_DC_BakOneAll_window
#! ############################################################
#!
#!
#! #################################################################
export gcmsgDcDxstroWindow="'DC_Dxstro_window'"
#!
function msg_DC_Dxstro_window() { #! Marker
n=0   
} # end
#!
#! #######################################################################################
#! function msg_DC_Dxstro_window_0  # ACTIVE : fx(Sbr_Dxstro_Window)
msg_DC_Dxstro_window_0='
<window title="msg_DC_Dxstro_window_0"
visible="true" >
<frame>
<text editable="false" use-markup="true" xalign=".5"><label> "<span color='"'red'"'> <b>'${gcmsgDcDxstroWindow}'</b> </span> " </label></text>
<vbox>
 
    echo "\
<span foreground='"'green'"'>"_______________________"</span>
<b><span foreground='"'red'"'>" Running Tests on 22 Puppy OS : "</span></b>
<span foreground='purple'>"#! Each OS is tested via its own original distro BASH ."</span>
<span foreground='purple'>"#! Each OS is tested via its own original distro GTK ."</span>
"---including:"
<b><span foreground='"'red'"'> "iso_NoblePup32-24.04-240907"</span>
<b><span foreground='"'red'"'>"iso-bionicpup64-8.0-uefi_______K:4__64_231219"</span></b>
<b><span foreground='"'red'"'>"iso_BionicPup32-19.03-K5.9_.iso_K:5.9___231209"</span></b>
<b><span foreground='"'red'"'>"iso-UpupTahr-6.0.6-k4.1.30-uefi_K:4.1______190211"</span></b>
<span foreground='"'blue'"'>  "iso-BionicPup32-8.0+30_BionicBeaver_____220407"</span>
<span foreground='"'blue'"'>  "iso_ManticPup32-23.10+1.iso_____Kernal:6.1_231209"</span>
<span foreground='"'blue'"'>  "iso-JammyPup32-22.04+8_JammyJellyfish___22123"</span>
<span foreground='"'blue'"'>  "iso-UPupFF+D-20.12+4_Focal-Fossa________201210"</span>
<span foreground='"'blue'"'>  "iso-KineticPup32-22.10+2________________230604"</span>
<span foreground='"'blue'"'>   "iso-Slacko-7.0_DpupS7_14.2________________220205"</span>
<span foreground='"'blue'"'>   "iso-Xenial-64_7.5_XL_______________________220401"</span>
<span foreground='"'blue'"'>   "iso-S15Pup-64_22.12+1-T__________________220922"</span>
<span foreground='"'blue'"'>   "iso-Quirky_April-7.0.1F-uefi________________200511"</span>
<span foreground='"'blue'"'>   "iso_devuanpup-9.7.0-chimaera_4.0_i386____211206"</span>
<span foreground='"'blue'"'>   "iso_LxPupSc-slacko-20.01+0-T-k64_________200129"</span>
<span foreground='"'blue'"'>   "iso_slacko64_14.2_32-674-bit_comptible___220227"</span>
span foreground='"'blue'"'></span>
......................................................"\
> /tmp/box_help
</vbox>
</frame>
<variable>msg_DC_Dxstro_window_0</variable>
</window>'
export msg_DC_Dxstro_window_0
#! ############################################################
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#! ###_CBX_################################################
#! BEGIN:     CBx   Combo-Boxes   on  Page One "Main" 
#! ###_CBX_################################################
#! Scribble-Sbr_Cbx_Re.txt. 
#! Combo-Box code not used now, removed to archive.
#! #######################################################
#! CBx   Combo-Boxes  were on  Page One "Main" MGR 5
#! #######################################################
#!
#!
#(: =====================================================================
#(: fx Sbr_ClearFlagsSystem   #: Active for System
#(: called by:
#(: param:
#(: purpose: clear all system flags
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : some flags are still hard-code ; ie, LockFile , BackUpStatus
#(: preceded by call to Sbr_CBX_ReStart and $0
#! ############################################################
function Sbr_ClearFlagsSystem() {   # ACTIVE    # at 3560
    #! for System
    n=0
    #! current in-use
    rm -f "${MGR_LockFile}"             2>&1>/dev/null  ### this is "MGR_LockFile" ###  but not E3R  CBX
    rm -f "${MGR_BackUpStatus}"         2>&1>/dev/null 
    rm -f "${MGR_ReStart_flg}"          2>&1>/dev/null  ### MGR initial Re-ReStart to init GEANY   # Sbr_ClearFlagsQuit

    #! tmp usage
    rm -f "/tmp/snapmergepuppy-error"   2>&1>/dev/null  ### this is SMP flag , via SMP
    rm -f "/tmp/flagnextpassthru"       2>&1>/dev/null  ### used by Linux , ? via SMP 
    rm -f "/tmp/box_help"               2>&1>/dev/null  ### remove the lingering temp file.
    rm -f "/tmp/box_source"             2>&1>/dev/null  ### remove the lingering temp file.

    rm -f "/tmp/EmGa-Master-GUI.txt"          2>&1>/dev/null    ### Embedded Image Flag file
    rm -f "/tmp/gtkdialog_splash_border.svg"  2>&1>/dev/null 
    rm -f "/tmp/gtkdialog_splash_bg.svg"      2>&1>/dev/null 
    rm -f "/tmp/gtkdialog_splash_bg.svg"      2>&1>/dev/null 
    rm -f "/tmp/Mgr_Dump_Path.txt"            2>&1>/dev/null 
    rm -f "/tmp/Mgr_Dump_Declare.txt"         2>&1>/dev/null 

    gcMGRConfigArbIdd=""            ### cleared for 'next reboot' Menu Selection
    /bin/echo " " > /dev/console

} #
export -f Sbr_ClearFlagsSystem
#!
#!
#!
#!
#(: ======================================================
#(: fx Sbr_Cbx_ReStart
#(: called by:  # CBX_ReStart et al
#(: param:
#(: purpose: ReStart $0 , fresh !
#(: calls:
#(: called by: most <button> CBX, ARB, E3R
#(: method:
#(: sends:
#(: rationale:
#(: note : called by ROX
#(:
#! ###_CBX_###  "Sbr_Cbx_Re" ##############################################
function Sbr_Cbx_ReStart() {   # ACTIVE   Group:  "Sbr_Cbx_Re"
    #! for Check-Box ARB_ReStart a simple 'warm' restart 
    n=0
    lcMsgStr="ReStart"
    #~ Sbr_Splash_Flip3  ${lcMsgStr} ".3"
    Sbr_ClearFlagsSystem  ""   
    sleep 1
    clear
    #! This is "ReStart"   
    . ${0}      #: $ ZERO   # will run $0 / ReStart fresh .
    #!
    Sbr_FnNotFound "ReStart"
    #! should not get to here.
} #
export -f Sbr_Cbx_ReStart
#!
#!
#(: ======================================================
#(: fx Sbr_Cbx_ReBoot
#(: called by: C3C_Reboot et al 
#(: param:
#(: purpose:
#(: calls:
#(: called by: C3C, ARB, E3R
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
# working
#! ###_CBX_################################################
function Sbr_Cbx_ReBoot() {   # ACTIVE
    #! for Check-Box ARB_ReBoot  for Simple for "wm"reboot
    n=0
    #
    lcMsgStr="Sbr_Cbx_ReBoot__${gcDistroReboot}_Alternative_ReBoot"
    Sbr_Splash_Flip3  ${lcMsgStr} "3"  &&     sleep 1
    Sbr_ClearFlagsSystem  ""  #: clear lockfile, etc,  L:3551
        #!
        ${gcDistroReboot}
        #!
    #!
    Sbr_FnNotFound "ReBoot ${gcDistroReboot}" 
    #! 
} #
export -f Sbr_Cbx_ReBoot
#!
#!
#(: ======================================================================
#(: fx Sbr_Cbx_ReQuit
#(: called by: CBX_ReQuit Simple PowerOff
#(: param:
#(: purpose:
#(: calls:
#(: called by: Simple ReQuit on Main System Screen
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
# working
#! ###_CBX_################################################
function Sbr_Cbx_ReQuit() {   # ACTIVE      Simple PowerOff
    #! for Check-Box ARB_ReQUIT  for Simple for "wm"poweroff
    n=0
    #!
    lcMsgStr="Sbr_Cbx_ReQUIT___BASH_PowerOff"
    Sbr_Splash_Flip3  ${lcMsgStr} ".3"  &&     sleep 7
    Sbr_ClearFlagsSystem  ""  #: clear lockfile, etc,  L:3551
    #!
    poweroff            #! ReQUIT___BASH_poweroff_
    #!
    lcMsgStr="Sbr_Cbx_ReQUIT___BASH_PowerOff___FAILED___"
    Sbr_Splash_Flip3  ${lcMsgStr} ".3"  &&     sleep 7
    Sbr_FnNotFound "System ReQUIT PowerOFF" 
} #
export -f Sbr_Cbx_ReQuit
#!
#(: ======================================================================
#(: fx Sbr_Cbx_RePowerOff
#(: called by: CBX_ReQuit Simple PowerOff
#(: param:
#(: purpose:
#(: calls:
#(: called by: Simple ReQuit on Main System Screen
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ###_CBX_################################################
function Sbr_Cbx_RePowerOff() {   # ACTIVE      Simple PowerOff
    #! for Check-Box ARB_ReQUIT  for Simple for "wm"poweroff
    n=0
    #!
    lcMsgStr="Sbr_Cbx_RePowerOff___BASH_PowerOff_"
    Sbr_Splash_Flip3  ${lcMsgStr} ".3"  &&     sleep 1
    Sbr_ClearFlagsSystem  ""  #: clear lockfile, etc,  L:3551
    #!
    poweroff            #! RePowerOFF___absolute_for_popping_stack___BASH_poweroff___BUT! Different OS /= 
    #!
    Sbr_FnNotFound "System PowerOFF" 
} #
export -f Sbr_Cbx_RePowerOff
#!
#!
#(: ======================================================================
#(: fx Sbr_Cbx_ReHalt
#(: called by: simple CBX_ReHalt
#(: param:
#(: purpose:
#(: calls:
#(: called by: Simple ReHalt on Main System Screen 
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ###_CBX_################################################
function Sbr_Cbx_ReHalt() {   # ACTIVE
    #! for Check-Box ARB_ReHalt___  absolute_for_killing_stack ___ 
    n=0
    #!
    lcMsgStr="Sbr_Cbx_ReHALT___BASH_halt_"
    Sbr_Splash_Flip3  ${lcMsgStr} ".3"  &&     sleep 1
    Sbr_ClearFlagsSystem  ""  #: clear lockfile, etc,  L:3551
    #!
    halt
    #!
    Sbr_FnNotFound "System HALT" 
} #
export -f Sbr_Cbx_ReHalt
#!
#(: ======================================================================
#(: fx Sbr_Cbx_ReHalt
#(: called by: simple CBX_ReHalt
#(: param:
#(: purpose:
#(: calls:
#(: called by: Simple ReHalt on Main System Screen 
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ###_CBX_################################################
function Sbr_Cbx_Clear_Restart() {   # ACTIVE
    #! for Check-Box ARB_ReHalt___  absolute_for_killing_stack ___ 
    n=0
    #!
    lcMsgStr="Sbr_Sbr_Cbx_Clear_Restart_"
    Sbr_Splash_Flip3  ${lcMsgStr} ".3"  &&     sleep 1
    #!
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1    # display and no wait
    #!
} #
export -f Sbr_Cbx_Clear_Restart
#!
#!
#!
#! #######################################################
#! END:    CBx  Combo-Boxes   on  Primary System Page
#! #######################################################
#!
#!
#!
#!
#!
#! #######################################################
#! BEGIN:     Miscelaneous SubRoutines 
#! #######################################################
#!
#(: ====================================================================
#(: fx Sbr_Sys_SDA_Only
#(: called by: MainMenu Builder; Some Calls Only Allowed if /SDA1
#(: param:
#(: purpose: Some subroutines are only to be run from SDA system.
#(:        : Author uses several auxillary USB Bootable drives 
#(:        : which are updated frequently from /SDA1 hard drive. 
#(: calls:
#(: method: SDA is the standard EDIT/DEV media.
#(: sends: May send modified code to auxilliary Hard Drives.
#(: rationale: Controls One-Way Out-Going distribution of Edit/Dev code.
#(: note : MUST copy EDIT code from ONLY SDA1 !!!
#(:
#! #####################################################################
function Sbr_Sys_SDA_Only() {    # ACTIVE
    #! if [!SDA] then skip and restart
    #! Sbr_Sys_SDA_Only # control is test "SDA" && ReStart
       #! only SDA ! KLM must not write to /SDA/menu.lst 
    n=0
    #! Key Routine ! Check IF Hard-Drive Identifier 
    if [ ! -f "/initrd/mnt/dev_save/MARK-SDA" ] || [ ! -f "/initrd/mnt/dev_save/MARK-SDA1" ]; then  
        #! if this HD is NOT the Primary Boot Drive. 
        #! then fail = ReStart
        Sbr_Splash_It "= SDA-ONLY --- $1 =" "yellow" "red"  "5"         #! -D---
        #!
        Sbr_ClearFlagsSystem  ""  && sleep 1 
        Sbr_Cbx_ReStart 1   ### Clean ReStart #  do not continue the called command.
    fi
    #! IF this is SDA1, THEN OK to run 
    #! ---> now return back to the caller
    #!
} #
export -f Sbr_Sys_SDA_Only
#!
#!
#(: ===========================================================
#(: fx Sbr_Sys_KillProc
#(: called by: Main GUI Fall-Thru
#(: param:
#(: purpose: Kill current Proc, stub , and restart
#(: calls: gxmessage, Sbr_Cbx_ReStart
#(: method: place this type of header in fallthrough ( if  [ "$EXIT"  )  code . 
#(: sends:
#(: rationale: Allows "killing" a <button> call for 'test' or 'demo' purposes.
#(:
#! ###########################################################
function Sbr_Sys_KillProc() { # ACTIVE
    #! permission control # control is  Exit if in Test Mode 
    n=0 # Allows to Skip a Proc , Important for use IF Test file is published as sample. 
    if [ ! $gcSysKillProc ] ; then  # sets up a Sbr_Button_Only as a "stub" .
        Sbr_Splash_It "! Kill Procss____STUB call  --- ! ---____" "yellow" "red"  "5"         #! -D---
        Sbr_ClearFlagsSystem  ""    &&     sleep 1
        Sbr_Cbx_ReStart 1
    fi
} #
export -f Sbr_Sys_KillProc
#!
#!
#!
#(: ======================================================================
#(: fx Sbr_Sys_SetVerDts
#(: called by: Main ( )
#(: param:
#(: purpose: 'gc' and 'Sys' System Standard Constants can be installed here.
#(: call this way:  Sbr_Sys_SetVerDts
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note:
#(:
#! ############################################################
function Sbr_Sys_SetVerDts() {  # ACTIVE   in   main 
#!  in Main
#! requires gcSysDvar  Developers Version  Date-Time-Stamp
n=0    #: common "stub" so bare function() will not fault during test/dev.
#! Not Used
export gcSysDvar="`date +%y-%m-%d--%H%M-%S`"
#! ACTIVE  for "now" dts 
export    gcSysDts="`date +%y%m%d-%H%M-%S`"
#(: ====================================
#(: gcSysDtsNow   todo: 
#(:         ### Rationale: 
#(:       ### some Puppy OS default to GMT, we prefer Local time.
#(:       ### some Puppy OS default to GMT, we prefer Local time.
#(:         ### This is Attempt to generate a "NOW" (this-moment) date-time constant.
#(:         ### Date : grave-mark in date () !!!
#(:         ###  Dts="`date +%y%m%d-%H%M-%S`"
#(:         ### adust from default "z" time
#(:         ###     to local mid-america dts ( -5 hours ).
#(:         ###     Does not calc DayLightSavingsTime
#(:         ###     But still a consistent error day-to-day.
#(:     lcNowDts=""
#(:     lcNowDts="`date +%y%m%d%H%M-%S`"
#(:     lcNowDts="${lcNowDts:0:6}-${lcNowDts:6:7}"
#(:     gcSysDtsNow="${lcNowDts}-local"
#(: ====================================
#(: date function is ticky. 
#(: ====================================
            #! #! todo:  Not yet used 
            #! lcNowDts="${lcNowDts:0:6}-${lcNowDts:6:7}"
            #! gcSysDtsNow="${lcNowDts}"
            #! gcSysDtsNow-local="${lcNowDts}-local"
#!
#! Not Used 
#!  Prefix SubDir location of all Editing Routines .   This is the original Source code for MGR project, et al. 
gcSys_MyDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_"
#!
} #
export -f Sbr_Sys_SetVerDts
#!
#!
#!
#!
#!
#!
#(: ======================================================================
#(: fx Sbr_Utl_Mandelbrot
#(:  name: 
#(:  @param
#(:  @return
#(: called by:
#(: param:
#(: purpose:
#(: call this way:
#(: calls:
#(: returns:
#(: method:
#(: rationale:
#(: note:
#(: # Draw_Mandelbrot_Robert.sh
#(: # draw mandelbrot to terminal
#(: # very slow, 33 minutes, to terminal, runs OK !
#(:
#! ############################################################
function Sbr_Utl_Mandelbrot() {  # ACTIVE
    n=0 
    Sbr_Splash_It "_Sbr_Utl_Mandelbrot_()_
  should be run/viewed from Xterm
       may run 30 minutes   " "yellow" "red" "7"
    #!
    #! Must Match with Terminal Screen Size
    #! Required params:
    #! BAILOUT
    #! MAX_ITERATIONS
    #! 
    lnBAILOUT=16  # max loop was 16
    lnMAX_ITERATIONS=100    # 100 is ok for terminal screen.
    #! 
    function sub_mandelbrot_iterate {   # sub-main 
        local zi=0
        local zr=0
        local i=0
        local cr
        cr=$(printf "%s\n" "scale=16; $2 - 0.5" | bc)
        while true
        do
            local temp
            local zr2
            local zi2
            i=$((i + 1))
            zr2=$(printf "%s\n" "scale=16; ($zr * $zr) - ($zi * $zi) + $cr" | bc)
            zi2=$(printf "%s\n" "scale=16; (($zr * $zi) * 2) + $1" | bc)
            temp=$(printf "%s\n" "(($zi * $zi) + ($zr * $zr)) > $lnBAILOUT" | bc)
            if ((temp == 1))
            then
                return "$i"
            fi
            if ((i > lnMAX_ITERATIONS))
            then
                return 0
            fi
            zr="$zr2"
            zi="$zi2"
        done
        #!
    } # end: sub-mandelbrot_iterate
    #!
    function sub_mandelbrot_main {  # ACTIVE
        #! mandelbrot sub-main
        local y
                    printf "* Mandelbrot*" > /root/my-applications/Mandelbrot.txt
        for ((y = -39; y < 39; y++))
        do
            printf "\n"
            printf "\n" >>  /root/my-applications/Mandelbrot.txt
            local x
            for ((x = -39; x < 39; x++))
            do
                local xi
                local yi
                local ires
                xi=$(printf "%s\n" "scale=16; $x / 40.0" | bc)
                yi=$(printf "%s\n" "scale=16; $y / 40.0" | bc)
                #! 
                sub_mandelbrot_iterate "$xi" "$yi"
                #!
                ires=$?
                if ((ires == 0))
                then
                    printf "*"
                    printf "*" >> /root/my-applications/Mandelbrot.txt
                else
                    printf "."
                    printf "." >> /root/my-applications/Mandelbrot.txt
                fi
            done
        done
        printf "\n"
    }
#! # below is call to the calculating mandelbrot main ()
sub_mandelbrot_main   # this is the calculating mandelbrot main ()
} # 
export -f Sbr_Utl_Mandelbrot
#! export -f sub_mandelbrot_iterate 
#! export -f sub_mandelbrot_main
#!
#!
#!
#!
#!
#(: ======================================================================
#(: fx Sbr_Base64     Base64 Base-64 Base_64 Base 64
#(:  name: 
#(:  @param
#(:  @return
#(: called by: if[ EXIT:guiBase64 ]
#(: param:
#(: purpose:
#(: call this way:
#(: calls:
#(: returns:
#(: method:
#(: rationale:
#(: note: 
#(:
#! ####################################################################
function Sbr_Dump_SRC_Base64() {  # ACTIVE
    #! calculates/restores     Base 64, Base_64, Base-64
    n=0
    echo "" 
    echo "=== Base64  cat /tmp/Base64-Encoded.txt ============"
    #! Display Information
    #! expects a plain-text file.
    #! Splash is 45 char long, then wraps.
    #! gxmessage is expands to 72++
lxDumpMsg="Usage: base64 [OPTION]... [FILE]
______________________________________________________________________
MUST USE Xterm to see this dump the calculated data .
______________________________________________________________________
Base64 encode or decode FILE, or standard input, to standard output.
______________________________________________________________________
With no FILE, or when FILE is -, read standard input.
______________________________________________________________________
Mandatory arguments to long options are mandatory for short options too.
============================================
  -d, --decode          decode data
  -i, --ignore-garbage  when decoding, ignore non-alphabet characters
  -w, --wrap=COLS       wrap encoded lines after COLS character (default 76).
                          Use 0 to disable line wrapping
      --help     display this help and exit
      --version  output version information and exit
The data are encoded as described for the base64 alphabet in RFC 4648.
When decoding, the input may contain newlines in addition to the bytes of
the formal base64 alphabet.  Use --ignore-garbage to attempt to recover
from any other non-alphabet bytes in the encoded stream.
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation <https://www.gnu.org/software/coreutils/base64>
or available locally via: info '(coreutils) base64 invocation')"
  gxmessage -name "Sbr_Dump_SRC_Base64_documentation"   -fg blue -bg lightyellow  -center  -wrap "${lxDumpMsg}"
    #!
    lcBase64fn="/tmp/box_help" 
    cat "$0" > "/tmp/box_help"
    #! Display Encoded
    lcBase64fnEncoded="/tmp/Base64-Encoded-`date +%y%m%d-%H%M-%S`.txt"
    base64 ${lcBase64fn} > ${lcBase64fnEncoded}
    gxmessage -title "SourceCode Encoded in Base64"  -name "-Encoded-Base64-" -font bold -bg lightyellow -fg darkblue -center -wrap -file ${lcBase64fnEncoded}
    #!
    #! backup copy + DTS  
    lcFnSrc="${lcBase64fnEncoded}"
    lcFnTrg="/root/my-applications" 
    cp -v ${lcFnSrc} ${lcFnTrg}
    #!
    echo "" && echo "=== Base64  cat //tmp/Base-64-Decoded.txt ============"
    #! Display Decoded
    lcBase64fnDecoded="/tmp/Base-64-Decoded.txt"
    base64 -d ${lcBase64fnEncoded} > ${lcBase64fnDecoded}
    gxmessage -title "SourceCode Decoded from Base64"  -name "-Decoded-Base64-" -font bold -bg lightyellow -fg darkblue -center -wrap -file ${lcBase64fnDecoded}
    #!
} # end
export -f Sbr_Dump_SRC_Base64
#!
#!
#!
#!
#!
#!
#(:===========================================================
#! begin: Up Pmount       
#(:===========================================================
#(: fx Sbr_MGR_pMount_One
#(: called by:   Sbr_MGR_pMount_All calls "Sbr_MGR_pMount_One"
#(: purpose:  pMOUNT  only one hard-drive
#(: receives param: "/mnt/sd?1"
#(: returns:
#(: note:
#(:
#! ############################################################
function Sbr_MGR_pMount_One() {   # ACTIVE   called by below ...
    #! UpPmount ONE Special
    n=0
    lcParam1="${1}" # trg drive ID
    lcMsgStr="${1}:trg drive ID"
    gcActiveGui="1"
    #!
if [ "$gcActiveGui" = "1" ] ; then 
    #! -D---   Small splash 
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border false  -close never -text "\
.            '${1}'                              "&
    RETVAL=$?
    GTKPIDPMNTsbr=$! 
    #! kill ${GTKPIDPMNTsbr} is split
fi
#! IF -d /root THEN already mounted
    mkdir -pv /mnt/${1} drv
    mount         /dev/${1} /mnt/${1}
    mount -t ext3 /dev/${1} /mnt/${1}
    mount -t vfat /dev/${1} /mnt/${1}
if [ "$gcActiveGui" = "1" ] ; then 
    sleep .5
    kill ${GTKPIDPMNTsbr}  2> /dev/null    #! kill ${GTKPIDPMNTsbr} is split
fi
} #
export -f Sbr_MGR_pMount_One
#!
#!
#(: ====================================================================
#(: fx Sbr_MGR_pMount_All
#(: called from gui
#(: called by: E3R_Main_Int_Long_List    and gui-P-MntInt
#(: method: code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls: fx(Sbr_MGR_pMount_One)
#(: method: calls internal script with lowercase HD names
#(: sends:
#(: rationale:
#(: note :
#(:
#(: calls Sbr_MGR_pMount_One
#! ############################################################
function Sbr_MGR_pMount_All() {    # ACTIVE    
    #! UpPmount Special
    n=0
    gcActiveGui="1"
    lcActiveMntId="P"   # Id    # Not Used
    #!
if [ "$gcActiveGui" = "1" ] ; then 
    #! -D---  Big Splash BackGround 
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border true  -close never -text "\
   *.      P_Mount_All INTERNAL
    .
    .
    .                                                          "&
    RETVAL=$?
    GTKPIDPMNT1=$!
    sleep .3
fi
#!
#! Sbr_MGR_pMount_All
#! if -d /root then already mounted
#;;; multiple calls to subroutine , which runs a single "mount" routine
#;;; begin looping internal code 
#;;; DO NOT USE ON SDA1, because it is the primary drive. 
Sbr_MGR_pMount_One "sda2"
Sbr_MGR_pMount_One "sdb1"
Sbr_MGR_pMount_One "sdc1"
Sbr_MGR_pMount_One "sdd1"
Sbr_MGR_pMount_One "sde1"
Sbr_MGR_pMount_One "sdf1"
Sbr_MGR_pMount_One "sdg1"
Sbr_MGR_pMount_One "sdh1"
Sbr_MGR_pMount_One "sdi1"
Sbr_MGR_pMount_One "sdj1"
Sbr_MGR_pMount_One "sdk1"
Sbr_MGR_pMount_One "sdl1"
Sbr_MGR_pMount_One "sdm1"
Sbr_MGR_pMount_One "sdn1"
Sbr_MGR_pMount_One "sdo1"
Sbr_MGR_pMount_One "sdp1"
#;;; end looping ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
if [ "$gcActiveGui" = "1" ] ; then 
    Sbr_Splash_It  "DONE : _pMount_All" "yellow" "red" "3"           #! -D---
    kill ${GTKPIDPMNT1}   2> /dev/null   # background splash yel/red 
fi #
} # 
export -f Sbr_MGR_pMount_All
#!
#! ===========================================================
#! end: Up Pmount     
#! ===========================================================
#!
#!
#! ===========================================================
#! begin: Dn Umount    
#! ===========================================================
#!
#(:===========================================================
#(: fx Sbr_MGR_uMount_One
#(: called by:   ft(EXIT:guiUMntInt)  (each one)
#(: calls:
#(: purpose:  uMOUNT only one hard-drive
#(: receives param: "/mnt/sd?1"
#(: returns:
#(: note:
#(:    function "Sbr_Sys_uMount_All"  calls "Sbr_MGR_uMount_One"
#! ############################################################
function Sbr_MGR_uMount_One() {   # ACTIVE   called by next ...
    #! DnUmount ONE Special
    n=0
    lcParam1="${1}" # trg drive ID
    gcActiveGui="1"
    #!
if [ "$gcActiveGui" = "1" ] ; then 
    #! -D--- Small Splash
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border false  -close never -text "\
.            '${1}'                              "&
    RETVAL=$?
    GTKPIDUMNTsbr=$!
fi
        lcDirName="/root"
        if [ -d ${lcDirName} ] ; then # IF target directory is real 
            umount -lv      /mnt/${1}
        else    # ELSE /root is the /root/home and cannot be unMounted !
            n="0"
        fi
if [ "$gcActiveGui" = "1" ] ; then 
       sleep 1
       kill ${GTKPIDUMNTsbr}  2> /dev/null
fi
} #
export -f Sbr_MGR_uMount_One
#!
#!
#(: ============================================================
#(: fx Sbr_Sys_uMount_All
#(: calls: Sbr_MGR_uMount_One
#(: called from: Gui
#(: called by: E3R_Main_Int_Long_List    and gui-P-MntInt
#(: method: Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:  DnUmount Special
#(: calls:
#(: method: calls internal script with lowercase HD names
#(: sends:
#(: rationale:
#(: note :
#(:
#(: calls Sbr_MGR_uMount_One with internal prep.
#(:
#! ############################################################
function Sbr_Sys_uMount_All() {   # ACTIVE
    #! DnUmount Special
    n=0
    gcMntAllLogP="/tmp/MGR_MntAllU.log "
    gcActiveGui="1"
if [ "$gcActiveGui" = "1" ] ; then 
    #! -D---   Big Splash BackGround
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border true -close never -text "\
  *.         U_Mount_All_Internal
   . 
   .
   .                                                          "&
    RETVAL=$?
    GTKPIDUMNT1=$!
fi
#;;; never try to unmount /dev/SDA
#;;; begin looping subroutine umount process ;;;;;;;;;;;;;;;;;;;
#;;; DO NOT USE ON SDA1, which is the primary drive. 
Sbr_MGR_uMount_One "sda2"
Sbr_MGR_uMount_One "sdb1"
Sbr_MGR_uMount_One "sdc1"
Sbr_MGR_uMount_One "sdd1"
Sbr_MGR_uMount_One "sde1"
Sbr_MGR_uMount_One "sdf1"
Sbr_MGR_uMount_One "sdg1"
Sbr_MGR_uMount_One "sdh1"
Sbr_MGR_uMount_One "sdi1"
Sbr_MGR_uMount_One "sdj1"
Sbr_MGR_uMount_One "sdk1"
Sbr_MGR_uMount_One "sdl1"
Sbr_MGR_uMount_One "sdm1"
Sbr_MGR_uMount_One "sdn1"
Sbr_MGR_uMount_One "sdo1"
Sbr_MGR_uMount_One "sdp1"
#;;; end looping ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#!
if [ "$gcActiveGui" = "1" ] ; then  
    Sbr_Splash_It  "DONE : Sbr_Sys_uMount_All" "yellow" "red" "3"           #! -D---
    kill ${GTKPIDUMNT1}   2> /dev/null  
fi
} #
export -f Sbr_Sys_uMount_All
#!
#! ===========================================================
#! end: Dn Umount        
#! ===========================================================
#!
#!
#!
#!
#!
#!
#! ### DUMPS ########################################################################
#! ### DUMPS ########################################################################
#! ### DUMPS ########################################################################
#!
#!
#!
#(: =====================================================================
#(: fx Sbr_Dump_HLP 
#(: called by:  Main_GUI
#(: param:
#(: purpose:  MGR Help general
#(: calls:
#(: method:  > /tmp/box_help & /usr/lib/gtkdialog/box_help
#(: sends:
#(: rationale:
#(: note :
#(:     gtkdialog/box_help will handle format and embedded color text codes.
#(:     xmessage will NOT handle format and color embedded text codes.
#(:     system gtkdialog "box_help" location is  '/usr/lib/gtkdialog/box_help'
#(:
#(: note: requires /tmp/box_help
#(:  gcMGRDob is declared/assigned at beginning (top) of program
#(:  fx(MGR_SetVerDate) is called at top of '=== MAIN ( ) ==='
#(:  echo this out as one long string, to standard /tmp/help_box
#(:  then call it via Sbr_Box_Message for '/tmp/box_help'"
#(: 
#! <b><span foreground='"'red'"'>"${gcSysNameBase} 'Puppy Project Manager'"</span></b>
#! <b><span foreground='"'blue'"'>"Not intended to be a Turn-Key project."</span></b>
#(:
#! ### #########################################################
function Sbr_Dump_HLP() {   #: ACTIVE  
    #! echo "${gcSysDistroName} = textfile > cat + gxmessage" > ${lcMsgTrgDP}
    n=0
    echo "\
<span background='"'brown'"'><span foreground='"'yellow'"'> "========" </span></span>\
<span background='"'yellow'"'><span foreground='"'blue'"'>"     "${gcSysNameBase}" Help "</span></span>\
<span background='"'brown'"'><span foreground='"'yellow'"'> "========" </span></span>
<b><span foreground='"'red'"'>"${gcSysNameBase}"</span></b> is a general <b><span foreground='"'red'"'>'Menu Framework' </span></b>
    <span foreground='"'green'"'>"  Purpose : is to provide a '<b>'sand-box'</b>"</span>
    <span foreground='"'green'"'>"' for '<b>'BASH GTK experiments'</b>'."</span>
    <span foreground='"'green'"'>"   and Allow-Flipping-between-'<b>'22-Puppy_Distros_!'</b>'"</span>
    <span foreground='"'green'"'>"   by rewriting part of menu lst and rebooting"</span>
<b><span foreground='"'red'"'>"Special Features of ${gcSysNameBase}: "</span> <span foreground='"'green'"'></span></b>
    <span foreground='"'blue'"'>"has Multiple BASH and GTK Page Windows. ! "</span>
    <span foreground='purple'>       "#! to form a compact screens ."</span>
    <span foreground='"'blue'"'>"has Embedded-Graphics ! "</span>
    <span foreground='purple'>       "#! to eliminate dependence on system images ."</span>
    <span foreground='"'blue'"'>"has some Double-Click buttons ! "</span>
    <span foreground='purple'>       "#! to reduce accidental triggers."</span>
    <span foreground='"'blue'"'>"has GTK 'NoteBook' for Primary screen ! "</span>
    <span foreground='purple'>       "#! for compact screen real-estate."</span>
<span foreground='red'>"#! Each OS is tested via its own original distro BASH ."</span>
<span foreground='red'>"#! Each OS is tested via its own original distro GTK ."</span>
<span foreground='red'>"#! Each OS is original as written by Mik01 or PeaBee ."</span>
<span foreground='"'green'"'>"______________________________"</span>
<b><span foreground='"'blue'"'>"buttons with Double-Click will trigger "</span></b>
<b><span foreground='"'blue'"'>"a large tear-drop shaped ICON."</span></b>
<b>:<span foreground='"'red'"'>"RED Border"</span>": tear-"<span foreground='"'yellow'"'>"YELLOW "</span>"-drop:"</b>
<b><span foreground='"'green'"'>"pop-up in middle of screen"</span></b>
"--- "
<span foreground='"'purple'"'>"${gcSysNameBase} is LINUX ! "</span>
<span foreground='"'purple'"'>"___${gcSysNameBase} is Free Open Source ! "</span>
<span foreground='"'purple'"'>"_____ so READ the code ! "</span>
"--- "
<b><span foreground='"'green'"'>"___Tested across 22 Puppy Distros______________________"</span></b>
<b><span foreground='"'red'"'>"BASH will always work, with a few quirks "</span></b>
<b><span foreground='"'red'"'>"but, GTK is sensitive to the theme settings/formatting"</span></b>
<b><span foreground='"'blue'"'>"#! for MGR with "Deep Thought" theme. "</span></b>
<b><span foreground='"'blue'"'>"#! Screen : gcMrgGuiWid='1200'"</span></b>
<b><span foreground='"'blue'"'>"#! for MGR with 'Default' theme."</span></b>
<b><span foreground='"'blue'"'>"#! Screen : gcMrgGuiWid='1100'"</span></b>
<b><span foreground='"'blue'"'>"__________________________________________"</span></b>
"--- "
<span foreground='"'green'"'>"______________________________"</span>
<span foreground='"'blue'"'>"Authors note about ${gcSysNameBase}.sh coding :"</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'red'"'>"documented code "</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'green'"'>"modular code "</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'green'"'>"... grouped in similar function names "</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'green'"'>"readable code "</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'green'"'>"modifiable code "</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'green'"'>"designed to prevent interaction "</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'green'"'>"... between bash and gtkdialog "</span>
"--- "
<span foreground='"'green'"'>"${gcSysNameBase}.sh restarts $0, uses '/tmp' "</span>
<span foreground='"'green'"'>"${gcSysNameBase}.sh requires  second to write all 41 images"</span>
<span foreground='"'green'"'>" . . . . . . .  writes all images one time, at StartUp only."</span>
<span foreground='"'green'"'>" . . . . . . .  into 13 KBytes in /tmp "</span>
"--- "
<span foreground='"'green'"'>"_________________________________________"</span>
<b><span foreground='"'purple'"'>" Running Tests on 22 Puppy OS : "</span></b>
<span foreground='red'>"#! Each OS is tested via its own original distro BASH ."</span>
<span foreground='red'>"#! Each OS is tested via its own original distro GTK ."</span>
<span foreground='red'>"#! Each OS is original as written by Mik01 or PeaBee ."</span>
<span foreground='green'>"-------------------------------------"</span>
"--- including:"
<b><span foreground='"'red'"'>"#! iso_NoblePup32-24.04-__K:6.1.115___240907"</span></b>
<b><span foreground='"'blue'"'>"#! iso_BionicPup32-19.03-K5.9--- K:5 __32  231209"</span></b>
<b><span foreground='"'brown'"'>"iso-bionicpup64-8.0-uefi_ _ _ _ _ _ _ _K:4__64_231219"</span></b>
<span foreground='"'blue'"'>  "iso-BionicPup32-8.0+30_BionicBeaver_____220407"</span>
<b><span foreground='"'red'"'>"iso-UpupTahr-6.0.6-k4.1.30-uefi_K:4.1___190211"</span></b>
<span foreground='"'blue'"'>  "iso_ManticPup32-23.10+1.iso_____Kernal:6.1_231209"</span>
<span foreground='"'blue'"'>  "iso-JammyPup32-22.04+8_JammyJellyfish___22123"</span>
<span foreground='"'blue'"'>  "iso-UPupFF+D-20.12+4_Focal-Fossa________201210"</span>
<span foreground='"'blue'"'>  "iso-KineticPup32-22.10+2________________230604"</span>
<span foreground='"'blue'"'>   "iso-Slacko-7.0_DpupS7_14.2________________220205"</span>
<span foreground='"'blue'"'>   "iso-Xenial-64_7.5_XL_______________________220401"</span>
<span foreground='"'blue'"'>   "iso-S15Pup-64_22.12+1-T___________________220922"</span>
<span foreground='"'blue'"'>   "iso-Quirky_April-7.0.1F-uefi______________200511"</span>
<span foreground='"'blue'"'>   "iso_devuanpup-9.7.0-chimaera_4.0_i386____211206"</span>
<span foreground='"'blue'"'>   "iso_LxPupSc-slacko-20.01+0-T-k64_________200129"</span>
<span foreground='"'blue'"'>   "iso_slacko64_14.2_32-674-bit_comptible___220227"</span>
<span foreground='"'green'"'>"____________________________________________"</span>
<span background='brown'><span foreground='yellow'> '===================='</span></span> 
<span background='yellow'><span foreground='blue'> '#! 22 Distros  '</span></span>
<span background='yellow'><span foreground='blue'> '#! Some require  </span></span>  
<span background='yellow'><span foreground='blue'> '#! the default Themes for GTK '</span></span> 
<span background='brown'><span foreground='yellow'> '====================' </span></span> 
<span foreground='blue'></span>
"--- "
<span foreground='"'green'"'>"______________________________"</span>
<span foreground='"'darkred'"'>
This ${gcSysNameBase} project series is posted 
   on the Murga website 
   https://forum.puppylinux.com
<b><span foreground='"'red'"'> "'"Menu Framework"'" </span></b>
   in the 'utilities' .
This project is posted on my website:
   https://www.geocities.ws/glene77is/   
   under the LINUX button.</span>
<span foreground='"'green'"'>and on GitHub 
   https://github.com</span>
"--- "
<span foreground='"'green'"'>"______________________________"</span>
<span foreground='"'red'"'>"Note on running executable BASH script :"</span>
Always check the file "\'set action\'"
... ' $ @ '  'Use-Command'
Always check the file "\'type\'"
... 'Exec'
Always check the file "\'Properties\'"
... 'Exec'
Always check the file "\'Permissions\'"
...'Executable'
Always examine other running scripts
to see how Your System is setting environmentals.
"--- "
<span foreground='green'>'______________________________'</span>
<span foreground='red'>'ROX Debug Method :'</span>
Use the ROX 'Run in Terminal' to Execute a script.
<span foreground='red'>'Geany Debug Method :'</span>
Use the Geany Execute function
<span foreground='"'green'"'>"'/usr/bin/xterm -e bash -c -e "/bin/sh %c" '"</span>
   to run the Geany script 'BASH-Terminal'
All 'echo' commands will display.
"--- "
<span foreground='green'>'______________________________'</span>
### output 'HELP' temp file MUST BE '/tmp/box_help'
### due to hard-code in '/gtkdialog/box_help'
<span foreground='green'>'______________________________'</span>
... Dumps available:
... 'Help', 'Faq', 'Pup', 'Src', 'Gui', 'Img', 'Upl', 'Dev'
... All Dumps will run, and 'ReStart' this program.
... User should Run '${gcSysNameBase}' script
...    in 'Geany' or 'ROX' 'terminal'
...    to view/trace action of internal operations !
"--- "
<span foreground='green'>"__________________________________________"</span>
<span foreground='red'>" gtkdialog version as delivered with this Puppy OS  "</span>
<span foreground='blue'>"  MGR is written with GTK as originally installed"</span>
<span foreground='red'>"  gtkdialog 'Button' Format-Sequence-is-critical "</span>
<span foreground='red'>"  gtkdialog 'Button' Format-Sequence-is-critical "</span>
<span foreground='green'>"-------------------------------------"</span>
<span foreground='red'>"#! Each OS is tested via its own original distro BASH ."</span>
<span foreground='red'>"#! Each OS is tested via its own original distro GTK ."</span>
<span foreground='red'>"#! Each OS is original as written by Mik01 or PeaBee ."</span>
<span foreground='green'>"-------------------------------------"</span>
"--- "
<span foreground='blue'>"-------------------------------------"</span>
<span foreground='red'>"Message Box Routines used:  "</span>
<span foreground='green'>"#: Sbr_Box_Message :  "</span>
<span foreground='green'>"#: ... custom rewrite of gtkdialog Box_Help"</span>
<span foreground='green'>"#: ... used by 'HELP' , 'Distro', 'Proc', 'FAQ' "</span>
<span foreground='green'>"#: gxMessage : "</span>
<span foreground='green'>"#: ...    used by: PUP, GUI, SRC, IMG, UPL, SYS. "</span>
<span foreground='green'>"#: ...    expects plain text . "</span>
<span foreground='green'>"#: ...    displays 45 char long, then wraps. "</span>
<span foreground='green'>"#: ...    line-length expands to 72++ "</span>
"--- "
<span foreground='blue'>"-------------------------------------"</span>
"--- "
<b><span foreground='"'red'"'>"     ${0} "</span></b>
<span foreground='"'purple'"'>"${gcSysNameBase} is LINUX ! "</span>
<span foreground='"'purple'"'>"___${gcSysNameBase} is FOSS ! "</span>
<span foreground='"'purple'"'>"_____ so READ the code ! "</span>
......................................................"\
> /tmp/box_help
Sbr_Box_Message "=== HELP === Sbr_Box_Message > /tmp/box_help + box_help"
#
#! working ReStart
#
} # end
export -f Sbr_Dump_HLP
#! ############################################################
#!
#!
#!
#(: ============================================================
#(: fx Sbr_Dump_Sbr_Dump_Proc  
#(: called by:  Main_GUI
#(: param:
#(: purpose:  MGR Sbr_Dump_Proc  
#(: calls:
#(: method:  > /tmp/box_help & /usr/lib/gtkdialog/box_help
#(: sends:
#(: rationale:
#(: note :
#(:     gtkdialog/box_help will handle format and embedded color text codes.
#(:     xmessage will NOT handle format and color embedded text codes.
#(:     system gtkdialog "box_help" location is  '/usr/lib/gtkdialog/box_help'
#(:
#(: note: requires /tmp/box_help
#(:  gcMGRDob is declared/assigned at beginning (top) of program
#(:  fx(MGR_SetVerDate) is called at top of '=== MAIN ( ) ==='
#(:  echo this out as one long string, to standard /tmp/help_box
#(:  then call it via Sbr_Box_Message for '/tmp/box_help'"
#(:
#! ############################################################
function Sbr_Dump_Proc() {   # ACTIVE  
    #! echo "${gcSysDistroName} = textfile > cat + gxmessage" > ${lcMsgTrgDP}
    n=0
    echo "\
<span background='"'brown'"'><span foreground='"'yellow'"'> "========" </span></span>\
<span background='"'yellow'"'><span foreground='"'blue'"'>"     "${gcSysNameBase}" Procedure-Documention "</span></span>\
<span background='"'brown'"'><span foreground='"'yellow'"'> "========" </span></span>
"--- "
"--- "
<span foreground='red'>"#! MGR software has a four part organization.  ."</span>
<span foreground='blue'>"#  1"</span> <span foreground='green'>" = '"Intro"', Setup  Var and Constants : BASH"</span>
<span foreground='blue'>"#  2"</span> <span foreground='green'>"  = '"SubRoutines"' : BASH"</span>
<span foreground='blue'>"  "</span> <span foreground='green'>". . . . which execute Tokens from GTK XML dialog"</span>
<span foreground='blue'>"#  3"</span> <span foreground='green'>"  = '"GTK XML Dialog "' "</span>
<span foreground='blue'>"  "</span> <span foreground='green'>".. . . . =  interface Display and Select Buttons. GTK code. "</span>
<span foreground='blue'>"#  4"</span> <span foreground='green'>"  = Fall-Thru '"IF/fi"' BASH routines to :"</span>
<span foreground='blue'>"  "</span> <span foreground='green'>". . . . '"capture"'  GTK Button  Tokens via the '"EXIT"' var "</span>
<span foreground='blue'>"  "</span> <span foreground='green'>". . . . '"re-direct"' to Token SubRoutines above."</span>
<span foreground='blue'>"  "</span> <span foreground='green'>". PET install not required"</span>
<span foreground='blue'>"  "</span> <span foreground='green'>". . . . dependencies embedded or included."</span>
<span foreground='blue'>"  "</span> <span foreground='green'>". just place downloaded scripts into /root/my-applications."</span>
<span foreground='blue'>"  "</span> <span foreground='green'>". . . . check PATH."</span>
<span foreground='red'>"-------------------------------------"</span>"\
> /tmp/box_help
Sbr_Box_Message "=== Code Process ==='Sbr_Box_Message'=== /tmp/box_help"
#
#! working ReStart
#
} # end
export -f Sbr_Dump_Proc
#! ############################################################
#!
#! 
#!
#(: =====================================================================
#(: fx Sbr_Dump_FAQ
#(: called by:
#(: param:
#(: purpose:  Display FAQ via  direct link in Main_GUI , returns to same.
#(: calls:
#(: method:  > /tmp/box_help & /usr/lib/gtkdialog/box_help
#(: sends:
#(: rationale:
#(: note : requires /tmp/box_help
#(:     gtkdialog/box_help will handle format and embedded color text codes.
#(:     xmessage will NOT handle format and color embedded text codes.
#(:     system gtkdialog "box_help" location is  '/usr/lib/gtkdialog/box_help'
#(:
#! ############################################################
function Sbr_Dump_FAQ() {   # ACTIVE
    n=0
    echo "\
<span background='brown'><span foreground='yellow'> '=========='</span></span>\
<span background='yellow'><span foreground='blue'> '      $gcSysNameBase FAQ    '</span></span>\
<span background='brown'><span foreground='yellow'> '==========' </span></span>
<span foreground='green'>                     # Compiled: ${gcSysDevDob} # </span> 
<span background='brown'><span foreground='yellow'> '================='</span></span>
<b><span background='yellow'><span foreground='blue'> '#! Running Tests '</span></span></b>
<b><span background='yellow'><span foreground='blue'> '#! Running Tests on 22 live-active Puppy Linux OS'</span></span></b>
<span background='brown'><span foreground='yellow'> '=================' </span></span>
<span foreground='red'>"-------------------------------------"</span>
<span foreground='brown'>"#! Each Puppy OS is tested via its own original distro BASH ."</span>
<span foreground='brown'>"#! Each Puppy OS is tested via its own original distro GTK ."</span>
<span foreground='brown'>"#! Each Puppy OS is Original as written by Mik01 or PeaBee ."</span>
<span foreground='red'>"-------------------------------------"</span>
"---"
<span background='brown'><span foreground='yellow'> '===================='</span></span> 
<span background='yellow'><span foreground='blue'> '#! 22 Distros  '</span></span>
<span background='yellow'><span foreground='blue'> '#! Some require  </span></span>  
<span background='yellow'><span foreground='blue'> '#! the default Themes for GTK '</span></span> 
<span background='brown'><span foreground='yellow'> '====================' </span></span> 
"--- including:"
<b><span foreground='"'red'"'>"#! iso_NoblePup32-24.04-__K:6.1.115___240907"</span></b>
<b><span foreground='"'blue'"'>"#! iso_BionicPup32-19.03-K5.9--- K:5 __32  231209"</span></b>
<b><span foreground='"'brown'"'>"iso-bionicpup64-8.0-uefi_ _ _ _ _ _ _ _K:4__64_231219"</span></b>
<span foreground='"'blue'"'>  "iso-BionicPup32-8.0+30_BionicBeaver_____220407"</span>
<b><span foreground='"'red'"'>"iso-UpupTahr-6.0.6-k4.1.30-uefi_K:4.1___190211"</span></b>
<span foreground='"'blue'"'>  "iso_ManticPup32-23.10+1.iso_____Kernal:6.1_231209"</span>
<span foreground='"'blue'"'>  "iso-JammyPup32-22.04+8_JammyJellyfish___22123"</span>
<span foreground='"'blue'"'>  "iso-UPupFF+D-20.12+4_Focal-Fossa________201210"</span>
<span foreground='"'blue'"'>  "iso-KineticPup32-22.10+2________________230604"</span>
<span foreground='"'blue'"'>   "iso-Slacko-7.0_DpupS7_14.2________________220205"</span>
<span foreground='"'blue'"'>   "iso-Xenial-64_7.5_XL_______________________220401"</span>
<span foreground='"'blue'"'>   "iso-S15Pup-64_22.12+1-T___________________220922"</span>
<span foreground='"'blue'"'>   "iso-Quirky_April-7.0.1F-uefi______________200511"</span>
<span foreground='"'blue'"'>   "iso_devuanpup-9.7.0-chimaera_4.0_i386____211206"</span>
<span foreground='"'blue'"'>   "iso_LxPupSc-slacko-20.01+0-T-k64_________200129"</span>
<span foreground='"'blue'"'>   "iso_slacko64_14.2_32-674-bit_comptible___220227"</span>
"--- "
<span foreground='"'darkblue'"'>\
    NOTE: Different "'"GTK Themes"'" 
    will alter font size and screen usage.

    for MGR with  "'"Default"'" theme. 
         Screen : "'"gcMrgGuiWid"'" = 1100 

    for MGR with "'"Deep-Thought"'" theme. 
         Screen : "'"gcMrgGuiWid"'" = 1200 

    more tests required to differentiate 
        various themes and screen dimensions for each Distro
        which alter font size and screen usage. 
</span>
<span foreground='green'>"______________________________"</span>
<span background='brown'><span foreground='yellow'> '=========='</span></span>\
<span background='yellow'><span foreground='blue'> ' "SOFT" LockFile:'</span></span>\
<span background='brown'><span foreground='yellow'> '==========' </span></span>
<span foreground='darkblue'>\
    #(: ------------------------------------------------
    #(:  Note:   
    #(:   MGR.sh is written with a "SOFT" LockFile.
    #(:      so error message is displayed, 
    #(:      and program continues to run. 
    #(:  Note: 
    #(:  'strict' lockfile method NOT implemented.
    #(:  IF 'strict' lockfile block is written into a function ()
    #(:     ( which is a "sub-routine" )
    #(:     [which by definition is a sublevel in the stack],
    #(:  THEN 'exit' will only "pop" one level
    #(:     at the function () stack level,
    #(:     and will not 'quit' or 'halt' the PRG as desired.
    #(:
<b><span foreground='"'brown'"'>    "#: MGR.sh has a 'SOFT Lock' method "</span> </b>
    #(:     User is responsible for correcting 
    #(:     repeated runs of MGR.sh . 
    #(:  'soft' lock produces 'non-fatal' errors.  
    #(:
 #(: ------------------------------------------------
 #(:
    <span foreground='blue'>"  "</span> <span foreground='green'>". PET install not required"</span>
    <span foreground='blue'>"  "</span> <span foreground='green'>". . . . dependencies embedded or included."</span>
    <span foreground='blue'>"  "</span> <span foreground='green'>". just place downloaded scripts into /root/my-applications."</span>
    <span foreground='blue'>"  "</span> <span foreground='green'>". . . . check PATH."</span>
 #(: ------------------------------------------------
</span>
..."\
> /tmp/box_help
Sbr_Box_Message "=== FAQ === 'Sbr_Box_Message ' > /tmp/box_help + box_help"
#
} #
export -f Sbr_Dump_FAQ
#!
#!
#(: =====================================================================
#(: fx Sbr_Dump_SRC 
#(: called by:  Main_GUI
#(: param:
#(: purpose:  Display Source via direct link in Main_GUI , returns to same.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:     gtkdialog/box_help will handle format and embedded color text codes.
#(:     xmessage will NOT handle format and color embedded text codes.
#(:     xmessage requires /tmp/help_box
#(:
#(: First Section is a Dump to Screen via gxmessage pulling /tmp/box_help
#(: Second Section is a Base-64 Cat to /my-applications/Mgr_Cat_64_.txt
#! #######################################################################
function Sbr_Dump_SRC() {   # ACTIVE  called at 8754
    n=0
#! requires /tmp/box_help
lcFileGXmessage="/usr/bin/gxmessage"    # current target 
#! begin Source Header
lcMsgSrc="${0}" # "${gcZeroRun}"
lcMsgTrg="/tmp/box_help"   # box_help is required by gtkdialog 
#! begin Source Body
cat ${0} > ${lcMsgTrg}     ### Sbr_Dump_SRC   /tmp/box_help ###
    #!
#! display SOURCE 
gxmessage -title "Dump_Source + ReStart "  -name "-SRC-" -font bold -bg lightyellow -fg darkblue -center -wrap -file ${lcMsgTrg} 
#!
Sbr_Cbx_ReStart 1
} #
#
export -f Sbr_Dump_SRC
#!
#(: ====================================================================
#(: fx Sbr_Dump_PUP
#(: called by: Main Gui
#(: param:
#(: purpose:  Display PUPSTATE via direct link in Main_GUI , returns to same.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:     gtkdialog/box_help will handle format and embedded color text codes.
#(:     xmessage will NOT interpret markup text codes.
#(:     Method: cat ${lcMsgSrc} > ${lcMsgTrg} & xmessage
#(:
#! ############################################################
function Sbr_Dump_PUP() {    # ACTIVE
    n=0
lcMsgSrcDP="/etc/rc.d/PUPSTATE"
lcMsgTrgDP="/tmp/box_help"  # /tmp/MGR_PUPSTATE
#
echo "# ${gcSysDistroName} = textfile > cat + gxmessage" > ${lcMsgTrgDP}
    #!
echo "# ${lcMsgSrcDP}"  >> ${lcMsgTrgDP}
echo "# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" >> ${lcMsgTrgDP}
echo "# This is Linux "  >> ${lcMsgTrgDP}
echo "#    This is Free Open Source  " >> ${lcMsgTrgDP}
echo "#       So, Read the Code" >> ${lcMsgTrgDP}
echo "# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" >> ${lcMsgTrgDP}
echo "# `date +%y%m%d-%H%M-%S`"  >> ${lcMsgTrgDP}
#
cat ${lcMsgSrcDP} >> ${lcMsgTrgDP}
#
lcMGR_dts="=== MGR  NowDTS  `date +%y%m%d-%H%M-%S`"
echo "${lcMGR_dts}" >> ${lcMsgTrgDP}    #: add string to PUPSTATE Text Output
echo "=== {PUP+} MGR_Pup_Box ============================" >> ${lcMsgTrgDP}
sleep 1
gxmessage -name "Dump PUPSTATE + ReStart " -bg lightyellow  -center -file "${lcMsgTrgDP}" -wrap
#
} #
export -f Sbr_Dump_PUP
#!
#!
#(: =====================================================================
#(: fx Sbr_Dump_GUI
#(: called by:
#(: param:
#(: purpose: splash GTK XML Dialog code 
#(: calls:
#(: method: gxmessage
#(: sends:
#(: rationale:
#(: note : line length < 62
#(:
#! ############################################################
function Sbr_Dump_GUI() {   # ACTIVE 
    #! called by ${MGR_Master_Main_GUI}
    n=0
lcFileGXmessage="/usr/bin/gxmessage"
   #
lcMsgStr="# ===  Sbr_Dump_Master_Main_GUI gxmessage + ReStart  === "  &&     Sbr_Str2DevTrm "$lcMsgStr" "3" "7"
    #
lcMsgSrc="/tmp/EmGa-Master-GUI.txt"
lcMsgTrg="/tmp/box_help"
    #!
echo "# ${gcSysDistroName} = textfile > cat + gxmessage" > ${lcMsgTrg}    # preset First Line
    #!
echo "# Compiled: ${gcSysDevDob}" >> ${lcMsgTrg}
echo "# Running fx Sbr_Dump_GUI " >> ${lcMsgTrg}
echo "# Running fx Sbr_Dump_Master_Main_GUI_XML " >> ${lcMsgTrg}
echo "# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" >> ${lcMsgTrg}
echo "# This is Linux "  >> ${lcMsgTrg}
echo "#    This is Free Open Source  " >> ${lcMsgTrg}
echo "#       So, Read the Code" >> ${lcMsgTrg}
echo "# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" >> ${lcMsgTrg}
echo "# MGR Source: ${lcMsgSrc}"  >> ${lcMsgTrg}
echo "# DistroKernel: ${gcMGRKernVer}"  >> ${lcMsgTrg}
echo "# MGR ## Target: ${lcMsgTrg}"  >> ${lcMsgTrg}
echo "# "  >> ${lcMsgTrg}
cat ${lcMsgSrc} >> ${lcMsgTrg}     ### /tmp/box_help ###
sleep 1     # wait for system 
gxmessage -title "Dump-Master-GUI + ReStart"  -name "-Master-GUI-" -font bold -bg lightyellow -fg darkblue -center -wrap -file ${lcMsgTrg}
#
} #
export -f Sbr_Dump_GUI
#!
#!
#!
#(: =====================================================================
#(: fx Sbr_Dump_IMG
#(: called by:
#(: param:
#(: purpose: display all IMG code
#(: calls:
#(: method: gxmessage
#(: sends:
#(: rationale:
#(: note : line length < 62
#(:
#! ############################################################
function Sbr_Dump_IMG() {   # ACTIVE 
    #! Dump_Image   EmGa-Master-IMG.txt
    n=0
lcFileXmessage="/usr/bin/xmessage"
lcFileGXmessage="/usr/bin/gxmessage"
    #
lcMsgStr="# ===  Sbr_Dump_IMG gxmessage + ReStart === "  &&     Sbr_Str2DevTrm "$lcMsgStr" "3" "7"
    #
lcMsgSrc="EmGa-Master-IMG.txt"  
lcMsgTrg="/tmp/box_help"  
echo "# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" > ${lcMsgTrg}
    #!
echo "${gcSysDistroName} = textfile > cat + gxmessage" >> ${lcMsgTrg}    # preset First Line
echo "# running fx(Sbr_Dump_IMG) showing IMAGE code" >> ${lcMsgTrg}
echo "# Compiled: ${gcSysDevDob}" >> ${lcMsgTrg}
echo "#============================" >> ${lcMsgTrg}
echo "# EmGr-Image-all ===${lcMsgSrc}===" >> ${lcMsgTrg}    
echo "# total 37 images: 17 KBytes " >> ${lcMsgTrg}
echo "# total load time: 0.7 second" >> ${lcMsgTrg}
echo "#============================" >> ${lcMsgTrg}
echo "# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" >> ${lcMsgTrg}
echo "# This is Linux "  >> ${lcMsgTrg}
echo "#    This is Free Open Source  " >> ${lcMsgTrg}
echo "#       So, Read the Code" >> ${lcMsgTrg}
echo "# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" >> ${lcMsgTrg}
echo "# MGR Source: ${lcMsgSrc}"  >> ${lcMsgTrg}
echo "# MGR Target: ${lcMsgTrg}"  >> ${lcMsgTrg}
echo "# `date +%y%m%d-%H%M-%S`"      >> ${lcMsgTrg}
echo "# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" >> ${lcMsgTrg}
echo "# "  >> ${lcMsgTrg}
cat /tmp/EmGa-Master-IMG.txt >> ${lcMsgTrg}     ### gxmessage pulls /tmp/box_help ###
gxmessage -title "Dump-Images + ReStart " -name "Sbr_Dump_IMG-" -font bold -bg lightyellow -fg darkblue -center  -file ${lcMsgTrg}
#
} #
export -f Sbr_Dump_IMG
#!
#!
#(: =====================================================
#(: fx Sbr_Dump_UPL     "User Popup Legal" by PeeBee
#(: called by:
#(: param:
#(: purpose: splash legal statement by PeeBee
#(: calls:
#(: method: gtk box_ok
#(: sends:
#(: rationale:
#(: note : line length < 62
#(:
#! #####################################################
function Sbr_Dump_UPL() {   # ACTIVE
    n=0
lcStrUpPop="...  
DistroName: ${DISTRO_NAME}
Compiled: ${gcSysDevDob}
===========================================
Legal notice subroutine developed by GlenE77is
#
This program is free software; you can redistribute it
and/or modify it
under the terms of the GNU General Public License
as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
....."
    #! -D---
/usr/lib/gtkdialog/box_ok "=== Dump Legal + ReStart ===" "ERROR" "${lcStrUpPop}"
    RETVAL=$?
#
} #
export -f Sbr_Dump_UPL
#!
#!
#(: =====================================================
#(: fx Sbr_Dump_Sys
#(: called by:
#(: param:
#(: purpose: splash Dev Notes and test var
#(: calls:
#(: method: gtk box_ok
#(: sends:
#(: rationale:
#(: note : line length < 62
#(: note:
#(: Some Data is NOT PROVIDED in Puppy "DISTRO_SPECS" . 
#(:  example of data not provided : gcOsIso="iso-bionicpup64-8.0-uefi : 19 Feb" 
#(:  therefore "Sbr_Dump_Sys" cannot automatically present this "ISO" data. 
#(:  SINCE  Manager must run on "ALL"  Puppy Distro, 
#(:  THEN   this system identifying data is not provided. 
#! #####################################################
function Sbr_Dump_Sys() {   # ACTIVE
    n=0
    
#! lcStrUpPop is picked up by /box_ok 
lcStrUpPop="# fx(Sbr_Dump_Sys) + ReStart 
Date-Now-Run: "`date +%y%m%d-%H%M-%S-%a`" 
=======================================
DISTRO-NAME:  ${DISTRO_NAME}       DistroVersion: ${DISTRO_VERSION}
Puppy-SUBDIR: ${PSUBDIR}
Symbol: ${gcMgrDistroSymbol}
DistroKernel: ${gcMGRKernVer} 
Distro_PuppyDate: ${DISTRO_PUPPYDATE}
Iso-file-Date: ${gcMgrIsoDate}  
=======================================
Mgr-Run-Date: ${gcSysDevDob}
Mgr-Key-ID: ${gcMgrKey}
Mgr-BashPid: ${gcMgrBashPid} 
=======================================
PUP_HOME: ${PUP_HOME}
: ${PUPSAVE}
Save-Data-Name-Mount="`cat /sys/fs/aufs/si_*/br0 | head -1 | cut -f1 -d'='`"
    Src:/sys/fs/aufs="`cat /sys/fs/aufs/si_*/br1 | head -1 | cut -f1 -d'='`"   RamObj: ${lcPupRamObjMsg}
=======================================
* uname: `uname -a`    
* kernal name: `uname -s`  
* kernel release: `uname -r` 
* kernel verson  `uname -v` 
* system: machine: `uname -m` 
* processor: `uname -p`      * platform: `uname -i` 
* operating sys: `uname -o` 
*gcSysDevDob = ${gcSysDevDob}   *gcMgrDevId = ${gcMgrDevId} 
*gcSysDistroPuppySFS=${gcSysDistroPuppySFS}  
*gcPupSfsFile=${gcPupSfsFile}"
#! -D---
/usr/lib/gtkdialog/box_ok "=== Dump System + ReStart ===" "x" " ${lcStrUpPop}                                                      "
    RETVAL=$?
#
#! / tmp / Mgr_Dump_Declare.txt
#! declare sbr used at main ( ) 
#! Sbr_Dump_SYS-Declare used after Sbr_Dump_Sys ( the "A" version ) 
#!
} # 
export -f Sbr_Dump_Sys
#!
#!
#(: =====================================================
#(: fx Sbr_Dump_Declare
#(: called by:
#(: param:
#(: purpose: splash Dev Notes and test var
#(: calls:
#(: method: gtk box_ok
#(: sends:
#(: rationale:
#(: note : line length < 62
#(: note:
#! #####################################################
function Sbr_Dump_Declare() {   # ACTIVE
    n=0
#! / tmp / Mgr_Dump_Declare.txt
#! declare sbr used at main ( ) 
#! Sbr_Dump_Declare used after Sbr_Dump_Sys ( the "A" version ) 
rm -f /tmp/Mgr_Dump_Declare.txt
echo "# fx( Sbr_Dump_Declare )   Attributes and Values of all Variables ..."  > /tmp/Mgr_Dump_Declare.txt
declare >> /tmp/Mgr_Dump_Declare.txt
lcMsgSrc="/tmp/Mgr_Dump_Declare.txt"
gxmessage -title "gxmessage Dump Declare + ReStart" -name "Sbr_Dump_Declare  /tmp/Mgr_Dump_Declare.txt" -font bold -bg lightyellow -fg darkblue -center  -file "${lcMsgSrc}"
} # 
export -f Sbr_Dump_Declare
#!
#!
#(: =====================================================
#(: fx EXIT:Sbr_Dump_Path
#(: called by:
#(: param:
#(: purpose: splash Dev Notes and test var
#(: calls:
#(: method: gtk box_ok
#(: sends:
#(: rationale:
#(: note : line length < 62
#(: note:
#! #####################################################
function Sbr_Dump_Path() {   # ACTIVE
    n=0
#! / tmp / Mgr_Dump_Path.txt
#! declare sbr used at main ( ) 
#!
#  lcFn = "/tmp/Mgr_Dump_Path.txt"
#  rm -f /tmp/Mgr_Dump_Path.txt
touch /tmp/Mgr_Dump_Path.txt
echo "# fx( Sbr_Dump_Path )    ..."  > /tmp/Mgr_Dump_Path.txt
#!
echo "======= ii-in-path.sh === ls -simple ==="
IFS=':'
for ii in $PATH
do
        echo $ii    #! extra trace to terminal 
        lcMsgStr="${ii}"
        /bin/echo     "${lcMsgStr}" >> /tmp/Mgr_Dump_Path.txt
done
lcMsgSrc="/tmp/Mgr_Dump_Path.txt"
gxmessage -title "gxmessage DumpPath + ReStart" -name "Sbr_Dump_Path  /tmp/Mgr_Dump_Path.txt" -font bold -bg lightyellow -fg darkblue -center  -file /tmp/Mgr_Dump_Path.txt
#!
} # 
export -f Sbr_Dump_Path
#!
#!
#! 
#(: ============================================================
#(: fx Sbr_Dxstro_Window   
#(: called by:  DOX_GUI
#(: param:
#(: purpose:  MGR Help general
#(: calls:
#(: method:  > /tmp/box_help & /usr/lib/gtkdialog/box_help
#(: sends:
#(: rationale:
#(: note :
#(:     gtkdialog/box_help will handle format and embedded color text codes.
#(:     xmessage will NOT handle format and color embedded text codes.
#(:     system gtkdialog "box_help" location is  '/usr/lib/gtkdialog/box_help'
#(:
#(: note: requires /tmp/box_help
#(:  gcMGRDob is declared/assigned at beginning (top) of program
#(:  fx(MGR_SetVerDate) is called at top of '=== MAIN ( ) ==='
#(:  echo this out as one long string, to standard /tmp/help_box
#(:  then call it via Sbr_Box_Message  for '/tmp/box_help'"
#(:
#! ###    #! echo "${gcSysDistroName} = textfile > cat + gxmessage" > ${lcMsgTrgDP}
#########################################################
function Sbr_Dxstro_Window () {   # ACTIVE  
    n=0
    echo "\
<span background='"'brown'"'><span foreground='"'yellow'"'> "========" </span></span>\
<span background='"'yellow'"'><span foreground='"'blue'"'>"     "${gcSysNameBase}" Dxstro_List "</span></span>\
<span background='"'brown'"'><span foreground='"'yellow'"'> "========" </span></span>
<b><span foreground='"'red'"'>". . . . ${gcSysNameBase} 'Puppy Project Manager'"</span></b>
"--- "
<span foreground='"'green'"'>"____________________________________________"</span>
<b><span foreground='"'purple'"'>" Running Tests on 22 Puppy OS, including: "</span></b>
<span foreground='purple'>"#! Each OS is tested via its own original distro BASH ."</span>
<span foreground='purple'>"#! Each OS is tested via its own original distro GTK ."</span>
"--- including: "
<b><span foreground='"'red'"'>"#! iso_NoblePup32-24.04---------------------240907"</span></b>
<b><span foreground='"'blue'"'>"#! iso_BionicPup32-19.03-K5.9--- K:5 __32  231209"</span></b>
<b><span foreground='"'red'"'> "iso_BionicPup32-19.03-K5.9_.iso_________K:5.9__231209"</span></b>
<b><span foreground='"'red'"'> "iso-Bionic PupUpupB64B-Kernal:4______64bit__231219"</span></b>
<span foreground='"'blue'"'>   "iso-BionicPup32-8.0+30_BionicBeaver______220407"</span>
<b><span foreground='"'red'"'> "iso-UpupTahr-6.0.6-k4.1.30-uefi____K:4.1_190211"</span></b>
<span foreground='"'blue'"'>   "iso_slacko64_14.2_32-64-bit_______64bit__220227"</span>
<span foreground='"'blue'"'>   "iso_ManticPup32-23.10+1.iso________K:6.1_231209"</span>
<span foreground='"'blue'"'>  "iso-JammyPup32-22.04+8_JammyJellyfish___22123"</span>
<span foreground='"'blue'"'>  "iso-KineticPup32-22.10+2________________230604"</span>
<span foreground='"'blue'"'>  "iso-UPupFF+D-20.12+4_Focal-Fossa________201210"</span>
<span foreground='"'blue'"'>   "iso-Slacko-7.0_DpupS7_14.2_____________220205"</span>
<span foreground='"'blue'"'>   "iso-Xenial-64_7.5_XL___________________220401"</span>
<span foreground='"'blue'"'>   "iso-S15Pup-64_22.12+1-T________________220922"</span>
<span foreground='"'blue'"'>   "iso_LxPupSc-slacko-20.01+0-T-k64_______200129"</span>
<span foreground='"'blue'"'>   "iso-Quirky_April-7.0.1F-uefi___________200511"</span>
<span foreground='"'green'"'>"____________________________________________"</span>
"--- "
......................................................"\
> /tmp/box_help
Sbr_Box_Message "=== Dxstro ==='function Sbr_Dxstro_Window'===/tmp/box_help==="
#
} # end
export -f Sbr_Dxstro_Window
#! ############################################################
#! ### DUMPS ########################################################################
#! ### DUMPS ########################################################################
#! ### DUMPS ########################################################################
#!
#!
#!
        #!
        #! ###################################################
        function MGR_TouchLockFile() {   #: NOT ACTIVE
            n=0
        } #
        #!
        #!
        #! ###################################################
        #~ function MGR_TouchCBXstatus() {   #: NOT ACTIVE
            #~ n=0
        #~ } #
        #!
        #!
        #! ###################################################
        #~ function MGR_TouchE3Rstatus() {   #: NOT ACTIVE
            #~ n=0
        #~ } #
        #!
#!
#!
#(: ======================================================
#(: fx Sbr_Sys_Sync
#(: called by: '/sbin/sync' is a link into 'busybox' binary '/bin/busybox' + splash
#(: param:
#(: purpose:  link into 'busybox' binary '/bin/busybox'
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ######################################################
function Sbr_Sys_Sync() {   # ACTIVE
#!
n=0
#!  clear lingering colors
/bin/echo -en "\\033[0;39m"    #>/dev/console
/bin/echo -en "\\033[60G"      #>/dev/console
/bin/echo -en "\\033[1;33m"    #>/dev/console
/bin/echo -e  "\\033[0;39m"    #>/dev/console
#! 
if [ ! $1  ] ; then   # display
Sbr_Splash_It "< SYNC >  flush buffers" "orange" "purple" "1"    #! -D---
fi # end: [ $1 = "1" ]
#!
    sync    # # '/sbin/sync' is a link into 'busybox' binary '/bin/busybox'
#!
} #
export -f Sbr_Sys_Sync
#!
#!
#(: ======================================================
#(: fx Sbr_S2F1-MI
#(: called by:    EXIT:guiSimReStart, ReBoot, ReQuit
#(: param:
#(: purpose:
#(:
#(: calls:  nice -n ${lcRunNum} snapmergepuppy /initrd/pup_ro1 /initrd/pup_rw
#(: method: code calling handled internal,
#(:     could loop via param
#(:     could call to external S2F-1 multiple times.
#(: sends:
#(: rationale:
#(: note :
#(:     # ## Save-2-Flash...Must.Close.XTerm...to clear buffers.
#(:     # ## purpose: one-shot "SMP"
#(:     # ## nice -19 puts SMP at top of priority stack
#(:     # ## ionice -c 1 puts SMP at #1 priority. 
#(:
#(: ================================================================
#(: fx Sbr_S2F1_MI    #! Internal   :1: SMP1_MI :    #!ACTIVE 
#(: called by:  To Do: call direct INTERNAL ( no dependency ) 
#(: param:  
#(: purpose: wrapper for external system call to SMP 
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_S2F1_MI() {   #! :1: SMP1_MI :  Save2File  Internal  ACTIVE
    #! see msg_DC_LxgenVmb_window
    #! called by Sbr_MB  and Sbr_MB_Reboot Installed Menu
    n=0
    #! ========================
    Sbr_Splash_It ":MI : SMP1_MI :"  "black" "yellow"  ""         #! -D---
    ionice -c 1 snapmergepuppy   
    sleep 1
    kill ${GTKPID_Cold_Splash}   2> /dev/null   
    sleep 2
    kill ${GTKPID_Cold_Splash}   2> /dev/null   
} #! end
export -f Sbr_S2F1_MI    
#!
#!
#!
#(: ================================================================
#(: fx Sbr_S2F3_MI  # Internal  :3: SMP3_MI  #! ACTIVE   
#(: called by:  To Do: call direct INTERNAL ( no dependency ) 
#(: param:  
#(: purpose: wrapper for external system call to SMP 
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_S2F3_MI() {    #! :3:  SMP3_MI  #!ACTIVE     # Internal 
    #! called by Sbr_MB_ALL   
    n="0"
    Sbr_Splash_It  ":1: SMP3_MI :==="  "black" "yellow"  ""         #! -D---
    ionice -c 1 snapmergepuppy    
    sleep 1
    Sbr_Splash_It " :2: SMP3_MI :==="  "black" "yellow"  ""         #! -D---
    ionice -c 1 snapmergepuppy    
    sleep 1
    Sbr_Splash_It " :3: SMP3_MI :==="  "black" "yellow"  ""         #! -D---
    ionice -c 1 snapmergepuppy    
    sleep 1
    Sbr_Splash_It ": DONE : SMP3_MI :"  "yellow" "red"  ""         #! -D---
    sleep 2
} #! end
export -f Sbr_S2F3_MI    
#! #################################################################
#!
#(: ====================================================================
#(: fx Sbr_Sys_PupState
#(: called by Main
#(: param
#(: purpose:
#(:    consolidation of PUPSTATE
#(:     control generation of local var
#(:     control configfile
#(: rationale:
#(:     Puppy writes the "state" variables into /etc/rc.d/PUPSTATE .
#(: sends:
#(: note:
#(:     dox for export
#(: export      varname
#(:     export -f   file or function
#(:     export -d   directory
#(:
#! ########################################################
function Sbr_Sys_PupState() {   # ACTIVE  #! could test for not 12 or not 13 !
    n=0
    lcVerDtsTmp="${gcMGRDob}"
    #
    #! already done at main () entry.
    #
    export gcMGRDob="${lcVerDtsTmp}"
    #
    export gcSysDistroLoc="${PDEV1}"    ### from PUPSTATE, from rc.sysinit.
    export gcZeroRun="$0"
    #! "BK ==============================================="
    export gcSysDistroVer="${PUPSFS}"
    export gcSysKernVer=${gcSysKernVer}
    export gcSysVer="${PUPSFS}" #: ${gcSysDistroVer}
    export gcPupSfsFile="`echo "$PUPSFS" | cut -f 3 -d ','`"
    export gcMGRDistroVer="${PUPSFS}"
    export gcMGRKernVer="`uname -r`"
    export lcPupMode=${PUPMODE}
    export lcPupHome=${PUP_HOME}
    export lcPupSave=${PUPSAVE}
    export gcPupSubDir=${PSUBDIR}
    export gcPupSubDirDts="${gcPupSubDir}.BKP-`date +%y%m%d-%H%M-%S`"
    lcPupSaveNameRaw="PUPSAVE : ${lcPupSave}"
    lcPupSaveName="`echo $lcPupSave | cut -f 3 -d "/"`"
    lcPupSaveNameDts="NameDts = ${lcPupSaveName}.BKP-`date +%y%m%d-%H%M-%S`"
    lcPupSaveNameTrg="${lcPupSaveNameDts}.tar.gz"
    lcPupSaveNameSrc="${lcPupSaveName##*/}"
    lcPupSaveData="`echo $lcPupSave | cut -f 2 -d "/"`"
    lcPupSaveData="/initrd${lcPupHome}/${lcPupSaveData}/${lcPupSaveName}"
    lcPupDistroVer="${PUPSFS}"
    #!
    #! "top=RamObj ==============================================="
    #! dev: "calc" if [ zero ]  for "${lcPupRamObjMsg}"
    if [ "${lcPupRamObjMsg}" ] ; then  # NOT ZERO   # do nothing
         n="0"
        #! MGR has been run/initialized the "first" time. So, Will Show "RamObjMsg" Col #1, bottom. 
        sleep .1    
    else    # so must generate . 
    #! "gen=RamObj ==============================================="
        #! ------------------------------------
        aa="$(du -c -m -s ${lcPupSaveData} )"     # error flag on Zero-length file shown inside Geany/XTerm
        read -r b ccc <<< "$aa" # --- saveDATA size calc
        #!
        lcPupRamObj="${b}"
        lcPupRamObjMsg="${lcPupRamObj} MB "
        #!
        ### changed from leading grave [`] to enclosing double-apostrophe ["]
        ### FREERAM="free | grep -o 'Mem: .*' | tr -s ' ' | cut -f 4 -d ' '"
        ### export gcFreeRamNow="${FREERAM}"
        ### export gcFreeRamData="# Ram: ${gcFreeRamNow} Bytes "
    fi
    #! "bot=RamObj ==============================================="
    export gcPupSave="${PUPSAVE}"
    export MGR_CBXstatus="/tmp/MGR_CBX_Status"
    export MGR_LockFile="/tmp/MGR_LockFile"
    export MGR_CBXstatus="/tmp/MGR_CBX_Status"
    #!
    export gcPupSave="${PUPSAVE}"
    export MGR_ReStart_flg="/tmp/MGR_ReStart.flg"
    #!
} #
export -f Sbr_Sys_PupState
#!
#!
#!
#(: ================================================================
#! Check-Box "CBX"  Old Code   ComboBox not implemented in v.8, v.9
#(: ================================================================
#(: fx Sbr_CBXAR3       # NOT ACTIVE  Check-Box "CBX"   # External calls
#(: called by: if [ "${EXIT}" == "CBXARS" ] || [ "${EXIT}" == "CBXARB" ] || [ "${EXIT}" == "CBXARQ" ] ; then
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! begin: ( EXIT:'CBX APPLY+')
#(: begin: check for "APPLY Checks" command   Check-Box "CBX"  # External calls
#(: fx EXIT='APPLY_Checks_All_'
#(: fx EXIT='CBXAR3')
#(: fx EXIT='CBXARS'
#(: fx EXIT='CBXARB'
#(: fx EXIT='CBXAPO'
#!
#! Fall-Thru Method 
#!
#! ===============================================================
#(: fx IF EXIT:CBXAR3   #! EXIT:CBXARS  #! EXIT:CBXARB #! CBXARQ      #! Not Used 
#!  via ( EXIT:CBX_APPLY+ )
#! if [ "$EXIT" = "CBXARS" ] ; then ; n=0 ; fi   # CBX ARS, ARB, ARQ ComboBox
#!
 #! end: ( EXIT:'CBX_APPLY+')
#!
#! =====================================================================
#!
#!
#!
#! ===========================================================
#! begin :  Bak---   BakAll   BakOne    BakOneArcDts
#! begin :  Bak---   BakAll   BakOne    BakOneArcDts
#! begin :  Bak---   BakAll   BakOne    BakOneArcDts
#! ===========================================================
#! working  function Sbr_BakOneArcDts() {       # ACTIVE  
#! working  function Sbr_BakOneArcDts() {       # ACTIVE  
#! working  function Sbr_BakOneArcDts() {       # ACTIVE  
#(: ===========================================================
#(: fx Sbr_BakOneArcDts
#(: called by: Page "Main"
#(: param:
#(: purpose: Backup/Archive with DTS, only on /Dev /Edit sdir
#(:     only for "MGR" "Manager" Shell Script
#(: calls:
#(: method: pull from "EDIT" files.sh  over into "/root/my-applications" 
#(: sends:
#(: rationale:
#(: note : BakAll for ONLY the curret 'MGR.sh' but all versions. 
#(:    into the /Edit developmental subdir 
#! ##########################################################
function Sbr_BakOneArcDts() {       # ACTIVE  
    #! cleanup the  fnSrc  and  fnTrg 
    #! [EXIT:guiMgrOneArcDts] [BakOne]
    #!
    #! ================ Not Req for "Bak One Dts "
     lcTargetSDbase="/mnt/home"
    #!
#! pull from initial code : 
    lcSysFnPre="rc.z_"
    lcSysNameBase="${gcSysNameBase}"  # "MGR"         # ${gcSysNameBase}
    lcSysFnVer="-${gcMgrVer}"   # -10
    lcSysFnVerExt="${gcMgrVerExt}"   # -10.0
    lcSysNameExt=".sh"
    lcSysArcFnSrc="${lcSysFnPre}${lcSysNameBase}${lcSysFnVer}"
    #! pull from initial code : 
    #!   
    #! lcMgrRealFnSrc="`echo -n "$0" | cut -f 2 -d '/'`" 
    #! grRealFnsrc="`echo -n "$0" | cut -f -1 -d '/'`"   #  "./MGR-7.sh"
    #! used only in Sbr_BakOneArcDts
    #! *********************************************************
    #!
#! === MGR Arc+DTS === BackGround ============================
#!   Yellow / DarkRed
/usr/lib/gtkdialog/box_splash -fg yellow -bg darkred -border true -close never -text "\
*.    EDIT version :   BakOne  pulls from "EDIT" Shell Script + DTS  
*.   ->  over into "/arc_Common_dts_" 
*.   
*.   
*.
*.
*.      Sbr_BakOneArcDts
*.
*.
*.
*.
*.   
*________________________________________________________________________________________" &
    pidx=$!
    GTKPIDmgrarcdtsA=$!
    sleep 1
    #!
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    #!
    #! === duplicate ============================================
    lcMgrArcSubName="${DISTRO_DB_SUBNAME}${gcMgrDevSubId}"  # upupkk, upupbb, upupjj, upupmm+bw
    lcMgrArcDtsNow="`date +%y%m%d-%H%M-%S`"
    #! Source is the current "active" MGR source code $0 .
    lcFnSrc="/mnt/home/MY_/usr-share/My_Dev_/Edit_MGR/${lcSysArcFnSrc}.sh"
    #! Target Repository of /Edit_MGR/arc_Common_dts_/arc_Common_10_dts_sh_/${lcSysArcFnSrc}-${lcMgrArcSubName}-${gcMgrVerExt}-${lcMgrArcDtsNow}.sh"
    #! KLM is   /mnt/sdc1 
    #! lcFnTrg="/mnt/home/MY_/usr-share/My_Dev_/Edit_MGR/arc_Common_dts_/arc_Common_10_dts_sh_/${lcSysArcFnSrc}-${lcMgrArcSubName}-${gcMgrVerExt}-${lcMgrArcDtsNow}.sh"
    #! simplify to this on SDA1 : 
    lcFnTrg="/mnt/home/MY_/usr-share/My_Dev_/Edit_MGR/arc_Common_dts_/${lcSysArcFnSrc}-${lcMgrArcSubName}-${gcMgrVerExt}-${lcMgrArcDtsNow}.sh"
    #! ===============================================
    #!   
    echo  "!:  ${lcSysArcFnSrc}"
    echo  "fr: ${lcFnSrc}"
    echo  "to: ${lcFnTrg}"
     #!   Yellow / Blue
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border true -close never -text "\
    Single MGR file 10_DTS backup
     from:   ${lcFnSrc}
     to:     ${lcFnTrg}
  " &
    pidx=$!
    GTKPIDmgrarcdts=$!
    #!_______________________________
    cp -v ${lcFnSrc} ${lcFnTrg}
    #!_______________________________
    #!
    sleep 3
    kill ${GTKPIDmgrarcdtsA}   2> /dev/null   
    kill ${GTKPIDmgrarcdts}   2> /dev/null   
    #!
 } # 
export -f Sbr_BakOneArcDts
#(: =====================================================
#! find "$BACKUP_DIR" -type d -name "backup_*" -mtime +30 -exec rm -rf {} \;
#!
#!
#!
#(: =====================================================
#(: fx Sbr_BakAllArcDts_One
#(: called by: Sbr_BakAllArcDts
#(: param:
#(: purpose: Backup/Archive with DTS, all Major Edit Shell Scripts
#(: called by:  Sbr_BakAllArcDts
#(: method: cp -v -u   in this Sbr . 
#(: sends:
#(: rationale:  replaces external rc.z_E3R.sh 
#(: note : todo: IF find /dir, else, mkdir /dir, touch flag file. 
#(:
#! #####################################################
function Sbr_BakAllArcDts_One() {    #  ACTIVE   
    #! called by: Sbr_BakAllArcDts  from list into /root/myapplications
    n=0 # [ BakAll ]
    #!
    #! Check-if  and mkdir "RA" 
    #! "TOUCH" placed in main () 
    #!
    #! param: SubDir ,  FileName    lcSysNameSD lcSysNameFN
    lcSysNameSD="${1}"
    lcSysFnPre="rc.z_"
    lcSysNameFN="${2}" 
    lcSysFnExt=".sh"
    #! lcSysArcFnSrc="${lcSysFnPre}${lcSysNameFN}"
    lcSysRealFnSrc="${lcSysFnPre}${lcSysNameFN}"
    #!  gcSysDevSubId  is  upupkk, upupbb, upupjj, upupmm+bw, else "..."
    lcSysArcSubName="${DISTRO_DB_SUBNAME}${gcMgrDevSubId}"  
    lcSysArcDtsNow="-`date +%y%m%d-%H%M-%S`"
    #!
    #! format: lcSysRealFnSrc=${lcSysArcFnSrc}    # will be "rc.z_"  and "BaseName" and  ".sh"
    #!           /mnt/home/MY_/usr-share/My_Dev_/Edit_MGR/rc.z_MGR-7.sh
    #~ lcFnSrc="/mnt/home/MY_/usr-share/My_Dev_/Edit_${lcSysNameSD}/${lcSysRealFnSrc}${lcSysFnExt}"
    lcFnSrc="/mnt/home/MY_/usr-share/My_Dev_/Edit_${lcSysNameSD}/${lcSysRealFnSrc}${lcSysFnExt}"
    #~ Sbr_Splash_It "--- ${lcFnSrc}" "yellow" "green" ".3"       #! -D--- 
    #!
    #! target root/my-applications   RA     is  RootApplicatons
    lcFnTrgRA="/root/my-applications/${lcSysRealFnSrc}${lcSysFnExt}"
    #! --- Sbr_BakAllArcDts_One
    if [ -f "${lcFnSrc}" ]  ; then 
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border true -close never -text "\
  BakOne---RA--- ${lcFnSrc} --- into ${lcFnTrgRA}" &
    pidx=$!
    GTKPIDmgrarcdtsB=$!
        echo "=== ${lcFnTrgRA} ======" 
        cp -v   ${lcFnSrc} ${lcFnTrgRA}
        #! "cp -v  "  is  faster  than  "cp -v -u   "   
        sleep .1     #! major time eater
        kill ${GTKPIDmgrarcdtsB}   2> /dev/null   
    else
        Sbr_Splash_It "--- ERROR BakAll --- ${lcFnSrc}:${lcFnTrgRA} --- NOT FOUND --- " "yellow" "black" "3"       #! -D--- 
    fi
    #!
} # 
export -f Sbr_BakAllArcDts_One # called by: Sbr_BakAllArcDts
#!
#!
#(: =====================================================
#(: fx Sbr_BakAllArcDts
#(: called by: Main GUI Fall-Thru
#(: calls: Sbr_BakAllArcDts_One
#(: param:
#(: purpose: Backup/Archive with DTS, all Major Edit Shell Scripts
#(: called by:
#(:     should be called by < BakAll-RS > < BakAll-RB > < BakAll-RQ >
#(: method: cp -v 
#(: sends:
#(: rationale:
#(: note : todo: IF find /dir, else, mkdir /dir, touch flag file. 
#! =====================================
#!
#! #####################################################
function Sbr_BakAllArcDts() {    #  ACTIVE 
    #! called by < BakAll-RS > < BakAll-RB >
    n=0
    #! === Sbr_BakAllArcDts === into  /mnt/home/MGR-All-Arc-Dts_/MGR-ALL-Arc-Dts-flg.tst
    #! === "IF NOT FILE" CHECK    ;  THEN  make subdir and flag flg ===
 
    lcTargetSD="/mnt/home/MGR-All-Arc-Dts_"
    lcTargetSDbase="/mnt/home"
    lcMgrArcDtsNow="`date +%y%m%d-%H%M-%S`"
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    #! -D---  ### BackGround ###
/usr/lib/gtkdialog/box_splash -fg yellow -bg brown -border true -close never -text "\
*.     Copy ALL major 'EDIT' scripts  + DTS  
*.     Multi:  MGR, + CTX, + et al, geany.config 
*.     into /root/applications 
*.  
*.  
*.      Back-ALL-DTS
  
*.  
*.  
*.
*._____________________________________________________
" &    pidx=$!
    GTKPIDmgrarcdtsA=$!
    sleep 1
    #!     "BakAll-Arc-Dts_"     
    #! ================
    #!     Touch Code used by Sbr_BakOneArcDts
    #! ================
    #!  begin "TOUCH"    ===  'touch' has required a literal 
     lcTargetSD="/mnt/home/MGR-All-Arc-Dts_"
     lcTargetSDbase="/mnt/home"
     lcMgrAllArcDtsSN="MGR-All-Arc-Dts_"  # used by Sbr_BakOneArcDts  and Sbr_BakAllArcDts
    #!
    lcFnTrg="/mnt/home/${lcMgrAllArcDtsSN}/rc.z_${lcMgrArcFnSrcFn}-${lcMgrArcSubName}-${lcMgrArcDtsNow}.sh"
    #!
    #! ===== Sbr_BakAllArcDts ==========================
    #! param:         SubDir , FileName ,   TargetSubdir 
    #! must prefix all file names with "rc.z_" and assume suffix is ".sh"
    #!
    lcMntHomeSubDir="/mnt/home/MGR-All-Arc-Dts_"
    lcTargetSD="/mnt/home/MGR-All-Arc-Dts_"
    #! -                  SDir     Fn           
    Sbr_BakAllArcDts_One "MGR"    "MGR-5"       "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGR"    "MGR-6"       "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGR"    "MGR-7"       "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGR"    "MGR-8"       "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGR"    "MGR-9"       "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGR"    "MGR-10"      "${lcMntHomeSubDir}"
    #!
    Sbr_BakAllArcDts_One "MCI"     "MCI"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGS"     "MGS-8"      "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "S2F"     "S2F"          "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "S2F"     "S2F-1"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "S2F"     "S2F-3"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTX"     "CTX"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTX"     "CTY"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTU"     "CTU"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTA"     "CTA"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTB"     "CTB"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTB"     "CTB-SL"    "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTB"     "CTB-SLX"    "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTB"     "CTB-5.2"    "${lcMntHomeSubDir}"
    #! PCB Pup Cold Backup via GlenE77is
    Sbr_BakAllArcDts_One "PCB"     "PCB-ion"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "PCB"     "PCB-ion-Xterm"  "${lcMntHomeSubDir}"
    #! TXN_EXE via GlenE77is
    #! Sbr_BakAllArcDts_One "TXN"     "TXN_RUN_CALL"  "${lcMntHomeSubDir}"
    #! Sbr_BakAllArcDts_One "TXN"     "TXN_RUN_EXE"  "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "TXN"     "TXN_RUN_EXE-9"   "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "TXN"     "TXN_RUN_EXE-10"   "${lcMntHomeSubDir}"
    #!
    Sbr_BakAllArcDts_One "BIS"     "BIS"   "${lcMntHomeSubDir}"
    #! #! GTK_Toggle via GlenE77is  #! toggle used in MGR-9, but NOT in MGR-10 !
    #! Sbr_BakAllArcDts_One "GTK"     "GTK_Toggle_Menu" "${lcMntHomeSubDir}"
    #! Sbr_BakAllArcDts_One "GTK"     "Button_Rounded" "${lcMntHomeSubDir}"
    #! /initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_GTK/GTK_Toggle_Menu.sh in MGR-9 , but NOT in MGR-10 .
    #! === geany.conf Special Hard Code Arc+DTS =========================
    #! === geany.conf Special Hard Code Arc+DTS =========================
    #! === geany.conf Special Hard Code Arc+DTS =========================
    lcMgrArcDtsNow="-`date +%y%m%d-%H%M-%S`"
    lcSysArcFnSrc="Geany.conf"
    #! 
    #! working : touch directory
    lcFnSrc="/root/.config/geany/geany.conf"
    lcFnTrg="/mnt/home/geany_/geany.conf-${lcMgrArcDtsNow}.sh"
    cp -v   ${lcFnSrc} ${lcFnTrg}
    #!
    #! ==================================================================
    #!
    #! ==================================================================
    #! /menu.lst current code.  because code may be modified 
    lcFnSrcBase="menu.lst"
    lcFnSrc="/mnt/home/${lcFnSrcBase}"
    lcFnTrg="/root/my-applications/${lcFnSrcBase}"
    #!
    cp -v   ${lcFnSrc} ${lcFnTrg}
    #!
    #! =====================================================
    #! /ETC/rc.d/rc.shutdown    because code may be modified 
    lcFnSrcBase="rc.shutdown"
    lcFnSrc="/etc/rc.d/rc.shutdown"
    lcFnTrg="/root/my-applications/${lcFnSrcBase}"
    #!
    cp -v   ${lcFnSrc} ${lcFnTrg}
    #!
    #! =====================================================
    #! /ETC/rc.d/rc.sysinit    because code may be modified 
    lcFnSrcBase="rc.sysinit"
    lcFnSrc="/etc/rc.d/rc.sysinit"
    lcFnTrg="/root/my-applications/${lcFnSrcBase}"
    #!
    cp -v   ${lcFnSrc} ${lcFnTrg}
    #!
    #! =====================================================
    #! on return, then Sbr_Cbx_ReStart 1  ??? or return control 
    sleep .9
    kill ${GTKPIDmgrarcdtsA}    2> /dev/null      # main
    #!
    #! fi # end: guiMgrAllArcDts
} # end  
export -f Sbr_BakAllArcDts
#!
#!
#(: ===========================================================
#! end :  Bak---   BakAll   BakOne
#! end :  Bak---   BakAll   BakOne
#! end :  Bak---   BakAll   BakOne
#(: ===========================================================
#!
#!
#!
#!
function Sbr_Sys_LockFile() {
#(: ======================================================
#(: begin LOCK-FILE
#(: Rationale: Lock-File "Soft" Version
#(: MGR is a Master Conrol program.
#(: MGR must have a 'LockFile' to control for "Run-Twice".
#(: ======================================================
#(: fx "LockFile" not written as a "function" LockFile subroutine
#(: called by: main () as "in-line code" ,
#(:     so that "exit 0" is immediate, from top of "0" empty stack.
#(: purpose: provides a "Soft-Lock" method.  IF error, THEN continue .
#(:
#! begin lock-file section ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    #(: generate the name of the 'lock-file' in 'export' section.
    #(: begin Lock-File Section =======================================
    #(: if previous lockfile is found, then throw a flag, cleanup, possibly exit '1'.
    #(: remember, we have written a "Soft-Lock"
    #! ##############################################################
    n=0
    if [ -f ${MGR_LockFile} ]; then      #: this is Main () lockfile
        lcMsgStr=" Error: Soft LockFile Control
          !!! MGR_Running_Already !!!
          ... (1) Quit MGR program
          ... (2) Clear Running MGR window
          ... (3) Re-Start MGR program
          ... (4) however, always, MGR program will continue (Soft Lock)
        #(: IF Hard-Lock code, THEN  ${MGR_LockFile} can prevent re-running program.
        #(: IF Soft-Lock  code, THEN  program allows Continue through a non-fatal error. 
        #(: ideally,
        #(: user will clear lingering lockfile, manually, immediately, 
        #(: then restart program."
        xmessage  -name 'MGR_Soft-Lock-'  -timeout 1  -center   -fg yellow  -bg brown  "${lcMsgStr}"
        #(: Note on "Lock-File" method at end of source code.
        #(:
    else
        n=0
        #! lcMsgStr=" =  Lock File Not Found  :[ -f ${MGR_LockFile} ]: " && Sbr_Str2DevTrm "$lcMsgStr" "3" "3"
    fi
    #!
    #(: ->->-> begin set lock-file
    #(: Always !
    #(: so Otherwise , SET the lock-file, during this program run.
    touch "${MGR_LockFile}"   # Always ! for "Soft Lock" 
    #(: remove this lockfile at end of "QUIT", bottom of code.
    #!
    #! end: Sbr_LockFile
    #(:
    #(: 
    #! #####################################################
    #(: This is the main () level, and 'exit' will drop out of prg.
    #(: but,
    #(: IF 'Lock-File found' 
    #(: THEN check is inside a subroutine,
    #(: THEREFORE 'exit 1' will only exit up to the previous stack level
    #(:    and will not exit program. 
    #(: THEREFORE must pass back a RETVAL flag of '1' to trigger another 'exit'
    #(: Note: This is a BASH system stack '0' concern,
    #(:     Controlled by manually placing 'Check Lock-Flag' at stack base level '0'.
    #(:
} # end Sbr_Sys_LockFile
export -f Sbr_Sys_LockFile
#! ######################################################
#(: ======================================================
#(: fx Sbr_Sys_CheckMode
#(: called by:  main ()
#(: param:
#(: purpose:  
#(: Check for installed System Mode
#(:      if [ "$MODE" = "12" ] || [ "$MODE" = "13" ]; then # frugal install
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#!
function Sbr_Sys_CheckMode() {
#!
n=0
#! Check for installed System Mode
#(: function if [ "$MODE" = "12" ] || [ "$MODE" = "13" ]; then # frugal install
        MODE="`grep PUPMODE /etc/rc.d/PUPSTATE | cut -f 2 -d "="`"
            if [ "$MODE" = "12" ] || [ "$MODE" = "13" ]; then
                n=0 #! initial "Running" splash, yellow/black, quick  !
            else 
                lcMsgStr="ERROR:    MODE is not FRUGAL mode '12' or '13' " 
                lcDialogColor="  -fg black -bg red  "
                #! rolling splash "ERROR"
                Sbr_Splash_It " $lcMsgStr " "red" "blue" "2"   #! -D---
                Sbr_Splash_It " $lcMsgStr " "orange" "green" "3"   #! -D---
                Sbr_Splash_It " $lcMsgStr " "yellow" "red" "5"   #! -D---
                exit 1
            fi
return
} # end Sbr_Sys_CheckMode() 
export -f Sbr_Sys_CheckMode
#!
#!
    #! function Sbr_Sys_ImgMaster----------------------------
    #! ------------------------------------------------------------------
    #!=====================================================
    #(: fx(MGR_Master_GUI=)   #: A
    #(: called by: main program via fall-thru
    #(: param: only the Fall-Thru <ACTION> sub-name .
    #(: purpose: Master gtkdialog XML Menu structure.
    #(: calls:
    #(:    every thing via gui buttons to [ gui fall-thru "IF/ ft(name) /FI" ]
    #(:
    #(: method:
    #(:   (1) gui <action> "EXIT:ft(name)"
    #(:   (2) 'gui fall-thru to "IF/ ft(name) /FI" (at bottom of source code)
    #(:   (3) call with param to "subroutines"     (at top of source code) .
    #(:
    #(: sends: "EXIT" = choice
    #(: rationale:
    #(: note :
    #(:     this width=1500 works good on UpupBB. Other Distro may require adjustment or default theme.
    #(:
    #(: note:
    #(: Standard Gui Button Call Method is TWO-STEP:
    #(:  (1) gui-Buttons "call" to a "Fall-Thru function written as ft("IF/FI") (in lower part of source).
    #(:  (2) "IF/FI" functions then call regular subroutine function() (at top of code).
    #(: EXAMPLE:  button "MntAll" is <action>'EXIT:MNT+'</action>
    #(: which will exit and fall-thru to "ft( 'EXIT:MNT+' )"
    #(: which will then call "function Sbr_MGR_pMount()" (written in top part of source).
    #(: This is the Standard Method written into this Main Gui,
    #(:   which allows parameters to be sent to complex sub-routines .
    #(:   which avoids lack of parameter passing in the gui Button gtkdialog process.
    #(:
    
#! begin: Test before possible ReStart so MGR is initialized without duplicate loading of images to /tmp .
if [ ! -f ${gcEmGaImgFnTrgTxtMaster} ] ; then   # NO flag " gcEmGaImgFnTrgTxtMaster " 
    #!      so, this is a First-Time-Run  and  Requires TOUCH Flag and ReStart.
    lcMsgStr="->->->=== First Time Run ==="     # && Sbr_Str2DevTrm "$lcMsgStr" "5" "4"
    #! Sbr_Splash_It ${lcMsgStr} "orange" "purple" "1"    #! -D---
    #! Given: not file, Then: touch one. 
    #! Generate a ReStart Message for First Time Run .  ??? MGR_ReStart_flg ???
    #! TOUCH EmGaImg FnTrgTxt Master
    touch ${gcEmGaImgFnTrgTxtMaster}  # make one, so gui lcGuiFrameTitle can test .
    Sbr_Cbx_ReStart 1  # no wait # ReStart so GEANY is initialized proper.
else    # this is NOT a First-Time-Run, we have flag " gcEmGaImgFnTrgTxtMaster "  therefore Do Not ReStart.
    lcMsgStr="->->->=== No ReStart Required ==="
    #! Sbr_Splash_It ${lcMsgStr} "orange" "purple" "1"    #! -D---
    #! sleep .3
fi #
#! end: Test before possible ReStart so MGR is initialized without duplication of images to /tmp
#! export -f Sbr_Sys_ImgMaster
########################################################
#!
#! problem: in some Puppy OS, 
#!    each time the Main Gui XML is run, 
#!    there is a delay ??? until Main Gui <button> are 'active'. 
#!          may be dependent on re-sizing each element of gui.
#! GTK is sensitive to the "theme"  and  "character size" . 
#!      cause: each OS install might have special display pixel count, font size, etc. 
#!      run gui test on each OS:__________Menu # __Distro Sub Name  
#!
#! GTK main XML gui is dependent on system screen-size, theme , font size. 
#!Generally, the"default" theme, and the "default" character size works OK.
########################################################
#!
#(: ================================================================
#(: fx PXB_Splash_It    # ACTIVE  #  copy from "CTB" "MCI" "MGR" 
#! Standard PXB_Splash_It : param "Str" "fg" "bg" "sleep" "opt"
#(: called by:  
#(: param:  "Str" "fg" "bg" "sleep" "opt"
#(: purpose: Standard MGR PXB_Splash_It
#(: method:  /usr/lib/gtkdialog/box_splash
#(: sends:
#(: rationale:
#(: note : 
#(: ================================================================
#(: inside of Sbr_PXB_INT
#=======================================================================
function PXB_Splash_It() {   # ACTIVE  copy from MGR : auth : gae 
    #!  Standard Sbr_Splash_It : param "Str" "fg" "bg" "sleep" "opt"
        n=0 
    lcMsgStr="$1"
    lcMsgColorFg="$2"   # ForeGround
    if [ ! $2  ] ; then lcMsgColorFg="yellow" ; fi  # good default 
    #!
    lcMsgColorBg="$3"   # BackGround
    if [ ! $3  ] ; then lcMsgColorBg="blue"  ; fi  # good default
    #!
    #! gather "sleep" param 
    lcMsgSlp="$4"       
    if [ ! $4 ] ; then  lcMsgSlp="1" ; fi   #!  < 1  usually does not make it to the screen, timing issues. 
    if [ "0" -eq $4 ] ; then  lcMsgSlp=".5"  ; fi  #! < .5  usually does not make it to the screen, timing issues. 
    #! else keep the sleep param as sent originally 
        #! -D---
    /usr/lib/gtkdialog/box_splash -fg ${lcMsgColorFg} -bg ${lcMsgColorBg} -border true  -close never -text "${lcMsgStr}     " &
        RETVAL=$?
        GTKPID_Splash_It=$!
        sleep ${lcMsgSlp}
    if [ ! $5 ] ; then  #! IF   " No Option #5 " ;   THEN   kill pid now. 
        kill ${GTKPID_Splash_It}   2> /dev/null   
    fi    
    } #
    export -f PXB_Splash_It
    #!
    #(: inside of Sbr_PXB_INT
    #!
#=======================================================================
function PXB_Splash_Wait() {   # ACTIVE : thanks to author: mow 
    #!   : generates RunTime BIG Splash, with lingering-time  splash. 
#! PXB_Splash_Wait "${lcMsgStr}"    2> /dev/null   #  will kill ${GcPidSplashWait}  later
#!
    /usr/lib/gtkdialog/box_splash -fg yellow -bg purple -border true -close never \
    -text "  ${1}   
    .                          " &
#! will wait for TarOpt RunTime process, then kill. 
export GcPidSplashWait=$!
echo "=== (_Splash_Wait_)_${GcPidSplashWait}_===" #! terminal trace
} # end: PXB_Splash_Wait
export -f PXB_Splash_Wait
#!
#=======================================================================
#(: inside of Sbr_PXB_INT
function PXB_CleanUp() {    # ACTIVE    #! dupe of Clear_Flag_System ?
    n=0 # 2> /dev/null 
    rm -f /tmp/gtkdialog_splash_border.svg 2> /dev/null 
    rm -f /tmp/gtkdialog_splash_bg.svg 2> /dev/null 
    rm -f /tmp/gtkdialog_splash_bg.svg 2> /dev/null 
    rm -f /tmp/snapmergepuppy-error 2> /dev/null 
    rm -f /tmp/flagnextpassthru 2> /dev/null 
} # end: fx(PXB_CleanUp)
export -f PXB_CleanUp
#!
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#;;; TarGzBackIt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#;;; TarGzBackIt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#;;; TarGzBackIt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#! REQUIRED: === PXB_TarGzBackIt ========================================================
#(: inside of Sbr_PXB_INT
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
function PXB_TarGzBackIt() {   # PXB_TarGzBackIt  # $PBKP_PUPSAVE_PATH $PXB_BackUp_PATH
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    n=0
    #! lcParam1="$PBKP_PUPSAVE_PATH"
    #! lcParam2="$PXB_BackUp_PATH"
    #! sequence of these modules is critical in order to provide req var for splash !
    echo ""
    echo "(TarGz)" && echo ""
    echo "( PXB_INT ) ==="  # > /dev/console
    #! original PHB Calc PBKP_MBrequired()  # saveDATA fileSIZE  via $1 [$PBKP_PUPSAVE_PATH]
    pxba=$(du -c -m -s "$1")   
    #! -c = --total, -m = --block-size=1m, -s = --summarize
    read -r pxbab pxba <<< "$pxba"
    #! RAM space required is size of Src_DATA  entity. 
    lcMBreq="${pxbab}"
    #! === PCB Time Length of TarGz process === at 2.8 GHz === "
    let  lcTimeReq32="${lcMBreq} / 3"  
    let  lcTimeReq64="${lcMBreq} / 6"  
    #!
    #! orig: destfile=".${2}"/"`expr "${1}" | awk -F / '{print $NF}'`".${gcPXBBackUpId}-`date +%Y.%m.%d_%H%M.%S`
    #! destfile is the 'base' of the SaveFILE name   "$PBKP_PUPSAVE_PATH"  / "$PXB_BackUp_PATH"
    #! awk $NF prints only the last column in a record
    destfile=".${2}"/"`expr "${1}" | awk -F / '{print $NF}'`"-${gcPXBBackUpId}-`date +%y%m%d_%H%M.%S`
    #! $NF refers to the last field in a given record
    echo  "=== $destfile ==="
        CWDIR=$PWD      # save "P"rocess "W"orking "D"irectory /root  (optional)
        echo "### (TarGz) save 'home dir' PWD is ${PWD} === "   && echo "" #! 
        sync    # now run sync
        #!
        #! >>> CD === 
        cd ${1%/*}  
        echo "###_CD_### (TarGz) running on /saveDATA  ${1%/*} === "  && echo ""  #! change dir to  "/saveDATA"  
        #! PHB_Tar-Var-Set loading 
        TAROPT="-z"
        TAREXT='.tar.gz'
        TAROPT="-c -z --checkpoint=1000" 
        destfile=${destfile}${TAREXT} 
        echo ": PXB_Splash_Wait (${gcPXBRunId}) :  "
#! sequence of these modules is critical in order to provide req var for splash !
#! Splash_Wait is from "mow", thank you !
#! his "Splash-Wait" stays on screen until Tar.Gz is done. 
        PXB_Splash_Wait "(${gcPXBRunId}__${gcPXBDevDob}) 
  .
  .      PXB_Internal_ 
  .    ' ionice -c 1 tar -c -z  '   
  .
  .   --- Creating   Tar.Gz  ---
  .   --- SaveDATA size: ${lcMBreq} MB
  .   --- Please Wait ---
  .   --- ... ${lcTimeReq32} seconds on 32bit
  .   --- ... ${lcTimeReq64} seconds on 64bit
  .
  . Source: 
  ${gcPXBSave} 
  .  
  . Target: (into same subdir as Source)
        ${destfile##*/}
  .  "
        destfile=${destfile}  
        sourcefile=${1##*/}
#;;; ionnice -c 1  realtime     
#;;; ionnice -c 2  best effort  
#=== nice TarGz ======================================================================
   ionice -c 1 tar ${TAROPT} -f  ${destfile##*/}  ${1##*/}/   --checkpoint=1000
#=== nice TarGz ======================================================================
#;;; ionnice -c 1  realtime      
#;;; ionnice -c 2  best effort  
        cd "$CWDIR"  # change dir back to original   (optional) 
        echo "###_CD_### (TarGz) restore 'home dir' $CWDIR ===" && echo ""
        RETVAL=$?
        sleep 3
        kill ${GcPidSplashWait}     2> /dev/null    # Big Red Background Splash   
} #
export -f PXB_TarGzBackIt
#;;; end TarGzBackIt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#;;; end TarGzBackIt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#;;; end TarGzBackIt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
############################## Primary Call ###############################
#(: ========================================================
#(: fx IF EXIT:guiSbr_PCB       #! Not Called !!! 
#(: called by: Page "UTIL" for external "/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_PCB/rc.z_PCB-ion.sh"
#(: param:
##(: purpose: Backup/Archive with DTS, PupColdBackup ionice -c 1 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ##############################################################################
#(: fx Sbr_PCB_ion    External Program   called via UTIL        #! Not Called !!! 
function Sbr_PCB_ion() {   #! Not Called !!! 
    n=0
    Sbr_Splash_It "---!!! calling  Sbr_PCB_external + ReStart  !!!---" "yellow" "green" "2"       #! -D---
    Sbr_Splash_It "---!!! calling  Sbr_PCB_external + ReStart  !!!---" "black"  "green" "2"       #! -D---
    Sbr_Splash_It "---!!! calling  Sbr_PCB_external + ReStart  !!!---" "red"    "green" "3"       #! -D---
     /mnt/home/MY_/usr-share/My_Dev_/Edit_PCB/rc.z_PCB-ion.sh
    #! direct call to EXTernal prg 
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1    # display and no wait
}  # end: 
export -f Sbr_PCB_ion
#!    
#!
############################## PXB INTernal ###############################
############################## PXB INTernal ###############################
############################## PXB INTernal ###############################
############################## PXB INTernal ###############################
#(: inside of Sbr_PCB_PXB
#(: inside of Sbr_PCB_PXB
#(: inside of Sbr_PCB_PXB
#! #########################################################
#! #########################################################
#! #########################################################
#! ### incorporates the entire PCB-ion.sh program #################################
#! function Sbr_PXB_INT  called by Sbr_PXB_INT_RS   via <button> EXIT:guiPXB_ion_RS  
function Sbr_PXB_INT() {        #!  ACTIVE
    n=0
#! ##############################################################################################
#! Function.....: create a TarGz backup of the current saveDATA entity  ( /saveDATA or save.4fs )
#! Author.......: GlenE77is, @ ResearchGate.net.
#! Disclaimer...: The author makes no guarantees about the compatibility of this software with your system, 
#! and accepts no responsibility for negative impact which may ocurr on your system, or your data.
#! ===========================================================
#! Note:  Generates a BackUp of saveDIRECTORY or saveFILE.4fs 
#!     System info is from system "PUPSTATE",  no choice required nor allowed. 
#!     Must be Frugal #13 or #12, as suggested by B.Kauler in Install.sh
#! ===========================================================
#! NOTE: 
#!  PCB.sh began as a simple rewrite from PupHotBackup 1.3.1 
#!     in order to correct code and aim at universal Frugal Backup.
#!  aimed at /saveDIRectory and /file.4fs "FRUGAL" install. 
#!     deprecated all code for original method of exporting/e2fsck/restore.
#!  Now calling "ionice -c 1"   (realtime)  to prioritize PCB higher than any other processes. 
#!
echo "(=== running:  $0   Puppy-Linux  Pup-Cold-Bakup === ionice -c 1 ===)"
#! ===========================================================
. /etc/rc.d/PUPSTATE
export gcPXBDevDob=${gcSysDevDob}  # "241204-0536"  ${gcPXBDevDob}
#==============
export gcPXBId="pxb"     # used to build "destfile" 
export gcPXBBackUpId="PXBion" # label/Tag the TarGz Output File 
export gcPXBRunId="PXB-ion"     # Label the Project as "Xnternal" 
#==============
#! export gcPXBRunVer="-ion"     #  may update this "version label"                 # Not Used
#! export gcPXBRunFn="PXB-${gcPXBRunVer}"     # ${gcPXBRunFn}  used in main gui     # Not Used
#==============
export gcPXBSave="`echo -n "$PUPSAVE" | cut -f 3 -d ','`"   #! from PUPSTATE !
#==============
#! expand PATH
#! PATH=$PATH:/usr/lib/gtkdialog/:/root/my-applications/ 
#==============
echo "( main PCB_INTernal_PXB ) ==="  # > /dev/console
lcMsgStr="(=== running: main PCB_INTernal_PXB === )"
PXB_Splash_It "${lcMsgStr}" "yellow" "green" "1" ""
    #(: inside of Sbr_PCB_PXB
echo "(Main) ==="  # > /dev/console
#!
#! subroutine "PCB_Back_It" RUNs on SaveDATA DIRECTORY and saveFile.4fx  
            #! if [ "$EXIT" = "PCB_Back_It" ] ; then   #! standard "Fall-Thru" subroutine. 
    n=0
    echo "(M1)"  # > /dev/console
#=== Splash ======================================================
#! Splash 
lcMsgStr="(${gcPXBRunId}__${gcPXBDevDob})
ionice -c 1 snapmergepuppy  ()
PUPMODE -eq 13 "
#! to change to PXB_Splash_It  ### GTKPID_Splash_It
#! Standard Splash_It : param "Msg" "yellow" "blue" "3" ""
PXB_Splash_It "${lcMsgStr}" "yellow" "blue" "3" "0"
#!
#! ========================
ionice -c 1 snapmergepuppy    
#! ionice -c 1 snapmergepuppy   : best realtime "first access" to hard-drive , shared local.     
#! ionice -c 2 snapmergepuppy   : "shared access" with any higher priority   from a network. 
#! ========================
kill ${GTKPID_Splash_It}    2> /dev/null   #! after snapmergepupp
#=================================================================
#! author's system note:
#!  snapmergepuppy usual parameters:  "/initrd/pup_ro1"  into  "/initrd/pup_rw"     2>/dev/null 
#!  snapmergepuppy message output to terminal is:
#!   "Merging  /initrd/mnt/tmpfs/pup_rw  onto  /initrd/mnt/dev_save/pup_UpupB5B-SDA/upupbbsave-B5B-iso602-b"
#!  description:
#!    * Where "/initrd/mnt/tmpfs/pup_rw" is the current Read/Write layer.
#!    * Where "/initrd/mnt/dev_save/pup_UpupB5B-SDA/upupbbsave-B5B-iso602-b" is the "saveDATA" entity. 
#=================================================================
#!
#! === call Pup Cold BackUp =================================================
PXB_TarGzBackIt "$PBKP_PUPSAVE_PATH" "$PCB-BackUp_Path" 
#! === call Pup Cold BackUp =================================================
    n=0
    #!
    cd "$CWDIR"  # change dir back to original   (not required) 
    echo "###_CD_### (TarGz) restore original CWDIR ===" && echo ""
    #! =====================================
    #! Fall-Thru is a "Trapped EXIT"
    #(: inside of Sbr_PXB
    PXB_CleanUp
    #! but two sbr call Sbr_PXB_INT, so must handle ReStart here. 
    #! PXB should return to caller. 
    #! xxx Sbr_Cbx_Clear_Restart
    #! ####################################################################
}  # end: 
    #(: inside of Sbr_PCB_INT
### END PCB_INT_PXB #################################################
### END PCB_INT_PXB #################################################
### END PCB_INT_PXB #################################################
#!
#!
#
#!##################################
#! function fx Sbr_Ask4Word ()
#Barry Kauler 2011, GPL3 (/usr/share/doc/legal)
#specified in /etc/sudoers or /etc/sudo.conf, gui-helper for sudo. (path compiled-in to my sudo PET)
#! 
### END ### Bottom of "function" SubRoutines ()  
###
#!
#!
#!
#!
#! ############################################################################################################
#! ############################################################################################################
#! ######   start  M.A.I.N.(.).  main() system() ##############################################################
#! ############################################################################################################
#! ############################################################################################################
#!
#!
#! #########################################################################
#! #########################################################################
#!
#!  ## all "function ( )"  are  moved to top of code
#!
#(: ## all "GTK EXIT:" to "if/fi" Selection  are  moved to bottom of code
#(: 
#(: ## this enables the  "Fall-Thru" / "Bounce-Up"  method .
#(:
#! #########################################################################
#! #########################################################################
#!
#!
#!
#!
#(: ======================================================
#(: fx MGR_Main    #!  main()  main()  main()
#(: called by:
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#=== MAIN( ) === SYSTEM( )=================================================
#!
#!=====================================================
#! ### begin: main () : Fall-Thru  "initz" 
#!=====================================================

#! CLEAR all Xterm trace / history
#~ clear
#~ clear
#! LINGER during Dev 

    #! here:  setup/prep System values.  
    #! This is prep for  "Sbr_Dump_Sys()" , requires system command "declare" . 
    #! Some Puppy Distro Do Not Nave a Command "declare" ! 
    #!~ echo "ls -lah /dev/console" > /sys-lah.txt
    #!~ ls -lah /dev/console >> /sys-lah.txt
    #!~ # utilities - get list of all processes, except transport (ntfs-3g, nbd-client)
    #!~ all_processes_except_transport() {
        #!~ $BB ps | $BB sed -e '/ntfs-3g/ d; /nbd-client/ d; /posixovl/ d; s/^ *//; s/ .*//' | $BB sort -rn
    #!~ echo $BB
    #!~ }
	#!~ for PID in $*; do
		#!~ case $PID in
			#!~ 1|$$) ;; # echo , but do not kill init or own process 
			#!~ *) $BB  ;;
		#!~ esac
	#!~ done
#!
#! === Terminal Screen Only === MAIN () RUNNING Terminal Quick Splash/NoWait ===. 
/bin/echo -e "\\033[5G\\033[1;31m"***"\\033[1;33m"=== ${gcMgrKey}==="\\033[1;31m"***"\\033[0;39m" #! terminal 
/bin/echo -e "\\033[20G\\033[1;32m"***"\\033[1;32m"=== ${gcMgrBashPid}==="\\033[1;32m"***"\\033[0;39m" #! terminal 
/bin/echo -e "\\033[20G\\033[1;33m"***"\\033[1;31m"=== ${LOGNAME}==="\\033[1;33m"***"\\033[0;39m" #! terminal 
echo " "
#!
Sbr_Sys_CheckMode
#!
touch /0-MGR-LogIn-DTS  # this call should be first  / in main ( ) 
#!
rm -f ${gcEmGaImgFnTrgTxtMaster}    #! trigger "reload" of images by culling master from /tmp  
#! 
#! Sbr_CDW_Embedded_Dialog_Colors      # setup color constants / in Main  #! Not Called 
Sbr_CDW_EGI_CheckIF     # Check Graphic Images " gcEmGaImgFnTrgTxtMaster "   / in Main 
#!
Sbr_Sys_SetVerDts # this call should be first  / in main 
#!
#! Sbr_Page_Init    
#! check / control the Paged GUI ,   was for V.6  page system.   V.7/8 have Independent Floating pages.
#!
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#(: ARB_init  : Not Used Yet. Developmental. 
#(: purpose:config controls  menu.lst # during main run ( )
#(: method:
#(:    (1) read existing config for OS "Idd",
#(:    (2) install generic "full enough" "SHORT" MENU.lst
#(:         with default "0,1,2,3,4" matching config "Idd"
#(: DEV: IF  "C3M CONFIG ARB" ,  under development, not useful yet.
#(: DEV: Not Used "Sbr_ARB_Init"   # # # must be in main ( ) # ? to read config init for "ARB" config
#!
Sbr_Sys_PupState   ### Gather the "state" variables from OS
#!
Sbr_Sys_LockFile    ### install "Soft" lock, "notify" but allow user to "continue" . 
#!
#!
#!
#!=====================================================
#! ### begin Fall-Thru  "initz" 
#!=====================================================
#!
#!
if [ -f ${gcMgrArbCfgFn} ] ; then
    n=0
    gcMgrArbCfgFn="/root/my-applications/bin/C3M_Config_Arb"   # ASSIGNED fx(Sbr_Sys_PupState)
    gcMGRConfigArbIdd=`cat ${gcMgrArbCfgFn}`   #  extract and export Idd
else    #  NO Config value
    n=0
    touch ${gcMgrArbCfgFn}
    gcMGRConfigArbIdd="---"
fi  #
#! 
#!
#!
#! --- MAIN () 
. /etc/rc.d/PUPSTATE
export PUPMODE
#!
#! --- MAIN () 
#! --- Frugal only --- first possible check
case $PUPMODE in
    12|13) ok=1 ;;  
    *) ERRORMSG="only (12|13)" 
        sleep 3
        exit 1
        ;;
esac
#! --- MAIN () 
#! Find and verify path of currently mounted saveDATA entity. Could be "/saveDATA" or "saveDATA.4fs" . 
export gcSaveDataName="`echo $PUPSAVE | cut -f 3 -d ","`"    
if [ ! -e "/mnt/home${gcSaveDataName}" ]; then   # Error Trapped 
    /usr/lib/gtkdialog/box_ok "Pupsave Backup" error "'/mnt/home${gcSaveDataName}' does not exist!"   ### ShowError
    sleep 5
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    exit 1
fi
#! --- MAIN () 
#! Case ERRORMSG catch-all
if [ "$ERRORMSG" ] ; then
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    echo "$ERRORMSG"
    ERRORMSG="<b><span foreground='"'red'"'>${ERRORMSG}</span></b>"
    exit 1
fi # end: if [ "$ERRORMSG" ] 
#--------------------------------------------------------------------
export PBKP_PUPSAVE_PATH="/mnt/home${gcSaveDataName}"
#!
#!=====================================================
#! ### end: Fall-Thru  "initz" 
#!=====================================================
#! ====================================================================
#! FALL-THRU ;;; STANDARD RUN
#! ====================================================================
#!  MAIN GUI was originally in this code paragraph  
#! as if a Gui <button> Selection had been made ! 
#! ====================================================================
#! FALL-THRU ;;; STANDARD RUN
#! ====================================================================
#! ###########################################################################
#! ## top SystemGui  ### MainInit ### INIT Start  #############################
#! ###########################################################################
#! ${gcMgrDistroName}  
#! Primary "Window" title
#! Secondary "Frame" title 
            #! System GUI dimensions:
            #! assumes this default setting at Main Gui : which must be set "literally" ( not ${var} ) !
            #! assumes     width-request="980"
            #! assumes     height-request="750"
            #! === Pre-Set =====================================================
                    #! <window dimensions depend on specific Puppy Distro, and user selected GTK Theme, and selected CharSize. 
                    #! These data are with theme="default", charsize="128", as supplied with each Puppy Distro OS "original". 
                    #!
                    #! Note: Version_6.  all above were developed and tested in V.6, very wide System Gui. Adjustments were needed. 
                    #! Note: Version_7.  all were tested again in V.7, compact/consolidated System Gui, much better.  
                    #! Note: Version_8.  all were tested again in V.8, compact/consolidated System Gui, passed OK.  
                    #! Note: Version_9.  all were tested again in V.9,  compact/Toggled  GTK System Gui, passed OK.  
                    #! Note: Version_10. all were tested again in V.10, compact/NoteBook GTK System Gui, passed OK.  
                    #!
                    #! Theme and Alpha-Size and Screen-size are controlling variables. 
                    #! <window dimensions must be coded as: >
                    #! export lcGuiWindowTitleMain="'${lcGuiWindowTitle}'" 
            #!
#!
#!
### MGR
#!
#! 
#! 
#! 
#! 
#! 
#! 
#! ###########################################################################
#! ## MainGui ### Dialog BEGIN ### NoteBook SystemGui ### 
#! ######################################################################
#! Primary "Window" title                   # Active    gui frame inner-title
#! export lcGuiWindowTitle="?:${gcMgrDistroSymbol}:_:MGR:_::${lcGuiSplT3}::${gcSysIdFull}::${gcSysKernName}::${gcSysDevHw}::${gcSysDevDob}::${gcMgrVerExt}"
#! Secondary "Frame" title embeds OK.
export lcGuiFrameTitle="  ${gcMgrDevName} : v: ${gcSysDevDob}:"    
#!
#! standard width-request : aproximately, depending on system "theme" settings.  
#!      v9:     B4B="1150"     B64B="1400"
#!      v10:    B4B="1250"     B64B="1250"
#! each Distro may have a special width-request for main dialog window "width" . 
#!
#! Puppy Linux GTK assumes these screen setting at Main Gui via CASE... 
#! testing / assigning done beginning at Line 286 
#!      "Sbr_Case_Distro_Name"
#!      "Sbr_Match_NoteBook_Gui_Position"
#!
#!      Set this way:     width-request="'${gcMrgGuiWid}'"
#!      Set this way:     height-request="'${gcMrgGuiHgt}'"
#!
#! special <window dimenion code method: 
#! each Distro GTK may have a special width-request for main dialog <window 
#!    width-request="'${gcMrgGuiWid}'"	#! Slacko-64 has no control.
#!    height-request="'${gcMrgGuiHgt}'"	#! Slacko-64 has no control.
#!	  window-position="1"  #! middle of screen #! except Slacko-64. 
#!
export  System_GUI_Dialog='
<window  title="_'${gcMgrDevName}...${gcSysDevDob}...Primary-GTK-GUI...'"
    window-position="1" 
    width-request="'${gcMrgGuiWid}'"
    height-request="'${gcMrgGuiHgt}'"
    space-expand="false" 
    border-width="3"
    resizable="true" 
>  
<vbox>
    <text visible="0" editable="false" use-markup="true" xalign=".5"  <height-request="13" >
            <label>"'^^^${gcMgrNameBaseAll}_${lcGuiWindowTitle}-${gcMgrNameBaseAll}^^^'"</label> </text>
                    
<button visible="1"   tooltip-text="
#. - - - - - - - - - - - - - - - - - - -
      Manager  =   ReStart
*.
*.  This is LINUX, 
*.     this is a Free OPEN SOURCE SYSTEM, 
*.     so READ the code and Learn !
" <height-request="27">
    <label>"'_!_GTK_NoteBook_Method__!___ReStart__!_'"</label>
        <action function="'launch'">msg_DC_Quick_window</action>
        <action function="'closewindow'">msg_DC_Quick_window</action>
        <action>'EXIT:guiSimReStart'</action>   </button>
<button visible="1"   width-request="45" height-request="45"  size="medium"  weight="bold" 
   tooltip-text=" 
#. - - - - - - - - - - - - - - - - - - - - - - - 
* '${gcMgrNameBaseAll}' has many Double-Click-Buttons !!!
   buttons with Double-Click will trigger 
   a large tear-drop shaped ICON   ...
   { Red Border : Yellow-filled }   ...
   will pop-up in middle of screen  ...
#. - - - - - - - - - - - - - - - - - - - - - - - - -"
    has-focus="false"  xalign=".5" >
    <input file>"'/tmp/EmGr-img-hash-grn.xpm'"</input><width>45</width><height>45</height>
        <label> "'${lcGuiFrameTitle}'"  </label> 
        <action function="'launch'">msg_DC_Quick_window</action> <action function="'closewindow'">msg_DC_Quick_window</action>
        <action>'0-EXIT:guiSimReStart'</action>   </button>
    <hseparator width-request="1"></hseparator>
    <vseparator height-request="3" > </vseparator>
    <vbox visible="1">
           <button  visible="1"    height-request="5"  xalign=".5"   >
                <label> "------" </label> <action>0</action></button>
        <hbox>

           <button visible="0" has-focus="false" height-request="20"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height>
                <label>"''"</label><action>'0-NOTEBOOK'</action> </button>

    <button  visible="0"    height-request="5"  xalign=".5"   >
        <label> "'#####_NoteBook_labels_############################'" </label> <action>0</action></button>
    <hseparator width-request="10"></hseparator>

<notebook labels="|_____{System}______|{Menu}|{BackUp}|{Dox}|{Util}" homogeneous="true">

    <button  visible="0"    height-request="5"  xalign=".5"   >
    <label> "'#####_"NoteBook"_ReServed_Word_############################'" </label> <action>0</action></button>

    <vbox>
    <text visible="false"> <label>"'#######_NoteBook_System-##################'"</label> </text> 
        <vseparator height-request="22"></vseparator>
        <button  use-markup="true" has-focus="false" height-request="55" width-request="50" xalign=".5"  
            tooltip-text="''" >
            <input file>"'/tmp/EmGr-img-button-system.svg'"</input>
            <label> "" </label><action>'0---button-system'</action>  </button>
        <vseparator height-request="22"></vseparator>
        
        <button visible="1"   width-request="45" height-request="45"  size="medium"  weight="bold" 
                tooltip-text=" 
#. - - - - - - - - - - - - - - - - - - - - - - - 
* '${gcMgrNameBaseAll}' has many Double-Click-Buttons !!!
   buttons with Double-Click will trigger 
   a large tear-drop shaped ICON   ...
   { Red Border : Yellow-filled }   ...
   will pop-up in middle of screen  ...
#. - - - - - - - - - - - - - - - - - - - - - - - - -"
                has-focus="false"  xalign=".5" >
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'"</input><width>15</width><height>15</height>
                <label> "'${lcGuiFrameTitle}'"  </label> 
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'0-EXIT:guiSimReStart'</action>   </button>
                <hseparator width-request="1"></hseparator>
        <vseparator height-request="15"></vseparator>
            <text visible="1"   editable="false" use-markup="true" xalign=".5"> 
<label> "<span  color='"'blue'"' font-family='"'Comic'"' weight='"'bold'"'>'"ooo-"'</span><span color='"'red'"' font-family='"'Comic'"' weight='"'bold'"' size='"'xx-large'"' ><b>'"  ${gcMgrVerTitle} "'</b></span><span color='"'blue'"' font-family='"'Comic'"' weight='"'bold'"'>'-ooo'</span>" 
            </label> </text>
          <hseparator width-request="22"></hseparator>
        <vseparator height-request="25"></vseparator>
        <hbox visible="1">
          <hseparator width-request="14"></hseparator>
        <text use-markup="true" xalign=".5">
            <label> "<span color='"'$lcGuiColorbrn'"'> <b>':${gcMgrDistroSymbol}:'</b> </span>" </label> </text>
        <text use-markup="true" xalign=".5">
            <label> "<span color='"'$lcGuiColorbrn'"'> <b>'"''"'</b></span>"</label></text>
        <text use-markup="true" xalign=".5">
            <label> "<span color='"'$lcGuiColorred'"'> <b>'${DISTRO_NAME}'</b> </span>" </label> </text>
        <text use-markup="true" xalign=".5">
            <label> "<span color='"'$lcGuiColorblu'"'> <b>'${gcSysDistroVersion}'</b> </span>" </label> </text>
        <text use-markup="true" xalign=".5">
            <label> "<span color='"'$lcGuiColorbrn'"'> <b>'"''"'</b></span>"</label></text>
        <text use-markup="true" xalign=".5">
            <label> "<span color='"'$lcGuiColorgrn'"'> <b>'K:${gcMGRKernVer}'</b> </span>" </label> </text>
        <text use-markup="true" xalign=".5">
            <label> "<span color='"'$lcGuiColorbrn'"'> <b>'"''"'</b></span>"</label></text>
        <text use-markup="true" xalign=".5">
            <label> "<span color='"'$lcGuiColorbrn'"'> <b>'Data:'</b></span>"</label></text>
        <text use-markup="true" xalign=".5">
            <label> "<span color='"'$lcGuiColorbrn'"'> <b>'${lcPupRamObjMsg}'</b> </span>" </label></text>
        <hseparator width-request="10"></hseparator>
         <text  visible="0" editable="false" use-markup="true" xalign=".5">
            <label> "After-Big-Title-Frame" </label></text>
            <hseparator height-request="6" width-request="55"></hseparator>
        <hbox visible="'${gcMrgOutAdj}'">
            <hseparator height-request="3" width-request="80"></hseparator>
        </hbox>
          
        </hbox>
          <vseparator height-request="33"></vseparator>
           <hbox space="2" homogeneous="true">
               <hseparator height-request="3" width-request="40"></hseparator>
            <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
            <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redblu.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
            <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redyel.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
            <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
            <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redblu.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
            <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redyel.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
            <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
            <button has-focus="false" height-request="15"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redblu.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action></button>
            <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redyel.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action></button>
           <hseparator height-request="3" width-request="88"></hseparator>
        </hbox>
            <vseparator height-request="33" > </vseparator>
        <hbox homogeneous="true">
        <button   visible="1"    height-request="25"> <label> "Archive+ReStart" </label> 
                       <action>'Archive+ReStart'</action>       </button>
        </hbox>
        
        <hbox homogeneous="1">
            <hseparator width-request="22"></hseparator>
            <button has-focus="false" height-request="22"  xalign=".5"> 
                 <input file>"'/tmp/EmGr-img-Check-redXred.svg'"</input><width>"35"</width><height>"35"</height>
               <label>"''"</label><action>'0'</action> </button>
           <button has-focus="false" height-request="22"  xalign=".5">   
               <input file>"'/tmp/EmGr-img-apple-redyel.svg'"</input><width>"15"</width><height>"15"</height>
                    <action function="'launch'">msg_DC_Quick_windowS</action><action function="'closewindow'">msg_DC_Quick_windowS</action>
                <label>"''"</label><action>'0'</action>   </button>
            <button  visible="1"   tooltip-text="''"  
                gtk-apply="true" has-focus="false" >  
                <label> "{{=== ONE-" </label>
                        <action function="'launch'">msg_DC_Quick_window</action>  <action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiMgrOneArcDts'</action>         </button>
            <button visible="1" has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" > 
                <input file>"'/tmp/EmGr-img-apple-redyel.svg'"</input><width>25</width>  <height>25</height>
                        <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <label> "{{-PXB-}}" </label><action>'EXIT:guiPXB_ion_RS'</action>   </button>
            <button  visible="1"   tooltip-text="''" 
                gtk-apply="true" has-focus="false" >
                <label> "-ALL-===}}" </label>
                         <action function="'launch'">msg_DC_Quick_window</action>  <action function="'closewindow'">msg_DC_Quick_window</action>
               <action>'EXIT:guiMgrAllArcDts'</action>   </button>
            <button has-focus="false" height-request="22"  xalign=".5">
               <input file>"'/tmp/EmGr-img-apple-redyel.svg'"</input><width>"15"</width><height>"15"</height>
                    <action function="'launch'">msg_DC_Quick_windowS</action><action function="'closewindow'">msg_DC_Quick_windowS</action>
                <label>"''"</label><action>'0'</action>   </button>
           <button has-focus="false" height-request="22"  xalign=".5">
               <input file>"'/tmp/EmGr-img-Check-redXred.svg'"</input><width>"35"</width><height>"35"</height>
                <label>"''"</label><action>'0'</action>   </button>
            <hseparator width-request="230"></hseparator>
        </hbox>
        <vseparator  visible="1" height-request="88" > </vseparator>
    </vbox>  
    <vbox>

    <text visible="false"> 
        <label>"'#################_NoteBook_Menu-############################'"</label> </text> 
        <vseparator height-request="7"></vseparator>
        <button use-markup="true" has-focus="false" height-request="55" width-request="50" xalign=".5"  
            tooltip-text="''" >
            <input file>"'/tmp/EmGr-img-button-menu.svg'"</input>
            <label> "" </label><action>'0---button-menu'</action>  </button>

        <button visible="1"  height-request="21" xalign=".5"  
            tooltip-text="''" >
            <label> "'---_Will_Over-Write_Existing_System_Menu_---'" </label>
            <action>'0---Over-Write-menu'</action>  </button>

        <vbox  visible="1" homogeneous="true">

            <vseparator visible="1" height-request="1" ></vseparator>

            <hbox homogeneous="true">

                <button visible="1" tooltip-text="'check-Big_90'" >
                <input file>"'/tmp/EmGr-img-Check-90-redXyel.svg'"</input><width>33</width><height>33</height>
                        <label>"''"</label> <action>'select-Big_90'</action>
                    <action function="'launch'">     msg_DC_Check_90_Big_redXyel_window</action>
                    <action function="'closewindow'">msg_DC_Check_90_Big_redXyel_window</action>    </button>

                <button> <label>"'_B4B_'"</label>
                        <input file> "'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>17</width><height>17</height>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_B4B'</action>  </button>

                <button> <label>"'_B5B_'"</label>
                        <input file> "'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>15</width><height>15</height>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_B5B'</action>  </button>

                <button> <label>"'_B64B_'"</label>
                        <input file> "'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>15</width><height>15</height>
                    <action function="'launch'">msg_DC_Quick_windowS</action><action function="'closewindow'">msg_DC_Quick_windowS</action>
                    <action>'EXIT:ARB_B64B'</action>  </button>

                <button> <label>"'_N8N_'" </label>
                        <input file stock="gtk-yes"></input><width>7</width><height>7</height>   
                    <action function="'launch'">msg_DC_Quick_windowS</action><action function="'closewindow'">msg_DC_Quick_windowS</action>
                    <action>'EXIT:ARB_N8N'</action>  </button>

                <button> <label>"'_S1564_'" </label>
                        <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_S1564'</action>  </button>

                <button>  <label>"'_T-6_'"</label>
                        <input file> "'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>15</width><height>15</height>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_T-6'</action>  </button>

                <button visible="1" tooltip-text="'check-Big_90'" >
                <input file>"'/tmp/EmGr-img-Check-90-redXyel.svg'"</input><width>33</width><height>33</height>
                        <label>"''"</label> <action>'select-Big_90'</action>
                    <action function="'launch'">     msg_DC_Check_90_Big_redXyel_window</action>
                    <action function="'closewindow'">msg_DC_Check_90_Big_redXyel_window</action>    </button>

            </hbox>

            <vseparator  visible="" height-request="3" > </vseparator>

            <hbox homogeneous="true">

                <button visible="1" tooltip-text="'check-Big_90'" >
                <input file>"'/tmp/EmGr-img-Check-90-redXblu.svg'"</input><width>30</width><height>30</height>
                        <label>"''"</label> <action>'select-Big_90'</action>
                    <action function="'launch'">     msg_DC_Check_90_Big_redXblu_window</action>
                    <action function="'closewindow'">msg_DC_Check_90_Big_redXblu_window</action>    </button>

                <button>  <label>"'M6M_'"</label>
                        <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_M6M'</action>  </button>

                <button> <label>"'K-K_'"</label>
                        <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                    <action function="'launch'">msg_DC_Quick_windowS</action><action function="'closewindow'">msg_DC_Quick_windowS</action>
                    <action>'EXIT:ARB_K-K'</action>  </button>

                <button> <label>"'I-I_'" </label>
                        <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                    <action function="'launch'">msg_DC_Quick_windowS</action><action function="'closewindow'">msg_DC_Quick_windowS</action>
                    <action>'EXIT:ARB_I-I'</action>  </button>

                <button> <label>"'F-F_'"</label>
                        <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_F-F'</action>  </button>

                <button> <label>"'X708_'"</label>
                        <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_X708'</action>  </button>

                <button visible="1" tooltip-text="'check-Big_90'" ><input file>"'/tmp/EmGr-img-Check-90-redXblu.svg'"</input><width>33</width><height>33</height>
                        <label>"''"</label> <action>'select-Big_90'</action> 
                    <action function="'launch'">     msg_DC_Check_90_Big_redXblu_window</action>
                    <action function="'closewindow'">msg_DC_Check_90_Big_redXblu_window</action>    </button>

            </hbox>

            <vseparator  visible="0" height-request="3" > </vseparator>

            <hbox homogeneous="true">

                <button visible="1" tooltip-text="'check-Big_90'" >
                <input file>"'/tmp/EmGr-img-Check-90-redXgrn.svg'"</input><width>30</width><height>30</height>
                        <label>"''"</label> <action>'select-Big_90'</action>  
                    <action function="'launch'">     msg_DC_Check_90_Big_redXgrn_window</action>
                    <action function="'closewindow'">msg_DC_Check_90_Big_redXgrn_window</action>    </button>

                <button> <label>"'X64_'"</label>
                        <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_X64'</action>  </button>

                <button> <label>"'S-7_'"</label>
                        <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_S-7'</action>  </button>

                <button> <label>"'S64_'" </label>
                        <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_S64'</action>  </button>

                <button> <label>"'SLXSC_'"</label>
                         <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_SLXSC'</action>  </button>

                <button visible="0"> <label>"'SLK64_'" </label>
                        <input file stock="gtk-yes"></input><width>11</width><height>11</height>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_SLK64'</action>  </button>

                <button tooltip-text="Generic"> <label>"'genORG'" </label>
                        <input file stock="gtk-no"></input><width>11</width><height>11</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_ORG'</action>  </button>

                <button visible="1" tooltip-text="'check-Big_90'" ><input file>"'/tmp/EmGr-img-Check-90-redXgrn.svg'"</input><width>33</width><height>33</height>
                        <label>"''"</label> <action>'select-Big_90'</action>  
                    <action function="'launch'">     msg_DC_Check_90_Big_redXgrn_window</action>
                    <action function="'closewindow'">msg_DC_Check_90_Big_redXgrn_window</action>    </button>

            </hbox>

            <vseparator  visible="0" height-request="1" > </vseparator>

            <hbox homogeneous="true">

                <button visible="1" tooltip-text="'check-Big_90'" >
                <input file>"'/tmp/EmGr-img-Check-90-redXblu.svg'"</input><width>30</width><height>30</height>
                        <label>"''"</label> <action>'select-Big_90'</action>  
                    <action function="'launch'">     msg_DC_Check_90_Big_redXblu_window</action>
                    <action function="'closewindow'">msg_DC_Check_90_Big_redXblu_window</action>    </button>

                <button> <label>"'Qk7_'" </label>
                        <input file stock="gtk-yes"></input><width>9</width><height>9</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_Qk7'</action>  </button>

                <button visible="1"> <label>"'EOS_'" </label>
                        <input file stock="gtk-yes"></input><width>9</width><height>9</height>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_EOS'</action>  </button>

                <button> <label>"'S-7_'"</label>
                        <input file stock="gtk-yes"></input><width>9</width><height>9</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_S-7'</action>  </button>

                <button> <label>"'S64_'" </label>
                        <input file stock="gtk-yes"></input><width>9</width><height>9</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_S64'</action>  </button>

                <button> <label>"'SLXSC_'"</label>
                         <input file stock="gtk-yes"></input><width>9</width><height>9</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_SLXSC'</action>  </button>

                <button visible="0"> <label>"'SLK64_'" </label>
                        <input file stock="gtk-yes"></input><width>9</width><height>9</height>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_SLK64'</action>  </button>

                <button visible="1" tooltip-text="'check-Big_90'" >
                <input file>"'/tmp/EmGr-img-Check-90-redXblu.svg'"</input><width>30</width><height>30</height>
                        <label>"''"</label> <action>'select-Big_90'</action>  
                    <action function="'launch'">     msg_DC_Check_90_Big_redXblu_window</action>
                    <action function="'closewindow'">msg_DC_Check_90_Big_redXblu_window</action>    </button>

            </hbox>

        </vbox>

            <vseparator  visible="0" height-request="9" > </vseparator>

        <vbox>

            <hbox homogeneous="true">

                <button visible="1" tooltip-text="'check-Big_90'" >
                <input file>"'/tmp/EmGr-img-Check-90-redXgrn.svg'"</input><width>33</width><height>33</height>
                        <label>"''"</label> <action>'select-Big_90'</action>  
                    <action function="'launch'">     msg_DC_Check_90_Big_redXgrn_window</action>
                    <action function="'closewindow'">msg_DC_Check_90_Big_redXgrn_window</action>    </button>

                <button> <label>"'N8N_'" </label>
                        <input file stock="gtk-yes"></input><width>7</width><height>7</height>   
                    <action function="'launch'">msg_DC_Quick_windowS</action><action function="'closewindow'">msg_DC_Quick_windowS</action>
                    <action>'EXIT:ARB_N8N'</action>  </button>

                <button> <label>"'DBW32_'" </label>
                        <input file stock="gtk-yes"></input><width>7</width><height>7</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_DBW32'</action>  </button>

                <button> <label>"'DBW64_'" </label>
                        <input file stock="gtk-yes"></input><width>7</width><height>7</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_DBW64'</action>  </button>

                <button> <label>"'DVN9_'" </label>
                        <input file stock="gtk-yes"></input><width>7</width><height>7</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_DVN9'</action>  </button>

                <button  tooltip-text="'Build+ReStart'">
                    <label>"'-'" </label>
                        <input file stock="gtk-no"></input><width>7</width><height>7</height>   
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT=ARB_ORG'</action>  </button>

                <button visible="1" tooltip-text="'check-Big_90'" >
                <input file>"'/tmp/EmGr-img-Check-90-redXgrn.svg'"</input><width>33</width><height>33</height>
                        <label>"''"</label> <action>'select-Big_90'</action>  
                    <action function="'launch'">     msg_DC_Check_90_Big_redXgrn_window</action>
                    <action function="'closewindow'">msg_DC_Check_90_Big_redXgrn_window</action>    </button>

            </hbox>

        </vbox>

    </vbox>
    <vbox>


    <text visible="false"> <label>"'####_NoteBook_Back-Up_###########################'"</label> </text> 

        <vseparator height-request="12"></vseparator>
        <button use-markup="true" has-focus="false" height-request="55" width-request="50" xalign=".5"  
            tooltip-text="''" >
            <input file>"'/tmp/EmGr-img-button-back.svg'"</input>
            <label> "" </label><action>'0---button-back'</action>  </button>
        <vseparator height-request="12"></vseparator>
            <button visible="1"  tooltip-text=""  
                has-focus="true" width-request="55" height-request="35" >
                <input file> "'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>33</width><height>33</height>
                <label>"'*_BakOne_BakAll_CTX_ReSTART_*'"</label>
                <action function="'launch'">msg_DC_Quick_window</action> <action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:guiCTB-SLX-RS'</action>   </button>
        <vseparator height-request="12"></vseparator>
            <button visible="1"  tooltip-text=""  
                has-focus="true" width-request="55" height-request="35" >
                <input file> "'/tmp/EmGr-img-hash-red.xpm'"</input><width>23</width><height>23</height>
                <label>"'*_Master_BakOne_BakAll_CTX_PowerOFF_*'"</label>
                <action function="'launch'">msg_DC_Quick_window</action> <action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:guiCTB-SLX-RQ'</action>   </button>
        <vseparator height-request="12"></vseparator>
            <hseparator width-request="15"></hseparator>            <button   visible="1"   tooltip-text="''"  width-request="55"  height-request="15"> <label> "" </label> 
                        <input file stock="gtk-ok"></input><width>11</width><height>11</height>   
                       <action>'0-top-XXX'</action>       </button>
            <button visible="1" tooltip-text=""  width-request="55" height-request="35" > 
                <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>33</width><height>33</height>   
                <label>"'{{_BackOne_BakAll_CTB-SLX_PO_PowerOff_}}'"</label>
                <action>echo '/root/my-applications/rc.z_CTB-SLX.sh' > /0-MGR_MB_RetVal.cfg </action>  
            <action function="'launch'">msg_DC_Quick_window</action> <action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:guiCTB-SLX-PO'</action>   </button>
        <vseparator height-request="12"></vseparator>
            <vseparator  visible="1" height-request="12" > </vseparator>
            <button   visible="1"   tooltip-text="''"  width-request="55"  height-request="15"> <label> "" </label> 
                        <input file stock="gtk-ok"></input><width>11</width><height>11</height>   
                       <action>'0-top-C3C'</action>       </button>
            <hbox visible="1" homogeneous="false">
            <hbox homogeneous="0">
                <hseparator width-request="110"></hseparator>
                    <checkbox  active="'$CbxB1'">  <label>'BakOne'</label>   </checkbox>
                    <checkbox  active="'$CbxPxb'">  <label>'{PXB}'</label>   </checkbox>
                    <checkbox  active="'$CbxB2'">  <label>'BakAll'</label>   </checkbox>
                    <checkbox  active="'$CbxRs'">  <label>'ReStart'</label>  </checkbox>
                    <checkbox  active="'$CbxRb'">  <label>'ReBoot'</label>   </checkbox>  
                    <checkbox  active="'$CbxRq'">  <label>'ReQuit'</label>   </checkbox>
                <hseparator width-request="60"></hseparator>
            </hbox>
                <hseparator width-request="170"></hseparator>
            </hbox>
            <vseparator  visible="1" height-request="7" > </vseparator>
            <hbox homogeneous="true">
                <button visible="1" tooltip-text="EXIT:CbxApply_ComboBoxes_Developmental_" >
                   <input file>"'/tmp/EmGr-img-apple-redblu.svg'"</input><width>"15"</width><height>"15"</height>
                   <label> '_Execute-Combo-Boxes'  </label>
                   <action>'EXIT=CbxApply'</action>
                    </button>
            </hbox>
           <vseparator visible="1" height-request="12"></vseparator>
            <button   visible="1"   tooltip-text="''"  width-request="55"  height-request="11"> <label> "" </label> 
                        <input file stock="gtk-ok"></input><width>11</width><height>11</height>   
                       <action>'0-top-C3C'</action>       </button>
            <vseparator visible="1" height-request="12"></vseparator>
            <hbox homogeneous="true">
                <button visible="1"   tooltip-text="''" >
                <input file>"'/tmp/EmGr-img-jug-blu0yel.svg'"</input><width>30</width><height>30</height>
                <label> "  '===!-C3C-Tool-Tip-!==='  " </label> 
                <action function="'launch'">msg_DC_C3C_window</action>
                <action>'0-C3C-Tool-Tip'</action> </button>
            </hbox>
            <hbox homogeneous="true">
                <button tooltip-text="EXIT:C3CS2F:ReBoot" >
                   <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>"25"</width><height>"25"</height>
                   <label> "'_Clear_C3C+S2F+ReBoot'"  </label>
                   <action function="'launch'">msg_DC_Quick_window</action>
                   <action function="'closewindow'">msg_DC_Quick_window</action>
                   <action>'EXIT:C3CS2F'</action> </button>
            </hbox>
           <vseparator visible="1" height-request="13"></vseparator>
    </vbox>
    <vbox>
    <text visible="false"> <label>"'###_NoteBook_Dox_############################'"</label> </text> 
        <vseparator height-request="22"></vseparator>
        <button use-markup="true" has-focus="false" height-request="55" width-request="50" xalign=".5"  
            tooltip-text="''" >
            <input file>"'/tmp/EmGr-img-button-dox.svg'"</input>
            <label> "" </label><action>'0---button-dox'</action>  </button>
        <vseparator height-request="22"></vseparator>
            <hbox homogeneous="true">
                <button visible="1" tooltip-text="'===-EXIT:guiDumpHLP-==='  <HELP dump>"  has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-90-redXblu.svg'"</input><width>45</width><height>35</height>
                    <label>"'HELP'  " </label>
                    <action>'Sbr_Dump_HLP'</action> </button>
                <button visible="1"  tooltip-text="'===-EXIT:guiDumpProc-==='  <Process_dump>"  has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-90-redXgrn.svg'"</input><width>45</width><height>35</height>
                    <label> "'Process'  " </label>
                    <action>'Sbr_Dump_Proc'</action> </button>
                <button visible="1"  tooltip-text="'===-EXIT:guiDumpFAQ-==='  <FAQ dump>" has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-90-redXyel.svg'"</input><width>45</width><height>35</height>
                    <label> "'Faq'  " </label>
                    <action>'Sbr_Dump_FAQ'</action> </button>
            </hbox>

            <hbox homogeneous="true">
               <button visible="1" tooltip-text="'EXIT:guiDumpSrc'  < Display Devloper Source >"   has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width>37</width><height>37</height>
                    <label>"'Dump_Source_Code_' "</label>
                    <action>'EXIT:guiDumpSrc'</action> </button>
               <button visible="1" tooltip-text="'EXIT:guiDumpImg'  < Display Devloper Source >"   has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width>37</width><height>37</height>
                    <label>"'Dump_Source_Image_' "</label>
                    <action>'EXIT:guiDumpImg'</action> </button>
               <button visible="1" tooltip-text="'EXIT:guiDumpSys'  < Display Devloper SysProc >"   has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width>27</width><height>27</height>
                    <label> "  'Dump_Sys'  " </label>
                    <action>'EXIT:guiDumpSys'</action> </button>
            </hbox>

            <button><input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>15</width><height>5</height><action>"P3-spacer"</action> </button>
            <vseparator height-request="5" > </vseparator>
            <vbox>
            <hbox homogeneous="true">
                <button visible="1" tooltip-text="'===-EXIT:guiDumpUPL-==='  < Phil PeaBee : UpPopLegal_Flg >"  has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width>27</width><height>27</height>
                    <label> "  'Dump_UPL'    " </label>
                    <action>'EXIT:guiDumpUPL'</action>   </button>
                <button visible="1" tooltip-text="'===-EXIT:guiDumpGXM-==='  < Phil PeaBee : UpPopLegal_Flg >"  has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width>27</width><height>27</height>
                    <label> "  'Dump_GXM'    " </label>
                    <action>'EXIT:guiDumpGXM'</action>   </button>
                <button visible="1" tooltip-text="'===-EXIT:guiDumpPUP-==='  < PupState >"  has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width>27</width><height>27</height>
                    <label> "  'Dump_PUP'    " </label>
                    <action>'EXIT:guiDumpPUP'</action>   </button>
            </hbox>
            </vbox>
            <hbox homogeneous="true">
                <button  tooltip-text="'=-EXIT:guiDumpPath='"   has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width>27</width><height>27</height>
                    <label>" 'Dump_Path'   "</label>	
                    <action>'EXIT:guiDumpPath'</action> </button>
                <button    tooltip-text="'===-EXIT:guiBase64__Sbr_Base64-==='"   has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-bluXred.svg'"</input><width>27</width><height>27</height>
                    <label> "'Dump_Source-to-Base64'  " </label>    
                    <action>'EXIT:guiSrcBase64'</action> </button>
                <button visible="1" tooltip-text="'===-EXIT:guiDumpDeclare-==='  < Phil PeaBee : UpPopLegal_Flg >"  has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width>27</width><height>27</height>
                    <label> " 'Dump_Declare'   " </label>
                    <action>'EXIT:guiDumpDeclare'</action>   </button>
            </hbox>    
            <hbox homogeneous="true">
              <button visible="1"    tooltip-text="'===-EXIT:guiMandelbrot-==='   "   has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-bluXred.svg'"</input><width>22</width><height>22</height>
                    <label>"'Mandelbrot'  "</label>  
                    <action>'EXIT:guiMandelbrot'</action> </button>
            <button  tooltip-text="'=-EXIT:_DISTRO_guiBackGround-=':only-launch, only PageDOX, 250"   has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-bluXred.svg'"</input><width>22</width><height>22</height>
            <label>"'Distro-List'   "</label>	
                    <action>'EXIT:gui_Dxstro_Window'</action> </button>
            <button visible="1" tooltip-text="'=-EXIT:guiAudio_for_StartUpSound+LogInDts-='"   has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-bluXred.svg'"</input><width>22</width><height>22</height>
<label>
"'Start'
'Audio'
'Sound_' "
</label>    
                    <action>'EXIT:guiAudio'</action> 
                </button>
            </hbox>
<hbox homogeneous="true">
                <button>  <label>" 'https://github.com' "</label>
                    <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width>27</width><height>27</height>
                    <action function="closewindow">msg_DC_LxgenDox_window_0</action>    </button>
                <button visible="0">  <label>" 'https://github.com' "</label>
                    <action function="closewindow">msg_DC_LxgenDox_window_0</action>    </button>
</hbox>
    <button><input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>15</width><height>5</height>
        <action>"'P3-spacer'"</action> </button>
    <hseparator width-request="20"></hseparator>
    </vbox>
    <vbox> 
        <text visible="false"> <label>"'###_NoteBook_Util_############################'"</label> </text> 
        <vseparator height-request="22"></vseparator>
        <button use-markup="true" has-focus="false" height-request="55" width-request="50" xalign=".5"  
            tooltip-text="''" >
            <input file>"'/tmp/EmGr-img-button-util.svg'"</input>
            <label> "" </label><action>'0---button-util'</action>  </button>
        <vseparator height-request="22"></vseparator>
        <hbox homogeneous="false" visible="1">
            <hseparator width-request="37"></hseparator>
            <button    tooltip-text="">
                <input file>"'/tmp/EmGr-img-Check-90-redXblu.svg'"</input><width>35</width><height>35</height>   
                <label>'{-S2F1-internal}'</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiS2F1_MI'</action>  </button>
            <hseparator width-request="22"></hseparator>
            <button    tooltip-text="" >
                <input file>"'/tmp/EmGr-img-Check-90-redXyel.svg'"</input><width>35</width>  <height>35</height>
                <label> "'{-PXB-RS-Internal}'" </label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiPXB_ion_RS'</action></button>
            <hseparator width-request="22"></hseparator>
            <button  tooltip-text="">
                <input file>"'/tmp/EmGr-img-Check-90-redXgrn.svg'"</input><width>35</width><height>35</height>   
                    <label>'{-S2F3-internal}'</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiS2F3_MI'</action>  </button>
            <hseparator width-request="177"></hseparator>
        </hbox>
    
        <hbox visible="1">
                <hseparator width-request="3"></hseparator>
                 <button    tooltip-text="">
                        <input file>"'/tmp/EmGr-img-Check-90-redXblu.svg'"</input><width>35</width><height>35</height>   
                        <label>'{-PnMount-}'</label>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                        <action>'Sbr_MGR_pMount_All'</action>  </button>
                <hseparator width-request="22"></hseparator>
                <button    tooltip-text="">
                        <input file>"'/tmp/EmGr-img-Check-90-redXgrn.svg'"</input><width>35</width><height>35</height>   
                        <label>'{-UnMount-}'</label>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                        <action>'Sbr_Sys_uMount_All'</action>  </button>
                <hseparator width-request="280"></hseparator>
        </hbox>

           <vseparator  visible="0" height-request="3" > </vseparator>
            <button visible="1" label="" has-focus="false" height-request="11"> 
                <action>'0-top-CTX-external'</action> </button>
            <vbox>
                <button visible="1" label="'{_Dependencies_/root/my-applications_}'" has-focus="false" width-request="100" height-request="35"> 
                    <action>'0_Dependencies_'</action> </button>
            </vbox>
          
           <vseparator  visible="0" height-request="3" > </vseparator>
            <hbox visible="1" homogeneous="0">
                <hseparator width-request="15"></hseparator>
                <button visible="1" tooltip-text="''">
                    <input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>12</width><height>12</height>   
                    <label>'={_CTB-5.2_}='</label>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                        <action>'EXIT:guiCTB52'</action>  </button>
 
                <hseparator width-request="115"></hseparator>
 
                <button visible="1" tooltip-text="''"  > 
                    <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input> <width>12</width> <height>12</height>   
                    <label>"'_BakAll_CTB-SLX_PO_powerOff_'"</label>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                         <action>'EXIT:guiCTB-SLX-PO'</action>   </button>
 
                <hseparator width-request="195"></hseparator>
            </hbox>
            <vseparator visible="0" height-request="3" > </vseparator>
                     
            <button   visible="1"   tooltip-text="'EXIT:guiMCI' < MCI > Instructional 
                Embedded Graphics Sample Project  "has-focus="false" height-request="11"> <label> "" </label> 
                        <input file icon="gtk-select-color" ></input>   
                       <action>'top-guiMCI'</action>       </button>
            <hbox homogeneous="false">
            <hseparator width-request="44"></hseparator>
            <button  visible="1"   gtk-apply="true" has-focus="false" > 
                <input file>"'/tmp/EmGr-img-Check-bluXblu.svg'"</input><width>"35"</width><height>"35"</height>
                <label> " { 'MCI_Project_Instructional-Ext' }  " </label>
                <action>'EXIT:guiMCI'</action>      </button>
            <hseparator width-request="44"></hseparator>
 
            <button  visible="0"   gtk-apply="true" has-focus="false" > 
                <input file>"'/tmp/EmGr-img-Check-bluXblu.svg'"</input><width>"35"</width><height>"35"</height>
                <label> " { 'MGS-8_Project_Simple-Ext' }  " </label>
                <action>'EXIT:guiMGS-8'</action>      </button>
            <hseparator width-request="277"></hseparator>
        </hbox>
            <vseparator  visible="1" height-request="3" > </vseparator>
            <button visible="1" label="" has-focus="false" height-request="11"> 
                <action>'top-image-lib'</action> </button>
            <hbox>
            <button label="'-Image-Library-'" visible="1" height-request="1"> <action>lxAction:spacer</action> </button>
            <hseparator width-request="57" > </hseparator>
            <button label="'-QuitExit-'" has-focus="false" height-request="25"> <action>lxAction:spacer</action> </button>
            <button     tooltip-text="'Quit-Red'" >   <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label> <action>"'apple:0'"</action> </button>
            <button     tooltip-text="'Quit-grnnnn'" ><input file>"'/tmp/EmGr-img-quit-grnnnn.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'apple:1'"</action> </button>
            <button     tooltip-text="'Quit-yelnnn'" ><input file>"'/tmp/EmGr-img-quit-yelnnn.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'apple:2'"</action> </button>
            <hseparator width-request="27" > </hseparator>
            <button label="'-Apples-'" has-focus="false" height-request="25"> <action>lxAction:spacer</action> </button>
            <button     tooltip-text="'apple-redred'" ><input file>"'/tmp/EmGr-img-apple-redred.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'apple:3'"</action> </button>
            <button     tooltip-text="'apple-redblu'" ><input file>"'/tmp/EmGr-img-apple-redblu.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'apple:4'"</action> </button>
            <button     tooltip-text="'apple-redyel'" ><input file>"'/tmp/EmGr-img-apple-redyel.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'apple:5'"</action> </button>
            <button     tooltip-text="'apple-redgrn'" ><input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'apple:6'"</action> </button>
            <hseparator width-request="117" > </hseparator>
            </hbox>
            <hbox>
            <hseparator width-request="7" > </hseparator>
            <button label="'-Hash-'" has-focus="false" height-request="5"> <action>"'Hash:0'"</action> </button>
            <button     tooltip-text="'hash-red'" ><input file>"'/tmp/EmGr-img-hash-red.xpm'"</input><width>25</width><height>25</height>
                <label> "''" </label>
                <action>"'Hash:1'"</action> </button>
            <button     tooltip-text="'hash-grn'" ><input file>"'/tmp/EmGr-img-hash-grn.xpm'"</input><width>25</width><height>25</height>
                <label> "''" </label>
                <action>"'Hash:2'"</action> </button>
            <button     tooltip-text="'hash-blu'" ><input file>"'/tmp/EmGr-img-hash-blu.xpm'"</input><width>25</width><height>25</height>
                <label> "''" </label>
                <action>"'Hash:3'"</action> </button>
            <hseparator width-request="67" > </hseparator>
            <button label="'-Jugs-'" has-focus="false" height-request="25"> <action>lxAction:spacer</action> </button>
            <button     tooltip-text="'jug-blu0yel'" >   <input file>"'/tmp/EmGr-img-jug-blu0yel.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label> <action>"'jug:1'"</action> </button>
            <button     tooltip-text="'jug-grnxorange'" ><input file>"'/tmp/EmGr-img-jug-grnxorange.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'jug:2'"</action> </button>
            <button     tooltip-text="'jug-redxyel'" >   <input file>"'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'jug:3'"</action> </button>
            <button     tooltip-text="'jug-redxgrn'" >   <input file>"'/tmp/EmGr-img-jug-redxgrn.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'jug:4'"</action> </button>
            <button     tooltip-text="'jug-grnxred'" >   <input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'jug:5'"</action> </button>
            <button     tooltip-text="'jug-redxyel'" >   <input file>"'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'jug:6'"</action> </button>
            <button     tooltip-text="'jug-redxblu'" >   <input file>"'/tmp/EmGr-img-jug-redxblu.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'jug:7'"</action> </button>
            <hseparator width-request="127" > </hseparator>
            </hbox>
            <hbox>
            <hseparator width-request="7" > </hseparator>
            <button label="'-Check-90-'" has-focus="false" height-request="15"> <action>"'Check:90:0'"</action> </button>
            <button visible="1" tooltip-text="'check-Big_90'" ><input file>"'/tmp/EmGr-img-Check-90-redXyel.svg'"</input><width>55</width><height>55</height>
                    <label>"''"</label> <action>'0-check-90-redXyel'</action> 
               <action function="'launch'">     msg_DC_Check_Big_90_window</action><action function="'closewindow'">msg_DC_Check_Big_90_window</action>    </button>
            <button visible="1" tooltip-text="'check-90-redXblu'" ><input file>"'/tmp/EmGr-img-Check-90-redXblu.svg'"</input><width>55</width><height>55</height>
                    <label>"''"</label> <action>'0-select-Check-90'</action> 
               <action function="'launch'">     msg_DC_Check_90_Big_redXblu_window</action><action function="'closewindow'">msg_DC_Check_90_Big_redXblu_window</action>    </button>
            <button visible="1" tooltip-text="'check-90-redXgrn'" ><input file>"'/tmp/EmGr-img-Check-90-redXgrn.svg'"</input><width>55</width><height>55</height>
                    <label>"''"</label> <action>'0-select-Check-90'</action> 
               <action function="'launch'">     msg_DC_Check_90_Big_redXgrn_window</action><action function="'closewindow'">msg_DC_Check_90_Big_redXgrn_window</action>    </button>
          <hseparator width-request="22" > </hseparator>
            <button label="'-Check-Mark-'" has-focus="false" height-request="15"> <action>'0-Check-Mark-B'</action> </button>
            <button     tooltip-text="'Check-111-redXblu'" ><input file>"'/tmp/EmGr-img-Check-111-bluXred.svg'"</input><width>55</width><height>63</height>
                <label> "''" </label> <action>"'0-Check-B81'"</action> </button>
             <button    tooltip-text="'Check-111-redXgrn'" ><input file>"'/tmp/EmGr-img-Check-111-grnXred.svg'"</input><width>55</width><height>63</height>
                <label> "''" </label> <action>"'0-Check-B82'"</action> </button>
            <button     tooltip-text="'Check-111redXyel'" ><input file>"'/tmp/EmGr-img-Check-111-yelXred.svg'"</input><width>55</width><height>63</height>
                <label> "''" </label> <action>"'0-Check-B83'"</action> </button>
           <hseparator width-request="13" > </hseparator>
 
            <button label="'-Check-'" has-focus="false" height-request="15"> <action>'0-Check-Mark-S'</action> </button>
             <button     tooltip-text="'Check-redred'" ><input file>"'/tmp/EmGr-img-Check-redred.svg'"</input><width>33</width><height>33</height>
                <label> "''" </label><action>"'0-Check-S13'"</action> </button>
            <button     tooltip-text="'Check-grngrn'" ><input file>"'/tmp/EmGr-img-Check-grngrn.svg'"</input><width>33</width><height>33</height>
                <label> "''" </label><action>"'0-Check-S14'"</action> </button>
            <button     tooltip-text="'Check-yelyel'" ><input file>"'/tmp/EmGr-img-Check-yelyel.svg'"</input><width>33</width><height>33</height>
                <label> "''" </label><action>"'0-Check-S15'"</action> </button>
            <hseparator width-request="30" > </hseparator>
            </hbox>
           <vseparator  visible="1" height-request="7" > </vseparator>
    </vbox>
</'notebook'>
       <button visible="0" has-focus="false" height-request="20"  xalign=".5">  
            <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height>
            <label>"'ANB'"</label><action>'0-After-NOTEBOOK-Adjust'</action> </button>
         <hseparator width-request="12"></hseparator>
    </hbox>
</vbox>
        <vseparator height-request="12"></vseparator>
        <vseparator  visible="1" height-request="1" > </vseparator>
            <button  visible="1" has-focus="false" height-request="12"  xalign=".5"  tooltip-text="C4-/tmp/EmGr-img-apple-redblu.svg" >
			<input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width>  <height>25</height>
            <label> "X" </label><action>lxAction:C4</action></button>
	<vbox>
    	<vseparator  visible="1" height-request="1"> </vseparator>
        <hbox visible="0">   <text> <label>"'########################'"</label> </text>   </hbox>
        <hbox visible="0">   <text> <label>"'---_SIMPLE_---'"</label> </text>   </hbox>
        <vseparator  visible="1" height-request="1" > </vseparator>
        <hbox homogeneous="true">
             <hseparator width-request="111"></hseparator>
            <button tooltip-text="S.I.M.P.L.E._guiSimReStart"> 
                <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>25</width>  <height>25</height>
                <label>'_ReStart__'</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiSimReStart'</action>   </button>
                <hseparator width-request="11"></hseparator>
    
            <button tooltip-text="S.I.M.P.L.E.__guiSimReBoot">    
                <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>25</width>  <height>25</height>
                <label>'_ReBoot__'</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiSimReBoot'</action> </button>
                <hseparator width-request="11"></hseparator>
 
            <button tooltip-text="'Double-Click-Program_EXIT_'" > 
                <input file>"'/tmp/EmGr-img-quit-grnnnn.svg'"</input><width>44</width>  <height>44</height>
                <label>'!__EXIT___!'</label> 
                    <action function="'launch'">msg_DC_Quick_window</action>  <action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiMainQUIT'</action>    </button>
                <hseparator width-request="11"></hseparator>
 
            <button tooltip-text="S.I.M.P.L.E.__guiSimPowerOff">  
                <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>25</width>  <height>25</height>
                <label>'_PwrOff__'</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiSimPowerOff'</action> </button>
                <hseparator width-request="11"></hseparator>
           <button tooltip-text="S.I.M.P.L.E.__guiSimHalt">       
                <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>25</width>  <height>25</height>
                <label>'_Halt_It_'</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiSimHalt'</action> </button>
             <hseparator width-request="111"></hseparator>
        </hbox>
    </vbox>
    
</vbox>
</window>'
#!
#! ###########################################################################
#! ## bot SystemGui  ### MainGUI ### Dialog END  #############################
#! ###########################################################################
#!
lcEmGrGuiFnTrg="/tmp/EmGa-Master-GUI.txt"   # BUILD master GUI IMG.txt, for "DUMP" .
echo "${MGR_Master_MAIN_GUI_Dialog}" >> ${lcEmGrGuiFnTrg}
echo "###_end_of_Master_Main_XML_Graphical_User_Interface_Code ############ " >> ${lcEmGrGuiFnTrg}   # title for "Dump" to screen
#
eval "`gtkdialog --center -p System_GUI_Dialog`" 
#(: end: SystemGui eval ===========================================
 
#! ##  bot SystemGui ### INIT ####################################
lcMsgStr="------------------------------------------------------------" && Sbr_Str2DevTrm "$lcMsgStr" "1" "1"
lcMsgStr="---------  Fall-Thru  --- ${EXIT} -------------Fall-Thru----" && Sbr_Str2DevTrm "$lcMsgStr" "1" "1"
lcMsgStr="------------  Fall-Thru  --- ${EXIT} ----------Fall-Thru----" && Sbr_Str2DevTrm "$lcMsgStr" "1" "1"
lcMsgStr="---------------  Fall-Thru  --- ${EXIT} -------Fall-Thru----" && Sbr_Str2DevTrm "$lcMsgStr" "1" "1"
lcMsgStr="------------------------------------------------------------" && Sbr_Str2DevTrm "$lcMsgStr" "1" "1"
#!
#!
#!
#(: begin: Fall-Thru code
#! Fall-Thru Method 
#!
#!
#! Begin: Fall-Thru Method "HEADER" ===========================
#!
#! Each Fall-Thru Block has this "header" with label "#! ft(EXIT:"
#!    which makes it easier to "Find" via  Ctl-C , Ctl-F, Ctl-V , In_Document 
#!    to show a List of these headers. 
#! 
#! ft(EXIT: 
#!
#! End: Fall-Thru Method "HEADER"  ===========================
#!
#! begin: regular "function"
#! Each "if" function has a header that begins with label like this:
#!   function EXIT:??????????  
#!
#! begin: regular "function"
#! Each regular "function" has a header that begins with label like this:
#!      function Sys_??????????() {  
#!          n="0"
#!      } end 
#! end: regular "function"
#!
#!
#!
#!
#! ###########################################################
#! Fall-Thru Method  ===> Local Fall Thru to Terminating Routines:
#! ###########################################################
#!
#!
#(: ================================================================
#(: fx EXIT:Check-Box   # Active   Check-Box "CBX"  # External calls
#(: called by: gui CBX
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
### begin: Check-Box : EXIT:CB --->   EXIT:CBARS+ EXIT:CBARB+ EXIT:CBAPO+
### Design Method : "FALL-THRU"
###
### "ALL" Check-Box will trigger running "ALL", regardless if 'checked' or not .
### EXIT="CBXAPPLY+" triggers running all "checked" selections .
###
#!
#! Check-Box "CBX"  
#(: ========================================================
#(: fx EXIT:C3CS2F       # Active   Check-Box "CBX"  # External calls
#(: called by: gui CBX
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#!
#! =========================================================
if [ ${EXIT} = "C3CS2F" ]  ; then
        #! function Sbr_CBXARB() 
        #!
        #! files/subdir to be C3C Cleaned Out will vary Distro-to-Distro .
        #! files/subdir to be C3C Cleaned Out will vary Browser-to-Browser .
        #!
        #! Has Not Been Converted to function Sbr_CBXAR3 () format 
        #!
        #(: If COMBO "BOXApply" button 
        #(: Then check for prior "APPLY Checks" commands
        #!
        #(: function  IF  CBXC3C  CBXS2F  CBXCTU  
        #!  || [ ${CBXS2F} = "true" ]
        #! ======================================================
        Sbr_Splash_It "= begin CBXC3C =" "yellow" "blue" "3"        #! -D---
        n=0
        Sbr_Sys_KillProc   # check for KillProc flag up.
        #!
        #!      #!      #!      #!
        #(: ##=== CheckBox === C3C === Clear 3 Cache
        #! purpose: Clear Large Cache data which lingers 
        #(: function IF CBXC3C
        #! === Clear 3 Cache === plus S2F1 ===
        #!  ========================================
        lcMsgStr="=== C3C" && Sbr_Str2DevTrm "$lcMsgStr" "5" "1"
        n=0
        ### 
        echo "=== Begin === C3C ========================"
        ### Clear 3 Cache, Fast Direct Calls
        #!
        #! Literal Spell-Out locations
        #! purpose: Clear Large Cache data which lingers 
        #!
        #!=== Literal rm -fr  $lcFileSrc for each target ===============
        ### Cache ### FireFox 
        lcFileSrc="/root/.cache/mozilla/firefox/"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It ".cache = rm -fr  $lcFileSrc" "yellow" "green" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        ### Cache ### FireFox 
        lcFileSrc="/root/.cache/mozilla/firefox"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It ".cache = rm -fr  $lcFileSrc" "yellow" "green" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        ### Cache ### Mozilla 
        lcFileSrc="/root/.cache/mozilla"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It ".cache = rm -fr  $lcFileSrc" "yellow" "green" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### Cache ### LIGHT
        lcFileSrc="/root/.light/light/Light.default"
        lcFileSrc="/root/.cache/light/"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It ".cache = rm -fr  $lcFileSrc" "yellow" "green" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### Cache ### Moonchild Productions   Pale Moon     ## must insert "?" 
        lcFileSrc="/root/.cache/moonchild?productions/pale?moon/"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It ".cache = rm -fr  $lcFileSrc" "yellow" "green" "2"    #! -D---
        sleep .1
        rm -fr  ${lcFileSrc}
        #!
        #!==============================================
        ### Cache ###
        lcFileSrc="/root/.cache/event-sound/*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### Cache ###
        lcFileSrc="/root/.cache/mesa_shader_cache/*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### Cache ###
        lcFileSrc="/root/.cache/event-sound-cache*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### CUPS ###
        ###  [06/Mar/2020:04:45:39 +0500] Cleaning out old files in "/var/spool/cups/tmp".
        lcFileSrc="/var/spool/cups/tmp/*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### CUPS ###
        ###  [06/Mar/2020:04:45:39 +0500] Cleaning out old files in "/var/cache/cups".
        lcFileSrc="/var/cache/cups/*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### CUPS ###
        ###  [06/Mar/2020:04:45:39 +0500] Cleaning out old files in "/var/spool/cups/tmp/*".
        lcFileSrc="/var/spool/cups/tmp/*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### CUPS ###
        ###  [06/Mar/2020:04:45:39 +0500] Cleaning out old files in "/var/spool/cups/*".
        lcFileSrc="/var/spool/cups/*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        Sbr_Splash_It "=== DONE === C3C ===================="  "yellow" "blue" "2"    #! -D---
        Sbr_Splash_It "Save to Flash" "yellow" "blue" "2"       #! -D---
        Sbr_S2F1_MI     # internal SMP  + ReStart
        Sbr_Splash_It "ReBoot" "yellow" "blue" "2"       #! -D---
        Sbr_Cbx_ReBoot 1     #! DONE === C3C 
        #!    
fi
#!==============================================
#!
#!
#! Below: Has Not Been Converted to function Sbr_CBXAR3 () format 
#!
#!
#! Fall-Thru Method  ===> Local Fall Thru to Terminating Routines:
#!
#!
#! function: from E3R-CTALL : RS, RB, RQ
#! function if  [ "$EXIT" = "guiBakAll  ...     # All BakAll??? Internal pass thru here
#! function if [EXIT:guiBakAll()    if  [ "$EXIT" =
#! gui Exits with guiBakAllRS or guiBakAllRB or guiBakAllCRB or guiBakAllCRQ
#! ##################################################
#!
#!
#! =====================================================================
#! begin: if  [ "$EXIT" = "guiBakAllRS" || "guiBakAllCRB 
#! =====================================================================
#! all guiBakAll? enter here to perform main functions.  
#!    final functions RS / RB / RQ are captured via fall-thru. 
#! 
#(: fx IF EXIT:guiBakAllRS        Sbr_BakAllArcDts         # Quick Short version   
#(: fx IF EXIT:guiBakAllCRB       Sbr_BakAllArcDts         # Quick Short Version  
#!
#!  if  guiBakAllRS  guiBakAllRB 
#!  EXIT:guiBakAllRB  ||  EXIT:guiBakAllCRB  ||  EXIT:guiBakAllRQ  ||  EXIT:guiBakAllCRB
if [ "$EXIT" = "guiBakAllRS" ] ||  [ "$EXIT" = "guiBakAllCRB" ]  ; then
    n=0
    Sbr_Sys_KillProc   # dev control 
    export gcE3Rcontrol=${EXIT} # simple, maintain this value,might restore 
    #! 
#!
#! working 250112-0550
#!  Continue "Fall-Thru"  for    guiBakAllRS  guiBakAllRB  
#!
#!### ReStart #######################################################
#! where is guiBakAll RS  ?  Possible: Not Used, just old code. 
#! gui BakAll RS
#(: function EXIT:guiBakAllRS      # BakAll ReStart
    n=0
    lcMsgStr="! BakAll + ReSTART Program !"
    Sbr_Splash_It "${lcMsgStr}" "yellow" "purple" "3" #! -D---  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_BakAllArcDts        # Quick Short version  "Bak All Arc Dts" SubRoutine call 
    Sbr_Cbx_ReStart 1    
fi # end: [ "$EXIT" = "guiBakAllRS" ]
#!
#!
#!
#! where is guiBakAllCR  ?  Possible: Not Used, just old code. 
#!### CTB ReBoot #######################################################
#(: function EXIT:guiBakAllCRB       # BakAll + CTA + ScanList + ReBoot 
if [ "$EXIT" = "guiBakAllCRB" ] ; then   # BakAll + CTA + ReBoot 
    n=0
    lcMsgStr="!!! #! Util   BakAll + CTB-SL + ReBoot : guiBakAllCRB !!!"
    Sbr_Splash_It "${lcMsgStr}" "yellow" "purple" "3" #! -D---  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_BakAllArcDts        # Quick Short version    "Bak All Arc Dts"
     #! Expand Verify -f Files : /EDIT vs /root/my-applications
    lcMsgStr="!!! #2 Util   BakAll_CTB-SL + ReBoot : guiBakAllCRB !!!"
    Sbr_Splash_It "${lcMsgStr}" "yellow" "purple" "3" #! -D---  
    #!
    #!  here, testing  for /Dev/Edit
    lcFnRun="${gcMntHomeMyUsrDev}rc.z_CTB-SL.sh"    #!  here, testing  for /Dev/Edit
    if [ -f "$lcFnRun" ] ; then     # CTB-SL    #! CTA has No-Scan-List, 
        [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    else
        lcFnRun="${gcRootApps}rc.z_CTB-SL.sh"  #! run /root/my-apps
        if [ -f "$lcFnRun" ] ; then     # CTB-SL
            [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
            Sbr_FnNotFound "${lcFnRun}"
        fi
    fi
   Sbr_Cbx_ReBoot 1     #! Done guiBakAllCRB
   #!
fi # end: [ EXIT:guiBakAllCRB ]    
#! where is guiBakAllCR  ?  Possible: Not Used, just old code. 
#!
#!
#!
#!###  ReBoot Installed Menu #######################################################
#(: function EXIT:guiMenuRB       # NOT ACTIVE
if [ "$EXIT" = "guiMenuRB" ] ; then   # SAVE and then ReBoot 
   n=0
   Sbr_S2F1-MI    # internal SMP  + ReStart
   Sbr_Cbx_ReBoot 1     #! guiMenuRB
fi # end: [ EXIT:guiMenuRB ]    
#!
#!
#!###  Save + ReBoot Installed Menu ####################################
#(: function EXIT:guiMenuRBS       # NOT ACTIVE
if [ "$EXIT" = "guiMenuRBS" ] ; then   # SAVE and then ReStart  
    n=0
    Sbr_S2F1-MI    # internal SMP  + ReStart
    Sbr_Cbx_ReStart 1
fi # end: [ EXIT:guiMenuRBS ]    
#!
#!
#! =======================================================
#! end: BakAll Ending Routines: "BakAll" ReStart / ReBoot 
#! =======================================================
#!
#!
#!
#! =====================================================================
#! begin: #1 Column  CBX, OneArcDts, AllArcDts , E3R, 
#! =====================================================================
#(: ========================================================
#(: fx IF EXIT:guiPCB_ion_RS       #! #1 # EXTERNAL #! ACTIVE
#(: called by: Page "Main" 
#(: param:
##(: purpose: Backup/Archive with DTS  and  PCB internal PXB
#(: calls: Sbr_PCB_INT_PXB
#(: method:
#(: sends:
#(: rationale:
#(: note :
#! ######################################################################
if [ "$EXIT" = "guiPCB_ion_RS" ] ; then  #! Page Util calls external PCB
    n=0
    #!
    gcMntHomeMyUsrDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/"
    gcRootApps="/root/my-applications/"
    
    lcFnRun="${gcRootApps}/rc.z_PCB-ion.sh"
    Sbr_Splash_It "--- Process External {PCB-ion} + {RS} ---" "orange" "purple" "3"  
    if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
        [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    else
        Sbr_FnNotFound "${lcFnRun}"
    fi
    #!
    Sbr_Splash_It "=== DONE ==={1}--- Process External {PCB-ion} + {RS} ---"  "green" "red" "3"  
    #!
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1    # display and no wait
        #!
fi # end guiEXIT:guiPCB_ion_RS
#(: =============================================================
#(: fx IF EXIT:guiTXN   # ACTIVE UTIL Page
#(: called by: Page "UTL" 
#(: param:
##(: purpose: TXN Format on current MGR source 
#(: calls: /initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_TXN/rc.z_TXN_EXE_!-!-!_.sh
#(: method:
#(: sends:
#(: rationale:
#(: note :
#! ################################################################
if [ "$EXIT" = "guiTXN" ] ; then   #! active on pageUTIL
    n=0
    Sbr_Splash_It "--- EXTERAL xterm ---
    !!! calling  xterm  to  run rc.z_TXN_EXE.sh  + ReStart  !!!---" "yellow" "green" "3"       #! -D---
    #!
    #!
    xterm -e "/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_TXN/rc.z_TXN_EXE-RUN-10.sh"
    #!
    #!
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1    # display and no wait
fi # end [ "$EXIT" = "guiEXIT:guiPXB" ]
#(: ========================================================================
#(: fx IF EXIT:guiPXB_ion_RS   # ACTIVE on MAIN and System Page   {{-PXB-}}
#(: called by: Page "Main" and "System" 
#(: param:
##(: purpose: Backup/Archive with DTS  via   PXB internal
#(: calls: Sbr_PCB_INT_PXB
#(: method:
#(: sends:
#(: rationale:
#(: note :
#! ################################################################
if [ "$EXIT" = "guiPXB_ion_RS" ] ; then   # ACTIVE on System Page
    n=0
    Sbr_Splash_It "---!!! calling  Sbr_PXB_INT_PXB + ReStart  !!!---" "yellow" "green" "1"       #! -D---
    Sbr_Splash_It ".
.---!!! calling  Sbr_PXB_INT_PXB + ReStart  !!!---
." "blue" "yellow" "2"       #! -D---
    Sbr_Splash_It ".
.    
.---!!! calling  Sbr_PXB_INT_PXB + ReStart  !!!---
.
." "red" "yellow" "3"       #! -D---
    #!
    Sbr_S2F1-MI    # internal SMP  
    Sbr_PXB_INT     #! Active from System Page to ReStart
    #!
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1    # display and no wait
fi # end [ "$EXIT" = "guiEXIT:guiPXB" ]
#!
#!
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiMgrOneArcDts
#(: called by: Page "Main" , Page System
#(: param:
##(: purpose: Backup/Archive with DTS, only ONE "Manager" Edit Shell Script
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :  Check If "EDIT" script available. 
#(:
#! #########################################################
#(: fx IF EXIT:guiMgrOneArcDts
if [ "$EXIT" = "guiMgrOneArcDts" ] ; then   # MGR One Arc Dts 
    n=0
    #!
    Sbr_BakOneArcDts
    #!
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1    # display and no wait
fi # end [ "$EXIT" = "guiMgrOneArcDts" ]
#!
##(: ========================================================
#(: fx guiMgrAllArcDts
#(: called by: Main GUI Fall-Thru
#(: param:
#(: purpose: Backup/Archive with DTS, all Major Edit Shell Scripts
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : todo: IF find /dir, else, mkdir /dir, touch flag file. 
#(:
#(: function  EXIT:guiMgrAllArcDts  # vis = 0 # NOT ACTIVE 
#! #########################################################
if [ "$EXIT" = "guiMgrAllArcDts" ] ; then   # MGR All Arc Dts # vis = 0 # NOT ACTIVE 
    n=0
    Sbr_Splash_It "--- gui_Mgr_All_Arc_Dts ---" "yellow" "purple" "1"       #! -D---
    #!
    Sbr_BakAllArcDts       # Quick Short BackUp version 
    #!
    Sbr_Cbx_ReStart 1 
fi # end [ "$EXIT" = "guiMgrAllArcDts" ]
#(: ========================================================
#!
#!
#!
#!
#!
#! Fall-Thru Method 
#!
#!
#! #########################################################
#! begin: #1 Page DOX Misc and TEST
#! #########################################################
#!
#!
#(: =========================================================
#(: fx IF EXIT:guiAudio
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: play the "startup" music
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
#(: fx IF EXIT:guiAudio    
if [ "$EXIT" = 'guiAudio' ] ; then  # Run Audio Startup Music 
    n=0
    Sbr_Splash_It  "mpv ===guiAudio StartUp-Sound" "yellow" "purple" "1"
    #!
    #! B5B mpv
       mpv  /usr/share/audio/bark.au &
       mpv  /usr/share/audio/2barks.wav &
    sleep 3
        mpv /usr/share/audio/sys-chime.mp3 &
    #!
    #! B4B mplayer
     mplayer /usr/share/audio/bark.au &
    mplayer /usr/share/audio/2barks.wav &
     sleep 3
    mplayer /usr/share/audio/bell.wav    #!
    #!
    Sbr_Cbx_ReStart 1
    #!
fi # end: "$EXIT" = 'guiAudio'
#!
#!
#(: =========================================================
#(: fx IF EXIT:guiBackGround
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: Launch the BackGround Image
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
#(: fx IF EXIT:guiBackGround    #  Not Active
if [ "$EXIT" = 'guiBackGround' ] ; then  # Run Audio Startup Music 
    n=0
    Sbr_Splash_It  "guiBackGround" "yellow" "purple"  "3"
    Sbr_Cbx_ReStart 1
fi # end: "$EXIT" = 'guiBackGround'
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiTest1    # Not Used
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:    TEST
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ########################################################
#(: fx IF EXIT:guiTest1       # Not Used 
if [ "$EXIT" = 'guiTest1' ] ; then n=0  ;
    n=0
    /usr/lib/gtkdialog/box_splash -fg yellow -bg darkred -border true -close never -text "\
    .   guiTest1
    ." &
        sleep 3
        pidx=$!
        GTKPIDT1=$!
        sleep .3
        kill ${GTKPIDT1}   2> /dev/null   
    Sbr_Cbx_ReStart 1
fi # end: "$EXIT" = 'guiTest1'
#!
#(!
#(: ========================================================
#(: fx IF EXIT:guiTest2    # Not Used
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:    TEST
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ########################################################
if [ "$EXIT" = 'guiTest2' ] ; then n=0  ;   #! NOT USED
    n=0
    /usr/lib/gtkdialog/box_splash -fg yellow -bg darkred -border true -close never -text "\
    .   guiTest2
    ." &
        sleep 3
        pidx=$!
        GTKPIDT2=$!
        sleep .3
        kill ${GTKPIDT2}   2> /dev/null   
    Sbr_Cbx_ReStart 1
fi # end: "$EXIT" = 'guiTest2'
#!
#(!
#(: ========================================================
#(: fx IF EXIT:guiTest3    # Not Used
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:    TEST 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ########################################################
if [ "$EXIT" = 'guiTest3' ] ; then n=0  ;
    n=0
    /usr/lib/gtkdialog/box_splash -fg yellow -bg darkred -border true -close never -text "\
    .   guiTest3
    ." &
        sleep 3
        pidx=$!
        GTKPIDT3=$!
        sleep .3
        kill ${GTKPIDT3}   2> /dev/null   
    Sbr_Cbx_ReStart 1
fi # end: "$EXIT" = 'guiTest3'
#!
#!
#! ########################################################
#! end: #1 Column TEST
#! ########################################################
#!
#!
#! Fall-Thru Method 
#!
#!
#! #########################################################
#! begin: #2 Column EXTERNAL # earlier MGR version
#! #########################################################
#!
#(:   PBB+ Dev+ E3R+ E2D+ GTK+ GEANY+ SFS+ PCP+ PPR+ CTB+ CTU+ CTnsmp+
#!
#!
#(: =========================================================
#(: fx IF EXIT:guiROX
#(: called by: Main GUI Fall-Thru
#(: param:
#(: purpose:    lcFnRun=". rox"
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
if [ "$EXIT" = "guiROX" ] ; then   # NOT USED 
    n=0
    echo "------- ROX ---Show 'My_Dev_' SubDir"
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1 &     ### must ReStart with no parameter.
    #!
    cd /initrd/mnt/dev_save/MY_/usr-share/My_Dev_
    lcFnRun=". rox"
    . rox  
    exit
fi # end: EXIT:guiROX
#!
#!
#(: =========================================================
#(: fx IF EXIT:guiGTKsampler    # NOT USED
#(: called by: Main GUI Fall-Thru
#(: param:
#(: purpose:    lcFnRun="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_GTK/rc.z_GTK-sampler.sh"
#(: calls: GTK-sampler.sh
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
if [ "$EXIT" = "guiGTKsampler" ] ; then     # NOT USED
    n=0
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    echo "--- GTK-sampler ---"
    lcFnRun="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_GTK/rc.z_GTK-sampler.sh"
    [ -f "${lcFnRun}" ]  &&  ${lcFnRun}     # sfs_load
    Sbr_Cbx_ReStart 1   # no wait # guiGTKsampler
fi # end: EXIT:guiGTKsampler
#!
#!
#(: =========================================================
#(: fx IF EXIT:guiSFS   # NOT USED
#(: called by: Main GUI Fall-Thru
#(: param:
#(: purpose:  lcFnRun="/usr/sbin/sfs_load"
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
if [ "$EXIT" = "guiSFS" ] ; then    # NOT USED 
    n=0
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="/usr/sbin/sfs_load"
    [ -f "${lcFnRun}" ]  &&  ${lcFnRun}     # Run  SFS Loader App
    Sbr_Cbx_ReStart 1    # no wait
fi # end: EXIT:guiSFS
#!
#!
#(: =========================================================
#(: fx IF EXIT:guiJWD
#(: called by: Main GUI Fall-Thru
#(: param:
#(: purpose:    lcFnRun="/usr/local/jwmdesk/jwmdesk"
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
#(: fx IF EXIT:guiJWD   # Run JWD App
if [ "$EXIT" = "guiJWD" ] ; then        # NOT USED
    n=0
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="/usr/local/jwmdesk/jwmdesk"
    [ -f "${lcFnRun}" ]  &&  ${lcFnRun}   # jwmdesk
    Sbr_Cbx_ReStart 1   # no wait
    #
fi # end: EXIT:guiJWD
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiPPR
#(: called by: Main GUI Fall-Thru
#(: param:
#(: purpose:    lcFnRun="/usr/local/bin/pprocess" 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ########################################################
#(: fx IF EXIT:guiPPR   # Run Sys App
if [ "$EXIT" = "guiPPR" ] ; then    # NOT USED 
    echo "--- PPR Process --- Run System Application  ---"
    n=0
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="/usr/local/bin/pprocess"   # pprocess
    [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    Sbr_Cbx_ReStart 1    # no wait
    exit 0
    #
fi # end: EXIT:guiPPR
#!
#!
#(: ========================================================
#(: fx IF EXIT:gui-P-MntInt 
#(: called by: GUI button
#(: method: Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls: fx(Sys_MGR_Mnt_pMount_sbr)
#(: method: calls internal script
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
if [ "$EXIT" = "gui-P-MntInt" ]  ; then    # NOT USED 
    n=0
    Sbr_Sys_KillProc    # gui-P-MntInt
    #! Sbr_MGR_pMount_All "1"  ### Sbr -> internal
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:gui-P-MntInt (main)
#!
#!
#(: =========================================================
#(: fx IF EXIT:gui-U-MntInt 
#(: called by: GUI button
#(: method: Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls: fx(Sys_MGR_Mnt_uMount_All)
#(: method: calls internal script
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
if [ "$EXIT" = "gui-U-MntInt" ]  ; then    # NOT USED 
    n=0
    Sbr_Sys_KillProc    # gui-U-MntInt
    #! Sbr_Sys_uMount_All "1" ### Sbr -> internal
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:gui-U-MntInt (main)
#!
#!
#! #########################################################
#! end: #2 Column EXTERNAL 
#! #########################################################
#!
#!
#!
#!   Fall-Thru Method 
#!
#!
#! ########################################################
#! begin: # 3 Column
#! ########################################################
#!
#!
#(: ========================================================
#(: fx IF  EXIT:guiS2F1_MI 
#(: called by: Main GUI button  "_S2F1-MI_"
#(: method: Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:   Internal Call for /rc.z_S2F.sh
#(: calls:
#(: method: calls code from /rc.z_S2F.sh,  copied internal
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################################
if [ "$EXIT" = "guiS2F1_MI" ]  ; then  #   ACTIVE
    n=0
        Sbr_Splash_It "--- guiS2F1  --- Close Terminal ---" "yellow" "purple" "3"       #! -D---
    Sbr_S2F1_MI            # internal SMP  + ReStart
        Sbr_ClearFlagsSystem 0      # so that ReStart can run.
        Sbr_Cbx_ReStart 1  # no wait
fi #
#!
#(: ========================================================
#(: fx IF  EXIT:guiS2F3_MI 
#(: called by: Main GUI button  "_S2F-3_"
#(: method: Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:   Internal Call for /rc.z_S2F.sh
#(: calls:
#(: method: calls code from /rc.z_S2F.sh,  copied internal
#(: sends:
#(: rationale:
#(: note :
#(:
#! ########################################################
if [ "$EXIT" = "guiS2F3_MI" ]  ; then  #   ACTIVE
    n=0
        Sbr_Splash_It "--- guiS2F3  --- Close Terminal ---" "yellow" "purple" "3"       #! -D---
        Sbr_S2F3_MI       # IF  EXIT:guiS2F3_MI  + ReStart
        Sbr_ClearFlagsSystem 0      # so that ReStart can run.
        Sbr_Cbx_ReStart 1  # no wait
fi #
#!
#!
#!
#(: ==================================================
#(: fx IF EXIT:guiMCI   
#(: called by: Main GUI Fall-Thru
#(: param:
#(: purpose: EGI Sample Project
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ##################################################
if [ "$EXIT" = "guiMCI" ] ; then    # Run  M.C.I. project EXT  ACTIVE
    n=0
    Sbr_Splash_It "--- Run {RA}  MCI Sample Project  ---" "yellow" "purple" "3"       #! -D---
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="/root/my-applications/rc.z_MCI.sh"
    [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    Sbr_Cbx_ReStart 1    # no wait
fi # end: EXIT:guiMCI
#!
#(: ==================================================
#(: fx IF EXIT:guiMGS-8 
#(: called by: Main GUI Fall-Thru
#(: param:
#(: purpose: EGI Sample Project
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ##################################################
if [ "$EXIT" = "guiMGS-8" ] ; then    # Run  M.G.S.-8 project EXT  ACTIVE
    n=0
    Sbr_Splash_It "--- Run {RA} MGS-8 Sample Project  ---" "yellow" "purple" "3"       #! -D---
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="/root/my-applications/rc.z_MGS-8.sh"
    [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    Sbr_Cbx_ReStart 1    # no wait
fi # end: EXIT:guiMCI
#!
#!   Fall-Thru Method 
#!
#!
#! ########################################################
#! === begin: pageDOX === DUMP =================== 
#! ########################################################
#!
#!
#(: =========================================================
#(: fx IF EXIT:guiDumpHLP
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: dump/display Pup HELP Code
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ########################################################
if [ "$EXIT" = "guiDumpHLP" ] ; then   #  Dump HELP  ACTIVE
    echo "--- HELP --- Sbr_Dump_HLP --- ${gcSysDistroName} ---"
    n=0
    Sbr_Dump_HLP   # MGR_Help_Box    ### local function name
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpHLP
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiDumpProc
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: dump/display Proc Source Code
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! =========================================================
if [ "$EXIT" = "guiDumpProc" ] ; then   #  Dump Proc  ACTIVE
    echo "--- Dump/Display Program Process ---"
    n=0
    Sbr_Dump_Proc   # MGR_Proc_Box    ### local function name
    Sbr_Cbx_ReStart 1  # no wait
fi  # end: EXIT:guiDumpPUP
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiDumpFAQ
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: dump/display Pup FAQ Code
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpFAQ" ] ; then   #  Dump FAQ  ACTIVE
    echo "--- FAQ --- Sbr_Dump_FAQ --- ${gcSysDistroName} ---"
    n=0
    Sbr_Dump_FAQ    # MGR_Faq_Box    ### local function name
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpFAQ
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiDumpPUP
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: dump/display Pup Source Code
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ##############################################################
if [ "$EXIT" = "guiDumpPUP" ] ; then   #  Dump PupState  ACTIVE
    echo "--- Dump/Display Pup State Code ---"
    n=0
    lcMsgStr="--- guiDump---PUP_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "1"  
    Sbr_Dump_PUP    # MGR_Pup_Box    ### local function name
    Sbr_Cbx_ReStart 1  # no wait
fi  # end: EXIT:guiDumpPUP
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpSrc
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Src Code
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
if [ "$EXIT" = "guiDumpSrc" ] ; then   #  Dump SOURCE  ACTIVE
    n=0
    lcMsgStr="--- guiDump---SRC_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "1"  
    Sbr_Dump_SRC   # MGR_Src_Box    ### local function name
    Sbr_Cbx_ReStart 1  # must ReStart else will drop out
fi # end: EXIT:guiDumpSRC
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpGUI
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Dev Notes and test var.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpGUI" ] ; then   #  Dump GUI  ACTIVE
    n=0
    lcMsgStr="--- guiDump---GUI_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dump_GUI    # MGR_Src_Box    ### local function name
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpGUI
#!
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpImg
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Dev Notes and test var.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpImg" ] ; then   #  Dump IMAGE   ACTIVE
    n=0
    lcMsgStr="--- guiDump---Img_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dump_IMG    # MGR_Src_Box    ### local function name
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpIMG
#!
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpUPL
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Legal Notes and test var.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpUPL" ] ; then   #  Dump UpLegal  ACTIVE
    n=0
    lcMsgStr="--- guiDump---UPL_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dump_UPL    # MGR_UPL_Box
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpUPL
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpGXM
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display gxmessage special and test var.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpGXM" ] ; then   #  Dump "gxmessage"  ACTIVE
    n=0
    lcMsgStr="--- guiDump---GXM_---"
     gxmessage -bo -c -tim 3 -fn 'bold 40' -bg '#285577' -fg '#FFF' -bu '' $'\n\n  A buttonless gxmessage  \n\n'
     lcMsgStr="=== ${gcMgrKey}==="
     gxmessage -bo -c -tim 3 -fn 'bold 10' -bg '#F85577' -fg '#5555FF' -bu '' $'\n\n  "'${lcMsgStr}'"  '
     lcMsgStr="=== PID: ${gcMgrBashPid}==="
     gxmessage -bo -c -tim 3 -fn 'bold 10' -bg '#28F577' -fg '#FFF' -bu '' $'\n\n  "'${lcMsgStr}'"  '
     lcMsgStr="=== ${LOGNAME}==="
     gxmessage -bo -c -tim 3 -fn 'bold 10' -bg '#2855F7' -fg '#FF5555' -bu '' $'\n\n  "'${lcMsgStr}'"  '
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpGXM
#!
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpSys
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Dev Notes and test var.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpSys" ] ; then   #  Dump System  ACTIVE
    n=0
    lcMsgStr="--- guiDump---SYS_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dump_Sys    #! bounce up to SubRoutines 
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpSys
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpDeclare
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Declare 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpDeclare" ] ; then   #  Dump System  ACTIVE
    n=0
    lcMsgStr="--- guiDump---DECLARE_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dump_Declare
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpDeclare
#!
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpPath
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Show_in_Path 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpPath" ] ; then   #  Sbr_Dump_Path  ACTIVE
    n=0
    lcMsgStr="--- guiDump---PATH_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dump_Path
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpPath
#!
#!
#(: =====================================================
#(: fx IF EXIT:gui_Dxstro_window
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "gui_Dxstro_Window" ] ; then   #  Dump DistroList  ACTIVE
    n=0
    lcMsgStr="--- gui_Dxstro_Window_---"
    Sbr_Splash_It "=== ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dxstro_Window
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDxstro_window
#!
#!
#! 
#(: ==========================================================
#(: fx EXIT:guiCtxB1B2Rs   EXIT:guiCtxB1B2Rb   EXIT:guiCtxB1B2Rq     #! NOT ACTIVE
#(: called by: NoteBook BackUp call for RS , RB , RQ (PO).
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : called via NoteBook "BackUp" 
#(:
#! ### Major <button> on NoteBook "BackUp" ###
#! #########################################################################################
#! function   EXIT:guiCtxB1B2Rs  EXIT:guiCtxB1B2Rb  EXIT:guiCtxB1B2Rq        #! NOT ACTIVE
if  [ "$EXIT" = "guiCtxB1B2Rs" ] || [ "$EXIT" = "guiCtxB1B2Rb" ]  || [ "$EXIT" = "guiCtxB1B2Rq" ] ; then       #! NOT ACTIVE
        n=0 # CTX "A"utomatic mode, normally.  "PXB" can handle this standard method.
        if [ "$EXIT" = "guiCtxB1B2Rs" ] ; then      #! ReSTART
            Sbr_Splash_It "CTX + ReSTART" "orange" "purple" "1"  
        fi
        if [ "$EXIT" = "guiCtxB1B2Rb" ] ; then      #! ReBOOT   but not B64B !!! ? stack depth ? 
            Sbr_Splash_It "CTX + ReBOOT" "orange" "purple" "1"  
        fi
        if [ "$EXIT" = "guiCtxB1B2Rq" ] ; then      #! ReQUIT   but not B64B !!! ? stack depth ?
            Sbr_Splash_It "CTX + ReQUIT" "orange" "purple" "3"  
        fi
#! === Clear Flags ========================================================================
        Sbr_ClearFlagsSystem 0     #! Standard Option CTX  #! clear lockfile = ReStart .
#! === BakOne ArcDts ======================================================================
        #~ Sbr_BakOneArcDts    #! Standard Option CTX 
#! === BakAll ArcDts ======================================================================
        Sbr_BakAllArcDts    #! Standard Option CTX 
#! === Save2File ==========================================================================
        Sbr_S2F3_MI    #! Standard Option CTX     # Save2File MI  via  SMP
#! === PXB Internal =======================================================================
        Sbr_PXB_INT    #! Standard Option CTX      #! Active from BackUp Page to PowerOff
#! ========================================================================================
        if [ "$EXIT" = "guiCtxB1B2Rs" ] ; then
                Sbr_Cbx_ReStart 1    
        fi
        if [ "$EXIT" = "guiCtxB1B2Rb" ] ; then
                Sbr_Cbx_ReBoot 1     
        fi
        if [ "$EXIT" = "guiCtxB1B2Rq" ] ; then
            Sbr_Splash_It "PowerOFF ..." "orange" "grn" "1"  
            Sbr_Splash_It "PowerOFF ..." "orange" "blu" "1"  
            Sbr_Splash_It "PowerOFF ..." "orange" "red" "5"  
                Sbr_Cbx_ReQuit 1     
        fi
        #! Normal Process will have already Ended !  via ReStart, or ReBoot, or ReQuit !
        Sbr_Splash_It "ERROR: CTX + ReSTART / ReBOOT / ReQUIT" "orange" "black" "7"  
        #!
fi # end: CTXB1B2
#!
#! find "$BACKUP_DIR" -type d -name "backup_*" -mtime +30 -exec rm -rf {} \;
#!
#! ########################################################
#! === end: pageDOX === DUMP =================== 
#! ########################################################
#!
#!
#!
#! ########################################################
#(: === begin: Page3=== CT? calls to external =============
#! ########################################################
#!
#!
#(: ========================================================
#(: fx EXIT:guiCTX  # ACTIVE
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : Group of CTX buttons on Page Utility Page3
#(:
#! #####################################################
#! function  EXIT:guiCTX   {} Standard "MAIN" {_COLD_TAR_BACKUP_}   ACTIVE 
if [ "$EXIT" = "guiCTX" ] ; then   # CTX  PCBionPXB  ACTIVE   
    n=0 # working CTX "X" mode
    #! Sbr_Splash_It "EXIT:guiCTX " "yellow" "purple" "3"  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run. todo: call CTB-SL
        gcRootApps="/root/my-applications/"
        gcMntHomeMyUsrDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/"
        lcFnRunBaseSd="CTX"
        lcFnRunBaseFn="CTX"
        lcFnRun="${gcMntHomeMyUsrDev}EDIT_${lcFnRunBaseSd}/rc.z_${lcFnRunBaseFn}.sh"    
        #!  here, testing default for /Dev/Edit  "CTX" 
        if [ -f "${lcFnRun}" ] ; then     # ${lcFnRunBase}    
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
                #! here, else testing application subdir  /root/my-applications/rc.z_???.sh
                lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"  
                lcFnRun="/root/my-applications/rc.z_PCB-ion.sh"
                if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}
                    [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
                else
                    Sbr_FnNotFound "${lcFnRun}"
                fi
         fi
    Sbr_Cbx_ReStart 1    # no wait # OK to use here --- CTB ---
    exit 0
fi # end: EXIT:guiCTX
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiCTA
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ###3#################################################
if [ "$EXIT" = "guiCTA" ] ; then   # CTA  # ACTIVE
    n=0
    echo "--- guiCTA Cold Tar Backup Automatic ---"
    #! Sbr_Splash_It "Page 3 Util  : EXIT:guiCTA" "yellow" "purple" "3"  
    #!
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
        gcRootApps="/root/my-applications/"
        gcMntHomeMyUsrDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/"
    lcFnRunBaseSd="CTA"
    lcFnRunBaseFn="CTA"
    lcFnRun="${gcMntHomeMyUsrDev}EDIT_${lcFnRunBaseSd}/rc.z_${lcFnRunBaseFn}.sh"    
    #!  here, testing  for default  /Dev/Edit
    if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
        [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    else
        #! else, here testing for production subdir  /root/my-applications/rc.z_???.sh
        lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"  
        if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}
            [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
            Sbr_FnNotFound "${lcFnRun}"
        fi
    fi
    Sbr_Cbx_ReStart 1    # no wait # OK to use here --- CTB ---
    exit 0
fi # end: EXIT:guiCTA
#!
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiCTB52     # CTB-5.2 # ACTIVE
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #############################################################
if [ "$EXIT" = "guiCTB52" ] ; then   # External 'CTB'  # ACTIVE
    n=0
    #! Sbr_Splash_It "page 3 Util : EXIT:guiCTB-SL " "yellow" "purple" "3"  
    Sbr_Sys_KillProc  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
        gcRootApps="/root/my-applications/"
        gcMntHomeMyUsrDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/"
    lcFnRunBaseSd="CTB"
    lcFnRunBaseFn="CTB-5.2"
    lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"    
    Sbr_Splash_It "${lcFnRun}" "yellow" "purple" "3"  
            #! else, here, testing for production   /root/my-applications/rc.z_???.sh
            lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"  
            if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
            else
                Sbr_FnNotFound "${lcFnRun}"
            fi
    Sbr_Cbx_ReStart 1    
    exit 0
fi # end: EXIT:guiCTB-SL
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiCTB-SL     # ACTIVE
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiCTB-SL" ] ; then   # CTB-SL   # ACTIVE
    n=0
    #! Sbr_Splash_It "page 3 Util : EXIT:guiCTB-SL-4 " "yellow" "purple" "3"  
    Sbr_Sys_KillProc  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="${gcRootApps}rc.z_CTB-SL.sh"
        gcRootApps="/root/my-applications/"
        gcMntHomeMyUsrDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/"
    lcFnRunBaseSd="CTB"
    lcFnRunBaseFn="CTB-SL"
    lcFnRun="${gcMntHomeMyUsrDev}EDIT_${lcFnRunBaseSd}/rc.z_${lcFnRunBaseFn}.sh"    #!  here, testing  for /Dev/Edit
            lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"  
            if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
            else
                Sbr_FnNotFound "${lcFnRun}"
            fi
    Sbr_Cbx_ReStart 1    # no wait # OK to use here --- CTB ---
    exit 0
fi # end: EXIT:guiCTB-SL
#!
#!
#(: ========================================================
#(: fx IF [ EXIT:guiCTB-SLX-RS ] [ EXIT:guiCTB-SLX-RB ][ EXIT:guiCTB-SLX-RQ ] [ EXIT:guiCTB-SLX-PO ] #! ACTIVE  
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :  contains commented code for testing 32/64 bit. Still testing 64bit run. 
#! #################################################################################
if [ "$EXIT" = "guiCTB-SLX-RS" ] || [ "$EXIT" = "guiCTB-SLX-RB" ] || [ "$EXIT" = "guiCTB-SLX-RQ" ] || [ "$EXIT" = "guiCTB-SLX-PO" ] ; then   
    n=0
    #! test gcMgrBit32 = "1"    # gcMrgBit32="1"
    Sbr_Splash_It "=== ${EXIT} ===" "yellow" "darkred" "3"  
        #~ echo ":${gcMrgBit32}:" >  /dev/console
        #~ Sbr_Splash_It "32bit={gcMrgBit32}" "yellow" "green" "3"  
        Sbr_Sys_KillProc  
        Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
            #!
        #~ Sbr_Splash_It "{CTB_}   Sbr_BakAllArcDts" "yellow" "red" "3"  
    #~ #! BakOne
        #~ Sbr_BakAllArcDts_One  "$SubDir"   "$0"   #! param: SubDir ,  FileName    lcSysNameSD lcSysNameFN

    #! BakAll
        Sbr_BakAllArcDts
            #!
        #~ lcFnRun="${gcRootApps}rc.z_CTB-SLX.sh"
        #~ lcFnRunBaseSd="CTB"
        #~ lcFnRunBaseFn="CTB-SLX"
        #!
    #!### #1 ######################################
    if [ "$EXIT" = "guiCTB-SLX-RS" ] ; then   
        lcFnRun="/root/my-applications/rc.z_CTA.sh"     #! Only Call Production : /root/my-applications 
        if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
                Sbr_Splash_It "{1}" "yellow" "red" "1"  
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
                Sbr_FnNotFound "${lcFnRun}"
        fi
        Sbr_Cbx_ReStart 1   
    fi
    #!### #2 ######################################
        lcFnRun="/root/my-applications/rc.z_CTA.sh"                  
                Sbr_Splash_It "$lcFnRun" "yellow" "green" "1"  
                Sbr_Splash_It "$lcFnRun" "yellow" "blue" "1"  
                Sbr_Splash_It "$lcFnRun" "yellow" "red" "1"  
#~ set -x
    if [ "$EXIT" = "guiCTB-SLX-RQ" ] ; then   
        lcFnRun="/root/my-applications/rc.z_CTA.sh"     #! Only Call Production : /root/my-applications 
        if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
                Sbr_Splash_It "{1}" "yellow" "red" "11"  
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
                Sbr_FnNotFound "${lcFnRun}"
        fi
        #~ Sbr_Cbx_ReBoot 1 
        Sbr_Cbx_RePowerOff 1
    fi  
#~ set +x
#~ exit
    #!### #3 ######################################
    if [ "$EXIT" = "guiCTB-SLX-PO" ] ; then   
        lcFnRun="/root/my-applications/rc.z_CTB-SLX.sh"     #! Only Call Production : /root/my-applications 
        if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
                Sbr_Splash_It "{1}" "yellow" "red" "1"  
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
                Sbr_FnNotFound "${lcFnRun}"
        fi
        Sbr_Cbx_RePowerOff 1   # EXIT:guiSimPowerOff        
    fi
    #!
fi # end: EXIT:guiCTB-SLX-R_B_P        # ReStart vs ReBoot vs RePowerOff 
#!
#!
#!
#(: =================================================================
#(: fx IF EXIT:guiPCB_ion_RS      #! #2 # EXTERNAL #! NOT ACTIVE
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :  
#! ######################################################################
if [ "$EXIT" = "guiPCB_ion_RS" ] ; then  #! #2 # EXTERNAL #! NOT ACTIVE
    n=0
    gcRootApps="/root/my-applications/"
    gcMntHomeMyUsrDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/"
    lcFnRun="${gcRootApps}/rc.z_PCB-ion.sh"
    Sbr_Splash_It "{2}--- Process External {PCB-ion} + {RS} ---" "yellow" "red" "3"  
    #!
    lcFnRun="${gcRootApps}rc.z_PCB-ion.sh"
    if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
            Sbr_Splash_It "{RA}   $lcFnRun" "yellow" "red" "5"  
            [ -f "${lcFnRun}" ]  #! &&  ${lcFnRun}
    else        # alternative FnRun
        Sbr_FnNotFound "${lcFnRun}"
    fi
    #!
    Sbr_Splash_It "=== DONE ==={2}--- Process External {PCB-ion} + {RS} --- NOT ACTIVE"  "green" "red" "3"  
    #!
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1   # EXIT:guiSimPowerOff
    #!
fi # end
#!
#!
#!
#(: ==========================================================
#(: fx EXIT:guiCTUnsmp     # NOT ACTIVE
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:  CTU  NoSnapMergePuppy
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
if [ "$EXIT" = "guiCTUnsmp" ] ; then    # CBX ARS ReStart  
    n=0
    #! Sbr_Splash_It "page 3 Util : EXIT:guiCTUnsmp " "yellow" "purple" "3"  
    Sbr_Sys_KillProc  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="${gcRootApps}rc.z_CTU-NSMP.sh"
    lcFnRunBaseSd="CTU"
    lcFnRunBaseFn="CTU-NSMP"
    lcFnRun="${gcMntHomeMyUsrDev}EDIT_${lcFnRunBaseSd}/rc.z_${lcFnRunBaseFn}.sh"    #!  here, testing  for /Dev/Edit
    if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
            [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    else
            #! /root/my-applications/rc.z_.sh
            lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"  
            if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
            else
                Sbr_FnNotFound "${lcFnRun}"
            fi
     fi
    Sbr_Cbx_ReStart 1    # no wait  OK to use after CTU script
    exit 0
fi # end: EXIT:guiCTUnsmp
#!
#!
#(: ================================================================
#(: fx EXIT:guiCTU         # ACTIVE
#(: called by: Main GUI UTIL 
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiCTU" ] ; then    
    echo "--- guiCTU ------------"
    n=0
    #! Sbr_Button_Only ${EXIT}   # guiCTU   # NOT ACTIVE
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRunBaseSd="CTU"
    lcFnRunBaseFn="CTU"
    lcFnRun="${gcMntHomeMyUsrDev}EDIT_${lcFnRunBaseSd}/rc.z_${lcFnRunBaseFn}.sh"    #!  here, testing  for /Dev/Edit
    if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
            #! /Dev/Edit
            [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    else
            #! /root/apps
            lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"  
            if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
            else
                Sbr_FnNotFound "${lcFnRun}"
            fi
     fi
    Sbr_Cbx_ReStart 1    # no wait # OK to use after CTU script
    exit 0
fi # end: EXIT:guiCTU
#!
#!
#! ========================================================
#(: === end: Page3=== calls to external programs
#! ========================================================
#!
#!
#!   Fall-Thru Method 
#!
#!
#! =================================================
#! begin: #4 Column   ;;;  System and QUIT   ;;;
#! =================================================
#!
#!
#(: ================================================
#(: fx EXIT:guiFrameTitle
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: Top Bar, Quick ReStart
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ==================================================
#(: fx IF EXIT:guiFrameTitle   ### main GUI 
if [ "$EXIT" = "guiFrameTitle" ] ; then
    n=0
    #! "Re-Start MGR from Top Bar"
    clear
    #! test     if FullScreen = "0"
    #!              then FullScreenVisible="1"
    #!          else
    #!              FullScreenVisible="0"
    #!          fi 
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that Warm Reboot can run.
    Sbr_Cbx_ReStart 1
fi  # end: EXIT:guiFrameTitle
#!
#!
#(: =================================================
#(: fx EXIT:guiSimReStart
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! =================================================
if [ "$EXIT" = "guiSimReStart" ]  ; then  
    n=0
    Sbr_Splash_It "S.I.M.P.L.E. _Re-Start" "yellow" "green" ".1"  #! -D!---
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that Warm Reboot can run.
    Sbr_Cbx_ReStart 1   # = guiSimReStart
    EXIT="" ### force "Fall Thru" if BASH call fails
    exit 0  #! ## "exit 0' should terminate this program.
fi  #  guiSimReStart
#!
#!
#(: =================================================
#(: fx EXIT:guiSimReBoot
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ###################################################
if [ "$EXIT" = "guiSimReBoot" ]  ; then
    n=0
    Sbr_Splash_It " S.I.M.P.L.E._ Warm ReBoot"  "yellow" "green" "1"  #! -D!---
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that Warm Reboot can run.
    Sbr_Cbx_ReBoot 1        #! = guiSimReBoot
    EXIT="" ### force "Fall Thru" if BASH call fails
    exit 0  #! ## "exit 0' should terminate this program.
fi # guiSimReBoot
#!
#!
#(: =================================================
#(: fx EXIT:guiSimPowerOff
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! =================================================
#! function  EXIT:guiSimPowerOff
if [ "$EXIT" = "guiSimPowerOff" ] ; then
    n=0
    Sbr_Splash_It " S.I.M.P.L.E. _Power-Off "  "yellow" "green" "1" #! -D!---
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that PowerOff can run.
    #!
    Sbr_Cbx_ReQuit 1   #! = guiSimPowerOff
    #!
    EXIT="" ### force "Fall Thru" if BASH call fails
    exit 1      #! ## "exit 1' , error , should terminate this program quietly
fi # guiSimPowerOff
#(:=========================================
#!
#!
#!##### simple system halt  ############################################
#(: fx IF EXIT:guiSimHalt
if [ "$EXIT" = "guiSimHalt" ] ; then   #  
    n=0
    lcMsgStr="!!!_ S.I.M.P.L.E.__Halt_ !!!"
    Sbr_Splash_It "${lcMsgStr}" "yellow" "purple" "3" #! -D---  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    #!
    Sbr_Cbx_ReHalt 1   #! guiSimHalt
    #!
    EXIT="" ### force "Fall Thru" if BASH call fails
    exit 1      #! ## "exit 1' , error , should terminate this program quietly
    #!
fi # guiSimHalt 
#!
#!
#!
#!
#! end: ;;;  QUIT   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#! =================================================
#!
#!
#!   Fall-Thru Method 
#!
#!
#! ================================================
#! begin:    ;;;  Menu Setup   ;;;
#! ================================================
#!
#!
#!
#(: ==== EXIT:ARB_00 was "Generic" for "Long-List" =================================================
#(: fx IF EXIT:ARB_00 || EXIT:ARB_ORG || EXIT:ARB_B4B || EXIT:ARB_T-6 ) || et al
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method: Install only a Two-Character "Id" into config-file
#(:      Re-Start MGR will check config, then build matching menu.lst
#(: sends:
#(: rationale:
#(: note :
#(:
#!   Fall-Thru Method 
#!
#(: =============================================================
#(: fx Build Short Menu   
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: Build-Short-Menu: 
#(: calls:
#(: method: 
#(:         ARB_00, KK, JJ, B5B, B64B, S1564, X64, MM, BW, T6, S7, X6, JF ]
#(:         Install only a Two-Character "Id" into new Menu.lst, 
#(:         and build with "default" selection. 
#(: sends:
#(: rationale:
#(: note : main run ( )   calls init: fx(Sbr_ARB_Init) to fetch configfile data.
#!
#! ====================================================
#! begin: Build Short Menu  
#! List of Abbreviated OS names: KK, JJ, B5B, S1564, X64, MM, BW, T6, S7, X6, JF, B4B
#! ====================================================
#!
#! BEGIN:  Build-Short-Menu []  IF  [ ARB_00, DBW, B64B, B4B, B5B, MM, BW, T6, KK, JJ, S1564, X64, S7, X6 ]  
if [ "$EXIT" = "ARB_00"  ] || [ "$EXIT" = "ARB_ORG"  ] \
|| [ "$EXIT" = "ARB_B4B" ] || [ "$EXIT" = "ARB_B5B" ] || [ "$EXIT" = "ARB_B64B" ] \
|| [ "$EXIT" = "ARB_J5J" ] || [ "$EXIT" = "ARB_M6M" ] || [ "$EXIT" = "ARB_B64B"  ] || [ "$EXIT" = "ARB_K-K"   ] \
|| [ "$EXIT" = "ARB_S-7" ] || [ "$EXIT" = "ARB_T-6" ] || [ "$EXIT" = "ARB_X64"   ] || [ "$EXIT" = "ARB_X708"  ] \
|| [ "$EXIT" = "ARB_I-I" ] || [ "$EXIT" = "ARB_S64" ] || [ "$EXIT" = "ARB_S1564" ] || [ "$EXIT" = "ARB_SLXSC" ] \
|| [ "$EXIT" = "ARB_F-F" ] || [ "$EXIT" = "ARB_Qk7" ] || [ "$EXIT" = "ARB_EOS"   ] || [ "$EXIT" = "ARB_SLK64" ] \
|| [ "$EXIT" = "ARB_N6N" ] || [ "$EXIT" = "ARB_N7N" ] || [ "$EXIT" = "ARB_N8N" ] \
|| [ "$EXIT" = "ARB_DBW32" ] || [ "$EXIT" = "ARB_DBW64" ] || [ "$EXIT" = "ARB_DVN9" ] \
|| [ "$EXIT" = "ARB_DVN9"   ] ; then
#!
#! ALL menu options are captured here !
#!
    n=0
    Sbr_Splash_It "[] Build  Menu []" "yellow" "black" "1.5"  
    Sbr_Sys_SDA_Only ": SDA Menu" # control: test "SDA" else  ReStart
    Sbr_Sys_KillProc   # Build Menu permission control 
    Sbr_Menu_ShortList    #  function at top of code
    export gcC3MConfigArbId="${gcC3MConfigArbId}"
    echo "${gcMgrArCfgIdd}" > "${gcMgrArbCfgFn}"  # config of menu
fi # END: Build Short Menu : ARB_00, KK, JJ, B5B, S1564, X64, MM, BW, T6, S7, X6, JF, B4B
#!
#! ================================================
#! ## end: #! ALL menu options are captured here !
#! ================================================
#! 
#!      
#!
#! ================================================
#! ## begin: Build Long Menu  #! NOT ACTIVE
#! ================================================
#!
#(: ==================================================================
#(: fx Build Long Menu    EXIT:ARB_ORG   #! NOT ACTIVE
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: Build-Long-Generic-Menu: 
#(: calls:
#(: method: 
#(:
#! #########################################################
#! EXIT:ARB_ORG
#~ if [ "$EXIT" = "ARB_ORG" ]  ; then 
    #~ n="0"
    #~ Sbr_Sys_SDA_Only    ": ARG_ORG_Long-Menu" # control: only run from  "SDA" && ReStart
    #~ #(: fx IF EXIT:ARB_OriginalMenu     # custom long "original" is generated.
    #~ export lcOsSubSplClrIfg="yellow"
    #~ export lcOsSubSplClrIbg="blue"  
#~ #! -D---
#~ /usr/lib/gtkdialog/box_splash -fg ${lcOsSubSplClrIfg} -bg ${lcOsSubSplClrIbg} -border true --center -close never -text "\
#~ .     MGR - Build 'Org' 'Long' Menu.lst
#~ .       Build+ReStart:  
#~ .       ${lcOsSubSplClrID}
#~ .      ${EXIT} = 'ARB_ORG' 
#~ .       !!!!!!!!!!!!!!!!!
#~ .                               "&
        #~ RETVAL=$?
        #~ GtkPid_Mnu_Box_SplashBOM=$!    
        #~ sleep 3
    #~ #!
    #~ Sbr_Menu_Org_LongList
    #~ kill ${GtkPid_Mnu_Box_SplashBOM}    2>/dev/console
    #~ # will do Simple Return to Caller
#~ fi # end: if [ "$EXIT" = "ARB_ORG" ] 
#!
#!
#! #####################################################
#! end: Menu Setup
#! #####################################################
#!
#!
#!
#!
#! ###########################################################
#! begin: Special
#! ###########################################################
#!
#(: ===========================================================
#(: fx IF EXIT:guiSrcBase64
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#(: fx IF EXIT:guiSrcBase64
if [ "$EXIT" = 'guiSrcBase64' ] ; then n=0  ;
    n=0
    Sbr_Sys_KillProc  # Base64 , ReStart
    Sbr_Dump_SRC_Base64
    Sbr_Cbx_ReStart 1   ### display
fi # end: "$EXIT" = 'guiSrcBase64'
#(!
#(:
#(:
#(: ====================================================================
#(: fx IF EXIT:guiMandelbrot
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ###########################################################
if [ "$EXIT" = 'guiMandelbrot' ] ; then n=0  ;
    n=0
    Sbr_Sys_KillProc
    Sbr_Utl_Mandelbrot  # build text Graphic, very slow build, in Xterm only. 
    Sbr_Cbx_ReStart 1 
fi # end: "$EXIT" = 'guiMandelbrot'
#!
#!
#!
#! #######################################################################
#! end: Special 
#! #######################################################################
#!
#!
#!
#! #######
#! begin: 
#! #######
#!
#(: ====================================================================
#(: fx IF EXIT:guiMainQUIT    #: ACTIVE
#(: called by: Main GUI
#(: param:
#(: purpose: Main Quit with trailer message.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :  Main Gui <button> will "Fall Thr" down to all "EXIT:gui???" routines. 
#(: note :  all "EXIT:gui???" routines will call "Sbr_???" written at top of Source Code.    
#(:
#! ###########################################################
if [ "$EXIT" = "guiMainQUIT" ]  ; then
    n=0
    #! Main Quit Green Button
    #! not called because main ( ) screen titling is quicker / more important.
    #! must clear two times because active XTerm screen data. 
    clear   #! clears twice from bottom half of Penguin Display
    clear   #! clears twice from bottom half of Penguin Display
    Sbr_ClearFlagsSystem "0"   ### no display
    lcMsgStr="=== MainQUIT ===" && Sbr_Str2DevTrm "${lcMsgStr}" "1" "7"
    lcMsgStr="[ '$EXIT' = 'guiMainQUIT+' ]" && Sbr_Str2DevTrm "${lcMsgStr}" "2" "7"
    lcMsgStr="---${gcSysDevDob}---" && Sbr_Str2DevTrm "${lcMsgStr}" "3" "7"
    lcMsgStr="=== MainQUIT ===" && Sbr_Str2DevTrm "${lcMsgStr}" "1" "7"
#! ############################################################
        #!
        #! Fall-Thru passes thru here via Main Quit Green Button
        #!
#! ############################################################
    #!
    Sbr_Splash_Pup  
    lcMsgStr="->->->  Hit 'Enter' to clear Terminal" && Sbr_Str2DevTrm "${lcMsgStr}" "3" "0"
    exit 0  
    #! IF Xterm, THEN IF ROX is running, THEN  MGR halts right here, in Xterm. 
    #! System has an orphaned routine (ROX) still on the stack.
fi
#! ft [EXIT:guiMainQUIT]
#!
#!
#!
#!
#(: ====================================================================
#(: fx IF EXIT:guiNoteBookWidget     #! NOT USED
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:  flip +/- gcNBW    #! NOT USED
#(: calls:
#(: method: MGR-8  does not use GTK "notebook" widget.
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################################
if [ "$EXIT" = 'guiNoteBookWidget' ] ; then  #! NOT USED
    n=0
    Sbr_Sys_KillProc 
    Sbr_Cbx_ReStart 1 
fi # end: "$EXIT" = 'guiNoteBookWidget'
#!
#!
#!
#! #####################################################################
#! begin: Bottom of MGR Fall-Thru _Trap 
#! #####################################################################
#!
#!
#(: ====================================================================
#(: fx IF EXIT=''   #  FALL-THRU trap for 'loose' code
#(: called by: Fall-Thru
#(: param:
#(: purpose:     FALL-THRU trap for 'loose' code
#(: calls:
#(: method:      function ft(EXIT='')
#(: sends:
#(: rationale:
#(: note :
#(:    Exit Splash in color
#! ###########################################################
#! function ft(EXIT='')
#! colorful splash  FALL-THRU trap for 'loose' code 
lcMsgStr="-------------------------------------" && Sbr_Str2DevTrm "$lcMsgStr" "2" "4"
lcMsgStr="->->->  FALL-THRU trap for 'loose' code  " 
Sbr_Str2DevTrm "$lcMsgStr" "2" "1"
Sbr_Str2DevTrm "$lcMsgStr" "2" "2"
Sbr_Str2DevTrm "$lcMsgStr" "2" "5"
#!
Sbr_ClearFlagsSystem  0   ### no display
Sbr_Splash_Pup
Sbr_Splash_Banner "*===Fall-Thru===Loose-Code===Quit===*"
#!
lcMsgStr="  " && Sbr_Str2DevTrm "$lcMsgStr" "2" "5"
lcMsgStr="<-<-<-  FALL-THRU trap for 'loose' code  " && Sbr_Str2DevTrm "$lcMsgStr" "2" "5"
lcMsgStr="-------------------------------------" && Sbr_Str2DevTrm "$lcMsgStr" "2" "5"
    echo " "
    echo "FALL-THRU has final standard 'exit 0'"
    echo "... Will Pop the Stack if Layered ..."
    echo " "
#! ### end:   "EXIT:QUIT" "EXIT:QUIT+"
#!
    gxmessage -title "${0}"  -name "${0}" -font bold -timeout 1  -fg yellow -bg darkred -center -wrap "
    <.<.<  Fall-Thru-Q.U.I.T. program >.>.>"
#!      
    sleep 1
    exit 0
    return
#!
#!
#!
#! ###################################
#! end: Bottom of MGR Fall-Thru 
#! ###################################
#!
#! that's all !
#! gae
#!
#!
#! ####################################
#! ### NOTES ##########################
#! ####################################
#!
#! =========================================================================
#! GTK is almost the same, across 22 Puppy Linux OX, but some differences.
#! "gcMrgOutAdj" memvar (etc)  tested against DISTRO_SPECS like this: 
#!      case "${gcSysDistroName}" in  
#!         "bionicpup64")      gcMrgOutAdj="false" ;;
#! MGR-8 +  does use BASH "pagebook" method. 
#! MGR-9 +  does use BASH "pagebook" method. 
#! MGR-10 + uses GTK NoteBook method for primary GUI , also BASH "pagebook". 
#!      Note: Debian BookWorm has a serious GTK formatting issue, but the code runs. 
#! "MGR 11" will replace the  MGR-10 GTK  "NoteBook" method 
#!              with the  BASH "PageBook" method as the basic GUI presentation method. 
#!          This is intended to work with Debian BookWorm Distros. 
#!
##! =========================================================================
#!
#! ##########
#!  Eagle-Cad
#!  https://mega.nz/folder/LOgVDahA#fBwQyz-er_iwzbRscN8_wA
#! ##########
#!
#! ************************************************************
#! some NOTES: 
#!
#! ************************************************************
#! PET install not required, 
#!      just place downloaded scripts into /root/my-applications and append PATH. 
#! *************************************************************************************
#!  
#!
#! --- 
#! Message Box Routines : 
#! ---
#! #:    lcMsgStr="=== ${gcMgrKey}==="
#! #:    gxmessage -bo -c -tim 3 -fn 'bold 10' -bg '#285577' -fg '#FFF' -bu '' $'\n\n  "'${lcMsgStr}'"  '
#!
#! #: Sbr_Box_Message :  
#! #: ... custom rewrite of gtkdialog Box_Help   by  GAE
#! #: ... used by 'HELP' , 'Distro', 'Proc', 'FAQ' 
#!
#! #: gxMessage : 
#! #: ...    used by: PUP, GUI, SRC, IMG, UPL, SYS. 
#! #: ...    expects plain text . 
#! #: ...    normally displays 45 char long, then wraps . 
#! #: ...    user mounse can expand line-length to 72++ .
#! "--- "
export gcColorReset="\\e[0m"
export gcColorString="$(trim "${string//$'\\e[0m'}")"
#!
join_by() {
    local arg arr=() sep="$1"
    shift
    for arg in "$@"; do
        if [ 0 -lt "${#arr[@]}" ]; then
            arr+=("${sep}")
        fi
        arr+=("${arg}") || break
    done
    printf "%s" "${arr[@]}"
}
jointox() {
x="$2"
for (( i=3; i <= $#; i++ )); do
    x="$x$1${!i}"
done
}
joinisx() {
sep=,
local x
jointox "$sep" "$@"
}
Sbr_Sys_ya3() {
n=0
liststr=""
for item in list
do
    liststr=$item,$liststr
done
LEN=`expr length $liststr`
LEN=`expr $LEN - 1`
liststr=${liststr:0:$LEN}
}
export -f Sbr_Sys_ya3
#(: =====================================================
#(: fx Sbr_fnEchoDateTime  # Not Used 
#(: called by: L:7174
#(: param:
#(: purpose: if system file is Not Found
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : 
#(: <variable>vWindow</variable>
#(: <input>Sbr_fnEchoDateTime</input>
#(: <action this-is-window="escape" signal="key-press-event" condition="command_is_true( [[ \$KEY_RAW = 0x9 ]] && echo true )">EXIT:exit</action>
#! ###########################################################
#! function Sbr_fnEchoDateTime() {   # NOT ACTIVE
#!   <input>Sbr_fnEchoDateTime</input>  in main gui ? developmental
#!   lcSysDts="`date +%y%m%d-%H%M-%S`"   
#!   echo "${lcGuiFrameTitle}...${lcSysDts}"
#! }
#! export -f Sbr_fnEchoDateTime
#
#! $ a=(1 "a b" 3)
#! $ b=$(IFS=, ; echo "${a[*]}")
#! $ echo $b
#! 1,a b,3
#!
#! #####################################################################
#! note   # Not Used 
    #! gxmessage -bo -c -tim 5 -fn 'bold 10' -bg '#285577' -fg '#FFF' -bu '' $'\n\n  A buttonless gxmessage  \n\n'
    #! #! gxmessage special
    #! lcMsgStr="=== ${gcMgrKey}==="
    #! gxmessage -bo -c -tim 3 -fn 'bold 10' -bg '#285577' -fg '#FFF' -bu '' $'\n\n  "'${lcMsgStr}'"  '
    #! lcMsgStr="=== PID: ${gcMgrBashPid}==="
    #! gxmessage -bo -c -tim 3 -fn 'bold 10' -bg '#285577' -fg '#FFF' -bu '' $'\n\n  "'${lcMsgStr}'"  '
    #! lcMsgStr="=== ${LOGNAME}==="
    #! gxmessage -bo -c -tim 3 -fn 'bold 10' -bg '#285577' -fg '#FFF' -bu '' $'\n\n  "'${lcMsgStr}'"  '
#!
#! find "$BACKUP_DIR" -type d -name "backup_*" -mtime +30 -exec rm -rf {} \;
#! #####################################################################
#! #####################################################################
