#!/bin/bash
#!  OK
#! rc.z_MGR.sh  ::: MGR-8.4.7
#! "Manager" for project development across 20 Puppy OS Distributions. 
#! all "cased, cloned, hacked" by gae, 240101 initially.
#! ***************************************************************************
#!  JV4J-A9YI-UJFX
#~ export gcSysDevDob="250113-0743"
#~ export gcSysDevDob="250114-1140"
#~ export gcSysDevDob="250115-1003"
#~ export gcSysDevDob="250116-0844"
#~ export gcSysDevDob="250116-2213"
#~ export gcSysDevDob="250117-1556"
#~ export gcSysDevDob="250122-0718"
#~ export gcSysDevDob="250123-1718"
#~ export gcSysDevDob="250125-1929"
#~ export gcSysDevDob="250126-1807"
#~ export gcSysDevDob="250127-2214"
#~ export gcSysDevDob="250128-1659"
#~ export gcSysDevDob="250130-0844"
#~ export gcSysDevDob="250131-0732"
#~ export gcSysDevDob="250131-1540"
#~ export gcSysDevDob="250201-0806"
#~ export gcSysDevDob="250202-0750"
#~ export gcSysDevDob="250203-0702"
#~ export gcSysDevDob="250206-0834"
#~ export gcSysDevDob="250207-0658"
#~ export gcSysDevDob="250209-1017"
#~ export gcSysDevDob="250211-0828"
#~ export gcSysDevDob="250212-1036"
#~ export gcSysDevDob="250213-0756"
#~ export gcSysDevDob="250214-1930"
#~ export gcSysDevDob="250215-1834"
#~ export gcSysDevDob="250216-1209"
#~ export gcSysDevDob="250217-1221"
#~ export gcSysDevDob="250217-1737"
export gcSysDevDob="250218-0710"
#!
#! 9850 lines, 
#! 401 K bytes
#!
#v2.0.0 there could be a save tmpfs->persistent-storage running...
#! while [ "`pidof snapmergepuppy`" ]; do sleep 1 ; done
#!
#! ***************************************************************************
#! 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" is current level of development: 
#!      with independent floating windows 
#!      with com+++++++++++++++++++++++++++++++++++++++++++pacted "PageBook" style screen. 
#!      "PageBook" used in order to 'fit' in the screen universally. 
#!      "GTK" function "notebook" not used in MGR-8
#! **********************************************************************************
#!
#! ==================================================================================
#! PET install not required, 
#! Puppy Linux automatically provides /root/my-applications
#!   just place downloaded script into /root/my-applications and append PATH.
#! ==================================================================================
#! **********************************************************************************
#!
#! **********************************************************************************
#! BASH is just command interpreter as per POSIX definition. 
#! GTK is a GUI library, and meant to be imported in actual programming languages. 
#! 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]
#! ***************************************************************************
#(: all "cased, cloned, hacked" by gae, 240101 initially.
#! ***************************************************************************
#! 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}"
#!
#! #######################################
#! # /usr/sbin   /asktosave_session
#! #######################################
#!
#! Change DISTRO bootup by rewriting portions of "menu.lst" and then ReBooting 
#! *****************************************************
#!
export gcSysNameBase="MGR"  #: used code as system label some 40 times. 
export gcMgrVer="8.4.7"     # -dev-1056"   # "v:#" 
#~ export gcMgrVerBase="${gcMgrVer}"  #! not used 
export gcMgrNameBaseAll="${gcSysNameBase}${gcMgrVer}"
export gcMgrVerID="${gcSysNameBase}${gcMgrVer} " # req for BakAllArcDts
export gcMgrVerTitle="Manager: ${gcMgrVer} "  # req for "System Gui" title with '"ooo-"'  gcMgrVerTitle  '"-ooo"'
export gcNameVer="${gcSysNameBase}${gcMgrVer}"  #! not used 

export gcMgrIdMe="JV4J-A9YI-UJFX-iso60"
export gcMgrDt="`date +%y%m%d-%H%M-%S`"
export gcMgrKey="${gcMgrIdMe}-${gcMgrDt}"
export gcMgrKey="${gcMgrIdMe}-`date +%y%m%d-%H%M-%S`"
export gcMgrIdMe="${0}_JV4J-A9YI-UJFX-iso60"
export gcMgrKey="${gcMgrNameBaseAll}--${gcMgrKey}"
export gcMgrIsoDate="..."
export gcDistroSymbol="..."
export gcDistroEOL="April 2029"
#! *****************************************************
#!
#! ************************************************************
#! PATH: 
PATH=$PATH:/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 
. /etc/rc.d/PUPSTATE      #  gather basic "STATE" of Puppy operating system 
#! ************************************************************

#! ######################################################################################
#~ /bin/echo -en "\\033[5G\\033[1;32m"***"\\033[1;31m"-MGR-"\\033[1;32m"***"\\033[0;39m" #! terminal 
#~ sleep 1
#! ######################################################################################

export gcToggleExampleX="true"

#!
#! example: DISTRO_NAME="BionicPup32"
export gcSysDistroName="${DISTRO_NAME}"

export GTKDIALOG=gtkdialog
#! *****************************************************
export gcMGRname="Manager" 
export gcMgrDevId="MGR"  
export gcMgrDevIdFull="MGR-8"  
#! *****************************************************
#! export gcMgrDevSubId=",,," # BXB    shows "Kernal#" 
#!      must be copy/paste from "DISTRO_SPECS, "PUPSAVE",  "PUPSFS", 
#!      given: 'sda1,ext4,/pup_UpupBXB-SDA/upupbbsave-BXB' ,  generate "BXB" 
#!
#! DISTRO-SPECS does not reveal ID string 
#!  PUPSFS='sda1,ext4,/pup_UpupB4B-SDA/puppy_upupbb_19.03.sfs'
#! PUPSAVE='sda1,ext4,/pup_UpupB4B-SDA/upupbbsave-B4B'
#!
export  gcMgrDevSubId="`echo -n "$PUPSAVE" | cut -f 3 -d '-'`"
#! *********************************************************
#! gcMgrVerAllreq for MAIN RUNNING Terminal Screen 
#! gcMgrVerAllfor First-Time-Running msg and ReStart msg and Pup Mode MODE msg and Sbr_Cbx_ReStart msg
export gcMgrVerAll="Manager:${gcMgrId}${gcMgrVer}" 
#! *********************************************************
#! MB Multi-Button  P.A.G.E. VERTICAL  deprecated. Not Used . 
export  gcOsSubId="VERT"    # "VERT" section deprecated.  To be removed. gae
#!
if [ 0 -eq 1 ] ; then
    lnDummy=0
fi # end: if [ 0 -eq 1 ]
#!
#! *******************************************************************************
#! Some System Data is NOT PROVIDED in all Puppy "DISTRO_SPECS" . 
#!  example of data not provided : gcOsIso="iso-bionicpup64-8.0-uefi : 19 Feb" 
#!  therefore Sbr_Dump_Sys cannot automatically present this specific "ISO" data. 
#! *******************************************************************************
#!
#! Debug controllers:
    #! set -xe       # Start - x e
    #! set +xe      # Stop  + x e
#!
#!
#(:  =======================================================================
#(:
#(:   "why" gtkdialog/box_help is used: 
#(:         gtkdialog/box_help will handle format and embedded color text codes.
#(:         MGR-8 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 each Code Module .
#(:  function Sys() : Main Code Modules, which call "Sbr" .
#(:  function Sbr()  : Sub Modules , called by "Main Code Modules". 
#(: 
#(: ==================================================
#(: 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
#(: ==================================================
#!
#! =============================================================================================
#! Margin Adjustment for MGR application. Developing Left-Right Center control 
#! for Main and Minor Gui Screens, to control different actions of 22 Linux Distros Installed. 
#! =============================================================================================
#! rationale: 
#!      GTK is almost the same, across 22 Puppy Linux OS, 
#!      but some differences have been found in GTK screen placement and "homogeneous" command. 
#!
#! rationale:  
#!  Each DISTRO may handle GTK graphics slightly differently. 
#!  Slight Variations make building a consistent graphic layout a problem. 
#! below, we present a method of control of "lateral placement" of GTK coding: 
#!  "adjustment" memvar are being tested against DISTRO_SPECS data, this way: 
#!      case "${gcSysDistroName}" in  
#!         "BookwormPup64")    gcMrgOutAdj="false" &&  gcMrgLAdj="false"  &&  gcMrgRAdj="false"  ;;
#!         "BionicPup32" )     gcMrgOutAdj="false" &&  gcMrgLAdj="false"  &&  gcMrgRAdj="false"  ;;
#!         "bionicpup64")      gcMrgOutAdj="false" &&  gcMrgLAdj="false"  &&  gcMrgRAdj="false"  ;;
#! the first several are implemented by filling in proper numbers, but the last 17 have not been filled.  
#! ------------------------------------------------------------
#! 
export gcMrgOutAdj="false"    # Left/Right OutEdge Margin icon, ? overall control. 
#!
#! goal: control this main-gui "Title" block to a centralized position on graphic layout, top line. 
#!                 <label>"'-MAIN--'"</label>
#!                 <label>"'-HELP--'"</label>
#!                 <label>"'-DOX--'"</label>
#!                 <label>"'-UTIL-'"</label>
#!                 <label>"'-VMB--'"</label>
#!                 <label>"'-Pages--'"</label> <action> "0"</action></button>
#!
#! before <label> "'-MAIN--'"</label>
export gcMrgLAdj="false"      # left end pad, before PageBook_Main_page-top, <label>"'-MAIN--'"</label>
#! after <label> "'-VMB--'  "</label>
export gcMrgRAdj="false"      # right end pad, after PageBook_Main_page-top, <label>"'-VMB--'"</label>
#!
#! Each different Puppy OS may have different GTK screen position controls, as "default" .  
#! adjustments to Left Margain, overall control 
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"   
#!
export gcMrgBit32="0"   # 32bit  
#!
#! 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"

#! === begin ============================================================
#!--- match dimensions of main screen with current OS via "DISTRO_NAME" 
#(: fx case     case "${gcSysDistroName}" in
#! ======================================================================

        case "${gcSysDistroName}" in

       "BionicPup32" )      
                 gcMrgOutAdj="false" &&  gcMrgLAdj="1"  &&  gcMrgRAdj="false"   
                 gcMrgBit32="1"  
                 gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
                 gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  

            #! info taken from DISTRO_SPECS     #!
            #! BionicPup32 Kernal 4 : B4B DISTRO_PUPPYDATE='Dec 2021'

            if [ "${DISTRO_PUPPYDATE}" = "Dec 2021" ] ; then  
                 export gcDistroSymbol="{B_4_B}"  #! ":K4" 
                 export gcMgrIsoDate="iso_B4B_bionicpup32-8.0+30-uefi-220407-2305"    #! 230603  #! 190314
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                 export gcDistroEOL=""
            fi

            #! info taken from DISTRO_SPECS     #! 
            #! BionicPup32 Kernal 5 : B5B DISTRO_PUPPYDATE='Dec 2023'

            if [ "${DISTRO_PUPPYDATE}" = "Dec 2023" ] ; then  
                 export gcDistroSymbol="{B_5_B}"  #! :K5'"
                 export gcMgrIsoDate="iso_BionicPup32-19.03-240602"   #! 240611
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
            fi

            ;;

        "bionicpup64")      gcMrgOutAdj="0"  &&  gcMrgLAdj="0"  &&  gcMrgRAdj="0"    
         gcMrgBit32="0"      && gcDistroSymbol="{_B-64-B_}"
         gcMrgL1Adj="0"  &&  gcMrgL2Adj="true"  &&  gcMrgL3Adj="true"  
         gcMrgR1Adj="0"  &&  gcMrgR2Adj="false"  &&  gcMrgR3Adj="false" 
            ;;

       "NoblePup32") 
                  gcMrgOutAdj="true"  &&   gcMrgLAdj="1" &&  gcMrgRAdj="0"  
         gcMrgBit32="1"      && gcDistroSymbol="(N-6-N)"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1" 

            #~ export gcDistroSymbol="N-32-N"
            export gcDistroEOL="April 2029"     #! Distro_PuppyDate='Feb 2024'

            ;;

       "BookwormPup32")
            gcMrgOutAdj="true" &&  gcMrgLAdj="1"  &&  gcMrgRAdj="true"   
         gcMrgBit32="1"      && gcDistroSymbol=":DBW-32:"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"   

            export gcDistroSymbol="B32W"
            export gcDistroEOL="231209"

            ;;

       "BookwormPup64")     gcMrgOutAdj="true" &&  gcMrgLAdj="1"  &&  gcMrgRAdj="true"   
         gcMrgBit32="0"      && gcDistroSymbol="DBW-64"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="0"
            export gcDistroSymbol="B-64-W"
            export gcDistroEOL="231210"
            ;;

        "tahrpup")          gcMrgOutAdj="true"  &&  gcMrgLAdj="true"  &&  gcMrgRAdj="true"    
         gcMrgBit32="1"     && gcDistroSymbol="T-6"
         gcMrgL1Adj="true"  &&  gcMrgL2Adj="true"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="0"  &&  gcMrgR2Adj="0"  &&  gcMrgR3Adj="0" 
            ;;

       "ManticPup32")            gcMrgOutAdj="true"  &&   gcMrgLAdj="1" &&  gcMrgRAdj="1"  
         gcMrgBit32="1"      && gcDistroSymbol="M-6-M"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1" 
            ;;

       "S15Pup64")          gcMrgOutAdj="true"  &&   gcMrgLAdj="1" &&  gcMrgRAdj="1"  
         gcMrgBit32="0"      && gcDistroSymbol="S1564"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1" 
            ;;
       "JammyPup32")        gcMrgOutAdj="false"  &&  gcMrgLAdj="false"  && gcMrgRAdj="false"   
         gcMrgBit32="1"      && gcDistroSymbol="J-J"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
       ;;

       "KineticPup32")      gcMrgOutAdj="false"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="1"      && gcDistroSymbol="K-K"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
       ;;

        "xenialpup64")      gcMrgOutAdj="false"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="0"      && gcDistroSymbol="X64"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
        ;;

        "ImpishPup32")      gcMrgOutAdj="false"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="1"      && gcDistroSymbol="I-I"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
        ;;

        "Slacko64 Puppy")   gcMrgOutAdj="false"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="0"      && gcDistroSymbol="S64"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
        ;;

        "UPupFF+D")         gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="1"      && gcDistroSymbol="F-F"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
        ;;

        "xenialpup")        gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="1"      && gcDistroSymbol="X708"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
        ;;

        "LxPupSc")          gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"   
         gcMrgBit32="1"      && gcDistroSymbol="SLxSc"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"   
            ;;
        "Quirky 7")         gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"   
         gcMrgBit32="1"      && gcDistroSymbol="Qk7"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"   
            ;;

           *)
         gcMrgOutAdj="true"   && gcMrgLAdj="true"  &&  gcMrgRAdj="true"   
         gcMrgBit32="0"      && gcDistroSymbol="-"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
            ;;
        esac
#! === end ==================================================================
#!--- 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  
#!         "BookwormPup64")         gcMrgOutAdj="'${true}'" ;;
#!         "bionicpup64")      gcMrgOutAdj="'${false}'" ;;
#!  gcMrgOutadj
#!  gcMrgLLLAdj
#!  gcMrgRRRAdj 
#! ------------------------------------------------------------
export gcMgrDevFirstRun="1"     # Not Used 
#!
export gcMgrDevID="M.G.R.EmGr.DblClk.MnxGen"    # Not Used
export gcMgrDevName="Manager..${gcDistroSymbol}..Embedded-Graphics..DblClk..PageS/Notes"
#!
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
#!
export gcBootOsHd="SDA"         # OS Hard-Drive, used in menu.lst build
export gcBootOsExe="${0}"       # OS Executable
#!
#!
#! ### 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 are written internal in the "MGR" source code.
#!
#! ************************************************************
#! 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" # Not Used 
#!
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" 
#! ################################################
#!
#!
#!
#(: ==========================================================================
#(: fx Sbr_Str2DevTrm  #! Standard  Terminal/devconsole display.
#(: 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   
#! Preferred for Terminal/console display.
#! # param:  "char string"  "color"  "margin" "Console-Terminal"
lcS2TStr=${1}   # ## STRING message
lcS2TClr=${2}   # ## COLOR name or number
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} ;; #: 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
#!

#(: ==================================================
#(: fx Sbr_Splash_Banner   # NOT ACTIVE 
#(: called by:  fx(FT_EXIT='CBXARS')
#(: param:
#(: purpose:
#(: calls:        Sbr_Splash_Banner "$lcMsgStr" "32m" "35m" & sleep .5
#(: method:
#(: sends:
#(: rationale:
#(: note : 
#(:
#~ #! ####################################################
#~ function Sbr_Splash_Banner() {   # NOT ACTIVE 
#~ #!   'banner' flag, "message" is floating in system.   
    #~ n=0
    #~ /bin/echo -e "\\033[0G\\033[1;${3}*** \\033[1;${2} ${lcMsgStr} \\033[1;${3}***\\033[0;39m" 
#~ } #
#~ export -f Sbr_Splash_Banner
#!
#!
#!
#(: ==================================================
#(: fx Sbr_Splash_Flip3    #! ACTIVE 
#(: called by:  
#(: param:
#(: purpose:   three splashes, flipping three colors. 
#(: calls:      
#(: -----------------------------------------
#(: 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=$!  ### kill splash
sleep ${2}
#--- flipping colors ---yel/blk-----------------------------------------------------------------------
/usr/lib/gtkdialog/box_splash -fg yellow -bg purple -border true  -close never -text " ${lcParam1} " &  
    GtkPidFlip2=$!  ### kill splash
sleep ${2}
#--- flipping colors ---red/yel---------------------------------------------------------------------
/usr/lib/gtkdialog/box_splash -fg red -bg yellow -border false  -close never -text " ${lcParam1} " &  
    GtkPidFlip3=$!  ### kill splash
sleep ${2}
#--- flipping colors ---yel/grn-----------------------------------------------------------------------
/usr/lib/gtkdialog/box_splash -fg yellow -bg green -border true  -close never -text " ${lcParam1} " &  
    GtkPidFlip4=$!  ### kill splash
sleep ${2}
#--- flipping colors ---yel/blu-----------------------------------------------------------------------
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border true  -close never -text " ${lcParam1} " &  
    GtkPidFlip5=$!  ### kill splash
sleep 1
#-----------------------------------------------------------------------------------------------------
    kill ${GtkPidFlip1} 
    kill ${GtkPidFlip2} 
    kill ${GtkPidFlip3} 
    kill ${GtkPidFlip4}    
    kill ${GtkPidFlip5}    


} #
export -f Sbr_Splash_Flip3
#!
#!
#!
#!
#(: ==================================================
#(: fx Sbr_Splash_It    # Active
#(: Standard Splash_It : param "Str" "fg" "bg" "sleep" "opt"
#(: Standard Splash_It : param "Msg" "yellow" "blue" "3" ""
#(: called by:  
#(: param:
#(: purpose: 
#(: method:  
#(: sends:
#(: rationale:
#(: note : 
#! ##################################################
function Sbr_Splash_It() {   # ACTIVE
    #!  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}
        # kill ${GTKPID_Cold_Splash}
    #!
    lcMsgOpt="$5"   # standard is do the kill 
    if [ ! $5 ] ; then  # IF   No Option,  THEN   kill pid ( compatible / normal)
        kill ${GTKPID_Cold_Splash}
        #!   if NOT flag, then KILL.  This is Normal.
    fi    
    #!
    } #
    export -f Sbr_Splash_It
    #!


#(: =====================================================
#(: fx Sbr_Splash_Quit
#(: called by: Main GUI "QUIT Program"
#(: param:
#(: purpose: "QUIT" program has banner.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : called 8666, 8733 
#(:
#! #####################################################
function Sbr_Splash_Quit() {  # ACTIVE
        #! Standard End of Source Banner 
        echo
        echo
        echo "*======== MGR_Main-Quit ========*"  
        lcMsgStr0=$1
        #!
        echo
        echo
        lcMsgStr="SDT*===->->-> ${lcMsgStr0} ===*SDT"    # 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="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_Quit


#!
#!
#(: =====================================================
#(: fx Sbr_Test_Not_32bit
#(: called by: 
#(: param:
#(: purpose: test if system is NOT 32 bit
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#! ###########################################################
function   Sbr_Test_Not_32bit() { 
    if [ "${gcMrgBit32}" = "1" ] ; then     #! running 64 bit mode
        Sbr_Splash_It "32bit={gcMrgBit32}" "yellow" "green" "3"  
        Sbr_Splash_It "Must be 32 bit to run this function " "yellow" "red" "3"  
        Sbr_Cbx_ReStart 1
    fi 
} # end 
export -f Sbr_Test_Not_32bit


#!
#(: =====================================================
#(: 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
    Sbr_Splash_It " ERROR: ${1}  File Not Found."  "yellow" "black" "5"   #! -D---
} #! end 
export -f Sbr_FnNotFound

#!
#!
#(: =====================================================
#(: 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
#!



#!
#! ### PageBook_VMB #############################################################
#!
#! ## top ###  MB Multi-Button  P.A.G.E. VERTICAL  #  "pageVMB"  "PageVert"
#! === _MB_ === PageBook_VMB === DEVELOPMENT ONLY ================================
#! === _MB_ === PageBook_VMB === DEVELOPMENT ONLY ================================
#! === _MB_ === PageBook_VMB === DEVELOPMENT ONLY ================================
#! 
#!
#(: ================================================================
#(: fx Sbr_S2F1_MI    #! Internal   Loop=1    #!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() {   #! 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}

Sbr_Splash_It ": DONE : SMP1_MI :"  "yellow" "red"  ""         #! -D---
sleep 2
kill ${GTKPID_Cold_Splash}
#! ========================
 
} #! end
export -f Sbr_S2F1_MI    
#!
#!
#!
#(: ================================================================
#(: fx Sbr_S2F3_MI  # Internal   Loop=3   #! 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() {    #! ACTIVE     # Internal 
    #! called by Sbr_MB_ALL   
    n="0"

#! ========================

Sbr_Splash_It  ":3: SMP3_MI :==="  "black" "yellow"  ""         #! -D---
ionice -c 1 snapmergepuppy    
sleep 1
kill ${GTKPID_Cold_Splash}

Sbr_Splash_It " :2: SMP3_MI :==="  "black" "yellow"  ""         #! -D---
ionice -c 1 snapmergepuppy    
sleep 1
kill ${GTKPID_Cold_Splash}

Sbr_Splash_It " :1: SMP3_MI :==="  "black" "yellow"  ""         #! -D---
ionice -c 1 snapmergepuppy    
sleep 1
kill ${GTKPID_Cold_Splash}

Sbr_Splash_It ": DONE : SMP3_MI :"  "yellow" "red"  ""         #! -D---
sleep 2
kill ${GTKPID_Cold_Splash}
#! ========================
} # 
export -f Sbr_S2F3_MI    





#! #################################################################
#!
#(: ================================================================
#(: fx Sbr_MB_sfs_load    # ACTIVE  
#(: called by:  To Do: call direct exteernal 
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_sfs_load() {    # ACTIVE
    #! called by   Sbr_MB_All L633  
    #! called by  Sbr_MB_jwd   
    n=0
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="/usr/sbin/sfs_load"
    #! lcFnRun
    [ -f ${lcFnRun} ]  &&  ${lcFnRun}     # Run  SFS Loader App
} #
export -f Sbr_MB_sfs_load
#!
#!
#(: ================================================================
#(: fx Sbr_MB_jwd    # ACTIVE  
#(: called by:  
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_jwd() {     # ACTIVE
    #! called by Sbr_MB_JWD  JWM Desk
    n=0
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="/usr/local/jwmdesk/jwmdesk"
    #!
    [ -f "$lcFnRun" ]  &&  ${lcFnRun}   # jwmdesk
    #!
} #
export -f Sbr_MB_jwd
#!
#(: ================================================================
#(: fx Sbr_MB_JWD    # ACTIVE  
#(: called by:  
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_JWD() {      # ACTIVE
    #! alternate call
    n=0
    Sbr_MB_jwd
} #
export -f Sbr_MB_JWD
#!
#!
#!
#(: ================================================================
#(: fx Sbr_MB_ppr    # ACTIVE  
#(: called by:  
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_ppr() {     # ACTIVE
    #! called by Sbr_MB_All     
    n=0
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.

    lcFnRun="/usr/local/bin/pprocess"   # pprocess
    #! lcFn
    [ -f "$lcFnRun" ]  &&  ${lcFnRun}
} #
export -f Sbr_MB_ppr
#!
#!
#(: ================================================================
#(: fx Sbr_MB_rox    # ACTIVE  
#(: called by:  
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_rox() {      # ACTIVE
    #!  calls system "ROX" file manager. 
    n=0
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    # called by ROX with no parameter.  Tahr_6.06 skips the ReStart, runs .rox "OK". 
    # dropped the ReStart, unnecessary complicaton. 
    # interaction with ROX code. 
    # Sbr_Cbx_ReStart &     ### must continue thru ReStart to hit . rox 
    Sbr_ClearFlagsSystem  ""  #: clear lockfile, etc,  so that Start/ReStart can run.
    . rox  &
    Sbr_Cbx_ReStart 1   # & ### must continue thru ReStart 
} # 
export -f Sbr_MB_rox
#!

#!
#(: ================================================================
#(: fx Sbr_MB_p_mnt    # ACTIVE  
#(: called by:  
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_p_mnt() {     # ACTIVE
    #! called from Page UTIL 
    n=0
    Sbr_Splash_It "Sbr_MB_p_mnt" "yellow" "red" "3"
    Sbr_Sys_KillProc        # gui-P-MntInt
    Sbr_Sys_pMount_All "1"      ### Sbr -> internal
} #
export -f Sbr_MB_p_mnt

#!
#!
#(: ================================================================
#(: fx Sbr_MB_u_mnt    # ACTIVE  
#(: called by:  
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_u_mnt() {    #  ACTIVE
    n=0
    Sbr_Splash_It "Sbr_MB_u_mnt" "yellow" "red" "3"
    Sbr_Sys_KillProc        # gui-U_MntInt
    Sbr_Sys_uMount_All "1"      ### Sbr -> internal
} #
export -f Sbr_MB_u_mnt
#!
#!
#!
#!
#!
#!
#!
#!
#!
#! === _MB_ === PageBook_VMB === GUI  ALL ==========================
#! === _MB_ === PageBook_VMB === GUI  ALL ==========================
#! === _MB_ === PageBook_VMB === GUI  ALL ==========================

#(: ========================================================
#(: fx Sbr_Vmb_Config       # Developmental # NOT ACTIVE
#(: called by : Main_GUI, ft(EXIT:Sbr_MB)
#(: purpose :  Simple Sample of Buttons
#(: receives param : none
#(: returns :
#(: note: Page VMB msg window is DEVELOPMENTAL 
#(:     BASH eval will not initiate the "action"
#(:     GTK gtdialog will activate the "action"
#(:       bash will import the "key-selection"
#(:       bash will execute the "key-selection" 
#(:
#(:     gtkdialog/box_help will handle format and embedded color text codes.
#(:     xmessage will NOT handle format and color embedded text codes.
#!
#! ########################################################################
function Sbr_Vmb_Config() {  # ACTIVE   
    #! pageV pageVert, config method not developed yet
    n=0
    #~ Sbr_MB_gui_xml      # call the Page-VMB XML GUI code.   # pageV pageVert
    #! 
    #! === build config code from {Sbr_ARB_Init} ===
    lcMbCfgFn="/0-MGR_MB_RetVal.cfg"
    lcMbCfgId=`cat ${lcMbCfgFn}`   #:  extract {Fn} to lcVar
    #!
    #! ===================================
    Sbr_Splash_It "!!! TRACE: ${lcMbCfgFn} delivered 
                    {{ ${lcMbCfgId} }} <<<" "yellow" "purple" "3"  # two line splash Config Delivered
    #! ===================================
    #! Returned with token filename lcMbCfgFn
    #! Express (execute) the FnTarget as a "command' 
    lcMsgStr="${lcMbCfgId}"
    ${lcMbCfgId}    # Express the ".filename" and "Sbr_filename"  "As-Is" ! 
    #!
    #! ===================================
    #! the token filename can refer to a "local" SubRoutine or "external" executble. 
    #!
    # test: if "." is first char of ConfigID,  so to run on external external function
    #       rc.z_MGS.sh ; rc.z_CTX.sh ; rc.z_S2F.sh ; SFS-load ; JWDesk ; pProcess ; Cold-Tar-Backup ; 
    # test: if "EXIT" is first char of ConfigID, so to Fall-Thru to internal "if [ $EXIT' routine
    #       
    # test: else simply call the "configID" ( it is internal to this program, and recognizable as a 'function()' )
    # 
    # Sbr_MB must embed key format, then export key, MGR will import key, execute key. 
    #       "."Fn is a real, external, direct file.  Fn must exist in visible system space. 
    #       "Sbr_" is a local SubRoutine.  Special "Sbr_MB_???" routines are written to handle this.   
    #       "EXIT" is a Fall-Thru "If [ $EXIT" routine.  ( method Not Used ).
    #! IF MB_call has been executed, THEN program will be running that target Fn code.
    #! ELSE   Fall-Thru to this standard Sbr_Cbx_ReStart.
    #!
    #! Sbr_Vmb_Config  
    #! Stay In This  "Sbr_Vmb_Config"  Gui Page 
    #!  Sbr_Cbx_ReStart 1
    #!
 } #  end: Sbr_Vmb_Config   Multi-Button
export -f Sbr_Vmb_Config     # pageV pageVert
#!
#! === _MB_ === PageBook_VMB === GUI  ALL ==========================
#! === _MB_ === PageBook_VMB === GUI  ALL ==========================
#! === _MB_ === PageBook_VMB === GUI  ALL ==========================


#!
#!
#! ===Build_Menu.lst_=======================================================
#! ## begin: MenuMain_Echo   
#! ## MenuStandard  
#! ## 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 ######### List by DATE #"
        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.218 > iso602---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: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 {{=_N6N_=}}---< Noble-Numbat k:6 >-----------K:6_32- 240400  \n  \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-SDA"
        echo "  kernel /pup_UpupN6-${gcBootOsHd}/vmlinuz  psubdir=/pup_UpupN6-${gcBootOsHd} pmedia=usbflash pfix=fsck"
        echo "  initrd /pup_UpupN6-${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 -------------------_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 ------------------_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  -----------------------_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-S${gcBootOsHd}DA/initrd.gz"

        echo "# #####################################{ XenialX7.08 }"
        echo "title 14 { X708}----Xenial-7.08  -----------------------_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 ---------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 "###################################{ Jammy Jellyfish +D+22.04 }"
        echo "title 16 { 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 "# #####################################{ Quirky April 7 }"
        echo "title 17 { Quirky-7 }--- Quirky-7 ---beta---------------_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 "# #####################################{ SLK64 --- }"
        echo "title 18 { SLK64 }--- SLK-64 --------------------K:5.10 _64- 230400    \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_SLK64-${gcBootOsHd}/vmlinuz    psubdir=/pup_SLK64-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_SLK64-${gcBootOsHd}/initrd.gz"
        echo "##################################{ Debian Book Worm  K:6 64bit }"
        echo "title 19 {==_DBW64_==}- Dpup-BW-64-4fs - 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 "##################################{ Debian Book Worm K:6 64bit }"
        echo "title 20 {{==DBW==}}--< 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 
        echo "************************************************"
        echo "####################################{ B5B-${gcBootOsHd} }"
        echo "title    { B5B-4fs}------- UpupJJ+D+22.04 L6 ---K:5-----4fs \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"
        echo "    initrd /pup_UpupB5B-${gcBootOsHd}/initrd.gz"
        echo "# #####################################{ Quirky April 140 }"
        echo "title    { 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 "# ###################################{ Noble Numbat N7N-K:6-32bit }"
        echo "title    {==N7N==}--< Noble-7-Numbat >-- N7N ----------K:6-32- 240400\n  \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-SDA"
        echo "  kernel /pup_UpupN7-SDA/vmlinuz  psubdir=/pup_UpupN7-SDA pmedia=usbflash pfix=fsck"
        echo "  initrd /pup_UpupN7-SDA/initrd.gz"
        echo "###################################"
#!
} #  Any Other Puppy Distro Calls can be listed without Numbers. 
export -f Sbr_Menu_Standard_Selection_Header
        #! echo "# ### Devuan Not Ready for Prime Time ###########{ pup_Devuan }"
        #! echo "title  17 { Devuan X }--- pup_Devuan-SDA   -------- \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"
#!
#!
#!
#! ====================================================
#! ## 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      
    #! 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 "# ****************************************************************************"
} #
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_LongList    #: Active
#(: called by: main gui 
#(: purpose: (MGR) Build Menu Long format. 
#(: receives param:
#(: returns:
#(: note:
#(:
#! #####################################################################
function Sbr_Menu_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 lcOsSubFn="/mnt/home/menu-orig.lst"  # NOT USED 
    export lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-yel.xpm"
    export lcOsSubSplClr="red"
    export lcOsSubTout="33" # very long wait , then default = ?
    #!
    # 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 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 'Large' Menu.lst:
.  ${lcOsSubSplClrID}
.  ${EXIT} = menu.lst ${gcC3MOsSubId}
.       
.                                       "&
        RETVAL=$?
        GtkPid_Mnu_Box_Splash=$!    # capture PID
        sleep 3
        #! =============================================================
        (
        echo "#!/bin/bash"
        #~ echo "#=========================================="
        echo "# OS=${lcOsSubId} : Menu System LONG"
        echo "# DTS=${gcSysDts} : date generated"
        echo "# DTS=${gcSysDevDob} : date generated"
        #~ echo "#======================================================"
        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 "#======================================================"
        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       light-blue/black  cyan/black    "
        #!               "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} } --- Long Menu --- /MARK-KLM1   ===  on { ${gcBootOsHd} } -------"
    echo "  find --set-root --ignore-floppies --ignore-cd /MARK-KLM1"
    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 # function  #  calls LONG 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    " "\_"
    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 "#####################"
    echo "title    " "\_"
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    " "\_"
    echo "root (hd0,0)"
    echo "# #######################################################"
    echo "title ==={ P-M }  Any Parted-Magic }---"
    echo "  lock"
    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    " "\_"
    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"
        #~ lcOsSubSplClrStr="color green/black  yellow/red       light-blue/black  cyan/black    "
        #~ #!               "color green/black  yellow/red       cyan/black    light-blue/black"
    echo "# #######################################################"
    #~ echo "title    "
    #~ echo "root (hd0,0)"
    echo "title    "
    echo "root (hd0,0)"
    echo "title    "
    echo "root (hd0,0)"
        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 "# *"
    Sbr_Menu_Standard_End # function  
    echo "# ### END Long menu.lst ######################################"
    ) > /mnt/home/menu.lst
    #!
    kill ${GtkPid_Mnu_Box_Splash}
    #!
    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' Menu.lst:
.         ( DONE )
. ${EXIT} = menu.lst ${gcMgrArCfgIdd} 
.     
.                                   "&
        GtkPid_Mnu_Box_Splash=$!    # capture PID
        sleep 3
        kill ${GtkPid_Mnu_Box_Splash} # after return
        #
        #=============== now
        Sbr_Cbx_ReStart  1
        #=============== now
    #
} #
export Sbr_Menu_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() {  # 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. 
       #!
       #! declare Preset Var. 
        lcOsSubClrBase="/boot/grub" # 'base' allows easy change of "menu.lst" background colors
        lcOsSubTout="22"    # prep Menu.lst long "Time-Out" for default "menu.lst" selection.
        #! 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_00" ] ; then    # EXIT:ARB_00 # short 4 option menu of major OS.
                        lcOsSubDef="0"   # "00" default position-selection in "menu.lst"  
                        lcOsSubId="ARB"
                        gcMgrArCfgIdd="ARB_00"
                        lcOsSubDir="Main-00-Generic-SDA" 
                        lcOsSubFn="/mnt/home/menu.lst00"   # Not Used for "00" 
                        lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-yel.xpm"
                        lcOsSubSplClrBg="red"
                        lcOsSubTout="33"   # very long wait time
        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="3"   # 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_N6N    # short menu.lst
        if [ "$EXIT" = "ARB_N6N" ] ; then
            lcOsSubDef="4" 
            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_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_N7N    # short menu.lst
        if [ "$EXIT" = "ARB_N7N" ] ; then
            lcOsSubDef="0" 
            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 developmental
        if [ "$EXIT" = "ARB_N8N" ] ; then
            lcOsSubDef="0" 
            lcOsSubId="Nobel8"
            gxcMgrArCfgIdd="Nobel8"
            lcOsSubDir="pup_UpupN8-SDA"
            lcOsSubFn="/mnt/home/menu.lstNobel8"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="blue"
            lcOsSubSplClrBg="purple"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_DBW    # short menu.lst
        if [ "$EXIT" = "ARB_DBW" ] ; then
            lcOsSubDef="20"   # default position-selection
            lcOsSubId="DBW"
            gcMgrArCfgIdd="BookWormDeb"
            lcOsSubDir="pup_DpupBW-SDA"
            lcOsSubFn="/mnt/home/menu.lstDpupBW"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="orange"
            lcOsSubSplClrBg="purple"
            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_J5J    # short menu.lst
        if [ "$EXIT" = "ARB_J5J" ] ; then
            lcOsSubDef="16"  # 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="Quicky7"
            lcOsSubDir="pup_Quirky-7-SDA"
            lcOsSubFn="/mnt/home/menu.lstQuirky"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="red"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi

        #! ======================================================================

#! ===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=$!
        #-----------------------------------------------------------------------
        #-----------------------------------------------------------------------
        # Fall Thru 
        #-----------------------------------------------------------------------
        #-----------------------------------------------------------------------
        #! ===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_============================================
        (
        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 "#  ShortMenu" 
        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 # function  # calls SHORT 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 "  lock"
        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 >>> 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 3
        kill ${GtkPid_Mnu_Box_Splash}
        chmod +x "/mnt/home/menu.lst"
        n=0
        #!
        export gcE3Rcontrol=${EXIT} # maintain this value
        #!
        Sbr_Splash_It "Menu Build S2F3_MI"  "yellow" "red" "3" 
        Sbr_S2F3_MI   #! Save2File 
        #!
        Sbr_Splash_It "Menu Build ReBOOT"  "yellow" "red" "3" 
        Sbr_Cbx_ReBoot "1"  #! Then ReBoot so to load the "new menu.lst"
        #!
} #
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: 4764
#(: purpose: 
#(: receives param:
#(: returns:
#(: note:
#(:
#! ###############################################################################################
function Sbr_CDW_Embedded_Dialog_Colors() { # ACTIVE     in   main 
    #!  install in environment ;  setup color constants during main ( )
    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
#(: receives param:
#(: returns:
#(: note:
#(:
#! #########################################################
function Sbr_CDW_EGI_Long() { # ACTIVE  === initiated during "Long" vs "Short" Image development. 
#!  CDW EGI Long Images 
#!
#! # Title "gcEmGaImgFnTrgTxtMaster" declared/assigned in Header. 
lcEmGrImg="=== ${gcEmGaImgFnTrgTxtMaster} ==="   # Title for each Gui section.
touch ${gcEmGaImgFnTrgTxtMaster}   #! MUST touch initz and redate file to enable writing all IMG files. 
echo "### EmGrImg Master File ### $lcEmGrImg" > ${gcEmGaImgFnTrgTxtMaster}
#!
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   c #00FF00",
                #~ "2   c #F00F0F",
                #~ "3   c #2222FF",
                #~ "4   c #907072",
                #! 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   c #00FF00",
                #~ "2   c #F00F0F",
                #~ "3   c #2222FF",
                #~ "4   c #907072",
                #! 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:    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: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
                #!
                #! 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
                #!
                #! 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
                #! 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" ###########################################################
                #~ lcEmGrImgSrc="/tmp/EmGr-img-Check-bluXyel.svg"
                #~ echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                #~ echo "Check-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="150" width="150">
                  #~ <path style="fill:'yellow';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
                #! 
                #! 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" ###########################################################
                #~ lcEmGrImgSrc="/tmp/EmGr-img-Check-90-grnXred.svggrnXred.svg"
                #~ echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                #~ echo "Check-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="150" width="150">
                  #~ <path style="fill:'green';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
                #!


        #! #################################################################
        #! 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
#(:  purpose: CheckIF:  if Master-IMG.txt Images are in /tmp  , then do not write again, else write files.
#(: 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 
#(: 
#(: todo: 240115 process will ALWAYS call for LONG Image format. 
#(: therefore: cull all references to SHORT Image format files.
#(:
#! ##############################################################################
function Sbr_CDW_EGI_CheckIF() {   # ACTIVE   in   main 
    #! main () # Install Long Image format under control of flag "gcEmGaImgFnTrgTxtMaster"
    n=0
    #!
    if [ ! -f   ${gcEmGaImgFnTrgTxtMaster} ] ; then     # IF not ImgMaster , then build EGI files in /tmp
                n=0   
                Sbr_CDW_EGI_Long   # CheckIF   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 
#! #######################################################
#!
#!
#! ##########################################################
function Sbr_Msg_Windows_code() { # ACTIVE 
    #! MARKER
    n=0
    #  Only a "begin group" Marker
} #
export -f Sbr_Msg_Windows_code
#!
#! ############################################################
#! function Sbr_Msg_DC_Windows_ : documentation 
#! 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_VMB_code_window_text=     # ACTIVE
#~ export msg_DC_VMB_code_window_text='
  #~ tooltip-text="PageVert / VMB_code_development Method: 
#~ #: note:  Multi-Button module in PageVert
#~ #: fx (Sbr_MB_gui_xml) 
#~ #: called by : Main-GUI-Dialog via EXIT:guiMB ???
#~ #: purpose :  Build/Present  Multi-Button  array 
#~ #: - - -    of functional calls to sub-routines
#~ #: - - -    which are experimental system programs.
#~ #: returns : 
#~ #:  Selected Button generates a Token FileName
#~ #:  Token FileName is sent as a string echo into config-file
#~ #:  example for ROX system file manager program:
#~ #: IF GTK <action>echo "Sbr_MB_rox" > /0-MGR_MB_RetVal.cfg </action>  
#~ #: THEN BASH will :
#~ #:  - - - load/cat/read the file.cfg 
#~ #:  - - - then run the local function  Sbr_MB_rox() 
#~ #:  - - - which will execute the ROX system file manager.
#~ #: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
#~ #:  READ the CODE in the Vertical MB page section .
#~ #:  Sbr_MB_gui_xml  eval  will not initiate action
#~ #:  Sbr_MB_gui_xml writes action results into a file.cfg
#~ #:  BASH code  will import/cat/read the file.cfg
#~ #:  BASH code  will call the <action> subroutine.
#~ #:  READ the CODE in the Vertical MB page source.
#~ #:  READ the CODE  to see the specific method.
#~ #:  This method avoids conflict between BASH and GTK .
#~ #: 
#~ #:  P_mnt + CTB-SL + _mnt   
#~ #: will 
#~ #:      UpMountAll, 
#~ #:      CTB Scan All HardDrives, 
#~ #:      DownMount all. 
#~ #: _____________________________________________________
#~ "
#~ <variable>msg_DC_VMB_code_window</variable>
#~ </window>'
#! ############################################################
#! function msg_DC_VMB_code_window=   # tool-tip # ACTIVE
#~ export msg_DC_VMB_code_window='
#~ <window title="msg_DC_VMB_code_window=---"
#~ visible="true" ><frame>
#~ <text editable="false" use-markup="true" xalign=".5"><label> "<span color='"'blue'"'> <b>'${msg_DC_VMB_code_window_text}'</b> </span> " </label></text>
#~ <hbox>
    #~ <button>
        #~ <label>"Clear the window "</label>
        #~ <input file>"/tmp/EmGr-img-hash-grn.xpm"</input><height>48></height> <width>48</width>
        #~ <action function="closewindow">msg_DC_VMB_code_window</action>
    #~ </button>
#~ </hbox></frame>
#~ <variable>msg_DC_VMB_code_window</variable>
#~ </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>'
#~ export msg_DC_Quick_Hash_BigBlu_window # Small, preferred button msg 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_ TESTING
export gcBig90yel="/tmp/EmGr-img-Check-90-redXyel.svg"
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_window     # ACTIVE
msg_DC_Quick_window='
<window     
    title="--------msg_dc_quick_window"
    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>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>46></height> <width>46</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_C3C_window_text="----------------------- 
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  #  ACTIVE
msg_DC_BakOneAll_window='
<window title="msg_DC_BakOneAll_window---"
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_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='"'green'"'> "iso_BookwormPup32-23.11-B4_v12_K:6.1_64__231210"</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
#! ############################################################
#~ Sbr_Box_Message "=== DISTRO === via 'Sbr_Box_Message' > /tmp/box_help + box_help"
#!
#!
#!
#!
#! [-1-]  Floating Msg Window ###   #! REQUIRED Msg Window ===================
#! ### MAIN Page 1 <button> #########################################
#! ### MAIN Page 1 <button> #########################################
#! ### MAIN Page 1 <button> #########################################

function msg_DC_LxgenMain_window() { #! Marker
n=0   
} # end

#! === pagaeM ==================================================================
msg_DC_LxgenMain_window_text="===_Main_page1_!_==="
msg_DC_LxgenMain_window_0='
<window title="msg_DC_LxgenMain_window_0_pageMAIN_!_"
    space-expand="false" 
    resizable="true" 
    visible="true" >
<frame>
<text editable="false" use-markup="true" xalign=".5"><label> "<span color='"'red'"'> <b>'${msg_DC_LxgenMain_window_text}'</b> </span> " </label></text>
    <vbox>

            <button visible="1"   tooltip-text="width-50-space>'=============================='" <height-request="1">
                    <label>"'!_________!________!_________!_________!_____!____'"</label>
                    <action>'lx-Main-Page-:spacer'</action> </button>

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

            <button visible="1"  tooltip-text="'EXIT:guiCtxB1B2Rs_Main-Page_CTX_SaveDATA_'"  
                has-focus="true" width-request="100" height-request="35" >
                <input file> "'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>27</width><height>27</height>
                <label> " '*_Master_BakOne_BakAll_CTX_ReSTART_*' " </label>
                    <action function="'launch'">msg_DC_Quick_window</action>
                    <action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiCtxB1B2Rs'</action> </button>

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

            <button visible="1"  tooltip-text="'EXIT:guiCtxB1B2Rb_Main-Page_CTX_SaveDATA_'"  
                has-focus="true"  width-request="100" height-request="35" >
                <input file> "'/tmp/EmGr-img-jug-blu0yel.svg'"</input><width>13</width><height>13</height>
                <label> " '*_BakOne_BakAll_CTX_ReBOOT_*' " </label>
                    <action function="'launch'">msg_DC_Quick_window</action>
                    <action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiCtxB1B2Rb'</action> </button>

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

            <button visible="1"  tooltip-text="'EXIT:guiCtxB1B2Rq_Main-Page_CTX_SaveDATA_'"  
                has-focus="true"  width-request="100" height-request="35" >
                <input file> "'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>13</width><height>13</height>
                <label> " '*_BakOne_BakAll_CTX_ReQUIT_*' " </label>
                    <action function="'launch'">msg_DC_Quick_window</action>
                    <action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiCtxB1B2Rq'</action> </button>

                <hseparator width-request="15"></hseparator>

                <button visible="1" tooltip-text="#---guiCTB-SLX-RQ___
   BakAll_Auto_CTB-SLX__UP_[Scan]_DN__+ReQuit."  width-request="100" height-request="35" > 
                    <input file>"'/tmp/EmGr-img-jug-blu0yel.svg'"</input><width>33</width><height>33</height>   
                    <label>"'{{_BakAll_CTB-SLX_RQ_}}'"</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-RQ'</action>   </button>

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

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

            <button   visible="1"   tooltip-text="''" has-focus="false" width-request="100"  height-request="11"> <label> "" </label> 
                       <action>'top-CBX'</action>       </button>

            <hbox visible="1" homogeneous="false">
            <hbox homogeneous="0">

                <hseparator width-request="90"></hseparator>

                 <hseparator width-request="20"></hseparator>
                    <checkbox  active="'$CbxB1'">  <label>'BakOne'</label>  <variable>CBXB1</variable>  </checkbox>
                    <checkbox  active="'$CbxB2'">  <label>'BakAll'</label>  <variable>CBXB2</variable>  </checkbox>
                    <checkbox  active="'$CbxPxb'">  <label>'{PXB}'</label>  <variable>CBXS2F</variable>   </checkbox>
                    <checkbox  active="'$CbxRs'">   <label>'ReStart'</label>  <variable>CbxRs</variable>   </checkbox>
                    <checkbox  active="'$CbxRb'">  <label>'ReBoot'</label>  <variable>CbxRb</variable>  </checkbox>  
                    <checkbox  active="'$CbxRq'">  <label>'ReQuit'</label>  <variable>CbxRq</variable>  </checkbox>
                <hseparator width-request="60"></hseparator>

            </hbox>
                <hseparator width-request="170"></hseparator>
            </hbox>

             <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 function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
               <action>'EXIT=CbxApply'</action>
                </button>
              </hbox>

             <vseparator height-request="7"></vseparator>

            <button   visible="1"   tooltip-text="''" has-focus="false" height-request="11"> <label> "" </label> 
                       <action>'top-BackUp'</action>       </button>
            <hbox homogeneous="true" visible="1" width-request="100" >
                <button label="'===_BackUp-One_/_PXB_/_BackUp-All_Tool-Tip-==='"
                    visible="true"  has-focus="false" >
                    <action function="'launch'">msg_DC_BakOneAll_window</action> 
                    <action function="'closewindow'">msg_DC_BakOneAll_window</action>  </button>
            </hbox>
 
        <hbox>
            <hseparator width-request="44"></hseparator>

        <hbox homogeneous="false">

            <hseparator width-request="112"></hseparator>
            <button visible="1"  has-focus="false" height-request="22"  xalign=".5">  
               <input file>"'/tmp/EmGr-img-Check-redXred.svg'"</input><width>"25"</width><height>"25"</height>
               <label>"''"</label><action>'0'</action> </button>

            <hseparator width-request="30"></hseparator>
            <button tooltip-text="'123-top'" has-focus="false" width-request="7"  height-request="7" xalign=".5"  >
                <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>35</width><height>35</height>   
                <label>""</label> <action>'CBXVMB-red'</action> </button>
            <hseparator width-request="30"></hseparator>
 
            <button  visible="1"  tooltip-text="'OneDts'"  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="'guiPXB_ion_RS'" >
                <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-Internal}" </label><action>'EXIT:guiPXB_ion_RS'</action> </button>

            <button  visible="1"  tooltip-text="'AllDts'"  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>

                    <hseparator width-request="30"></hseparator>
            <button tooltip-text="'quit_7x35'" has-focus="false" width-request="7" xalign=".5"  >
                <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>35</width><height>35</height>   
                <label>""</label> <action>'CBXVMB-red'</action> </button>
                    <hseparator width-request="30"></hseparator>
            <button visible="0" has-focus="false" height-request="13"  xalign=".5"  tooltip-text="P4-/tmp/EmGr-img-apple-redyel.svg" >
                <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="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="112"></hseparator>
        </hbox>
        <hseparator width-request="23"></hseparator>

        </hbox>


            <vseparator height-request="11"></vseparator>

            <button visible="1" tooltip-text="''" has-focus="false" height-request="13"> <label> "" </label> 
                <input file icon="gtk-select-color" ></input>   
                <action>'C3C-Tool-Tip'</action> </button>

            <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 function="'closewindow'">msg_DC_C3C_window</action>
                <action>'C3C-Tool-Tip'</action> </button>
            </hbox>
            <hbox homogeneous="true">
                <button tooltip-text="EXIT:CBXARB:ReBoot" >
                   <input file>"'/tmp/EmGr-img-apple-redblu.svg'"</input><width>"25"</width><height>"25"</height>
                   <label> '_C3C+S2F+ReBoot'  </label>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'xclosewindow'">msg_DC_Quick_window</action>
                   <action>'EXIT:CBXARB'</action> </button>
            </hbox>

                <vseparator height-request="11"> </vseparator>

                <button   visible="0" has-focus="false" height-request="3"> <label> "" </label> 
                    <input file icon="gtk-select-color" ></input>   <action>lxAction:P123-bot</action> </button>
 
            <button>
                <label>"'Clear-MAIN-Window'"</label>
                <action function="closewindow">msg_DC_LxgenMain_window_0</action>    </button>
    </vbox>
</frame>
<variable>msg_DC_LxgenMain_window_0</variable>
</window>'
export msg_DC_LxgenMain_window_0   #! REQUIRED Msg Window ===================
#! ### MAIN Page1 <button> #########################################
#!
#!


#!
#!
#! [-2-]  Floating Msg LxgenDox Window    
#! REQUIRED Msg Window ===================
#! ### DOX Page 2 <button> #########################################
#! ### DOX Page 2 <button> #########################################
#! ### DOX Page 2 <button> #########################################

function msg_DC_LxgenDox_window() { #! Marker
n=0   
} # end
    
#! === pageDOX =================================================================
msg_DC_LxgenDox_window_text="===_DOX_Page2_!!_==="
msg_DC_LxgenDox_window_0='
<window title="msg_DC_LxgenDox_window_0_pageDOX_!!_"
    space-expand="false" 
    resizable="true" 
    visible="true" >
<frame>
<text editable="false" use-markup="true" xalign=".5"><label> "<span color='"'red'"'> <b>'${msg_DC_LxgenDox_window_text}'</b> </span> " </label></text>
<vbox>

            <button visible="1"   tooltip-text="width-50-space>'==================================================='" <height-request="1">
                <label>"'!_________!________!_________!_________!_____!____'"</label>
                <action>'Dox-top'</action> </button>

            <button visible="0" ><input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>12</width><height>5</height><action>"P3-spacer"</action> </button>
            <button   visible="1" has-focus="false" > <label> "" </label> 
                <input file icon="gtk-select-color" ></input> <action>'lxAction:Dox-top'</action> </button>

            <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>'EXIT:guiDumpHLP'</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>'EXIT:guiDumpProc'</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>'EXIT:guiDumpFAQ'</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_SRC_Source_'"</label>
                    <action>'EXIT:guiDumpSrc'</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: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>
            </vbox>

            <hbox homogeneous="true">
                <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>
            </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 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  tooltip-text="'=-EXIT:_DISTRO_guiBackGround-=':only-launch, only PageDOX, 250"   has-focus="false">
<label>
"'D'
'i'
's'
't'
'r'
'o'
'-'
'-List'"
</label>    

        <action>'EXIT:gui_Dxstro_Window'</action> 
        </button>
</hbox>

    <button><input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>15</width><height>5</height><action>"P3-spacer"</action> </button>

    <button>  <label>" 'https://github.com' "</label><action function="closewindow">msg_DC_LxgenDox_window_0</action>    </button>

    <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>

   <button>
        <label>"'Clear-DOX-Window'"</label>
        <action function="closewindow">msg_DC_LxgenDox_window_0</action>    </button>

</vbox>
</frame>
<variable>msg_DC_LxgenDox_window_0</variable>
</window>'
export msg_DC_LxgenDox_window_0   
#! 
#!
#!



#!
#! [-3-]  Floating Msg Window #! REQUIRED Msg Window ===================
#! ### UTIL Page 3 <button> #########################################
#! ### UTIL Page 3 <button> #########################################
#! ### UTIL Page 3 <button> #########################################

    # msg_DC_LxgenUtil_window_0
    #! ### /root/my-applications/LxDxstro_.jpg ###
    #! ### /mnt/home/pup_UpupMM-SDA/LxDxstro_.jpg ###

function msg_DC_LxgenUtil_window() { #! Marker
n=0   
} # end

#! =======================================================================
msg_DC_LxgenUtil_window_text="===_Util_Page3_!!!_==="
msg_DC_LxgenUtil_window_0='
<window title="msg_DC_LxgenUtil_window_0_pageUTIL_!!!_"
    space-expand="false" 
    resizable="true" 
    visible="true" >
<frame>
<text editable="false" use-markup="true" xalign=".5"><label> "<span color='"'red'"'> <b>'${msg_DC_LxgenUtil_window_text}'</b> </span> " </label></text>
<vbox>
    <vbox>
        <vseparator height-request="13" > </vseparator>
        <vbox visible="1">

            <hbox homogeneous="false" visible="1">
                <hseparator width-request="3"></hseparator>
                 <button    tooltip-text="UTIL: EXIT:guiS2F1 : internal">
                    <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="17"></hseparator>
                <button visible="1"  has-focus="false" height-request="13"  xalign=".5"  
                    tooltip-text="System_EXIT:guiPCB_ion_RS__BackUp_SaveDATA__ReStart" >
                    <input file>"'/tmp/EmGr-img-Check-90-redXyel.svg'"</input><width>35</width>  <height>35</height>
                            <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <label> "'{-PCB-RS-Internal}'" </label>
                    <action>'EXIT:guiPXB_ion_RS'</action></button>
                <hseparator width-request="17"></hseparator>
                <button    tooltip-text="UTIL:EXIT:guiS2F3 : internal">
                        <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 homogeneous="0" visible="1">
                <hseparator width-request="3"></hseparator>
                 <button    tooltip-text="UTIL: EXIT:guiS2F1 : internal">
                        <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_Sys_pMount_All'</action>  </button>
                <hseparator width-request="7"></hseparator>
                <hseparator width-request="7"></hseparator>
                <button    tooltip-text="UTIL:EXIT:guiS2F3 : internal">
                        <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="322"></hseparator>
            </hbox>

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

            <button visible="1" label="" has-focus="false" height-request="11"> 
                <action>'top-CTX-external'</action> </button>

            <vbox>
                    <button visible="1" label="{_Dependencies_/root/my-applications_}" has-focus="false" width-request="100" height-request="35"> 
                        <action>'_Dependencies_'</action> </button>
                    </vbox>
          
           <vseparator  visible="1" height-request="13" > </vseparator>

            <hbox visible="1" homogeneous="false">
                <hseparator width-request="15"></hseparator>
                <button visible="1" tooltip-text="'guiCTB52'">
                    <input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>15</width><height>15</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="15"></hseparator>
                <button visible="1" tooltip-text="'guiCTB-SL_4.1_auto-scan-list'">
                    <input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>15</width><height>15</height>   
                    <label>'{=_CTB-SL_4.1=}'</label>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                        <action>'EXIT:guiCTB-SL'</action>  </button>
                <hseparator width-request="15"></hseparator>
                <button visible="1" tooltip-text="#---guiCTB-SLX-RQ___
   BakAll_Auto_CTB-SLX__UP_[Scan]_DN__+ReQuit." > 
                    <input file>"'/tmp/EmGr-img-jug-blu0yel.svg'"</input><width>33</width><height>33</height>   
                    <label>"'{{_BakAll_CTB-SLX_RQ_}}'"</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-RQ'</action>   </button>
                <hseparator width-request="125"></hseparator>
            </hbox>

            <vseparator height-request="15" > </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="0">
            <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="22"></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> " { 'MGS-8_Project_Simple-Ext' }  " </label>
                <action>'EXIT:guiMGS-8'</action>      </button>

            <hseparator width-request="154"></hseparator>
            </hbox>
        </vbox>
    
            <vseparator height-request="7" > </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="'-Apples-'" 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>
            <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="127" > </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="27" > </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="5"> <action>"'Check: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>'select-Big_90'</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>'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>'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="33" > </hseparator>

            <button     tooltip-text="'Check-111-redXblu'" ><input file>"'/tmp/EmGr-img-Check-111-bluXred.svg'"</input><width>63</width><height>63</height>
                <label> "''" </label> <action>"'Check:81'"</action> </button>
             <button    tooltip-text="'Check-111-redXgrn'" ><input file>"'/tmp/EmGr-img-Check-111-grnXred.svg'"</input><width>63</width><height>63</height>
                <label> "''" </label> <action>"'Check:82'"</action> </button>
            <button     tooltip-text="'Check-111redXyel'" ><input file>"'/tmp/EmGr-img-Check-111-yelXred.svg'"</input><width>63</width><height>63</height>
                <label> "''" </label> <action>"'Check:83'"</action> </button>
            <button     tooltip-text="'Check-111-yelXred'" ><input file>"'/tmp/EmGr-img-Check-111-redXyel.svg'"</input><width>63</width><height>63</height>
                <label> "''" </label> <action>"'Check:83'"</action> </button>

          <hseparator width-request="33" > </hseparator>
 
             <button     tooltip-text="'Check-redred'" ><input file>"'/tmp/EmGr-img-Check-redred.svg'"</input><width>33</width><height>33</height>
                <label> "''" </label><action>"'Check:13'"</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>"'Check:14'"</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>"'Check:15'"</action> </button>
            <button     tooltip-text="'Check-blublu'" ><input file>"'/tmp/EmGr-img-Check-blublu.svg'"</input><width>33</width><height>33</height>
                <label> "''" </label><action>"'Check:16'"</action> </button>

           <hseparator width-request="100" > </hseparator>
            </hbox>

        <button visible="1" label="" has-focus="false" height-request="5"> <action>lxAction:0</action> </button>

    </vbox>

    <button>
        <label>"'Clear-UTIL-Window'"</label>
        <action function="closewindow">msg_DC_LxgenUtil_window_0</action>    </button>

</vbox>
</frame>
<variable>msg_DC_LxgenUtil_window_0</variable>
</window>'
export msg_DC_LxgenUtil_window_0   #! REQUIRED Msg Window ===================
#! ############################################################
#! ### UTIL Page3 <button> #########################################
#!
#!


#!
#!
#! [-4-]  Floating Msg Window for orig MultiButton VERT 
#! ###################################################################
#! ### VERT Page <button> ###
#! ### VERT Page <button> ###
#! ### VERT Page <button> ###

    #! tooltip-text="PageVert / MB_Method  
    #! msg_DC_LxgenVmb_window_text="===_Vmb_Page_==="        
    #! msg_DC_LxgenVmb_window='
    #!
    #! Sbr_Vmb_Config  calls  Sbr_gui_MB_Dialog
    #! ### /root/my-applications/LxDxstro_.jpg ###
    #! ### /mnt/home/pup_UpupMM-SDA/LxDxstro_.jpg ###

function msg_DC_LxgenVmb_window() { #! Marker
n=0   
} # end

#! ==================================================
function Sbr_DC_LxgenVmb_window_tool() {
    echo "msg_DC_LxgenVmb_window_tool"
  gxmessage -name "===pageVmb-Tool-Tip===" -fg blue -bg lightyellow  -center  -wrap  "
: _PageVert / VMB_code_development Method: 
: note:  Special Page for Development
: _____________________________________________________
: fx (Sbr_MB_gui_xml) 
: called by : Main-GUI-Dialog via LxgenVmb_window   EXIT:guiVMB
:   <action function='launch'>msg_DC_LxgenVmb_window_0</action> 
: purpose :  Build/Present  Multi-Button  array 
: - - -    of functional calls to sub-routines
: - - -    which are experimental system programs.
: returns : 
:  Selected Button generates a Token FileName
:  Token FileName is sent as a string echo into config-file
:  example for ROX system file manager program:
: IF GTK <action>echo 'Sbr_MB_rox' > /0-MGR_MB_RetVal.cfg </action>  
: THEN BASH will :
:  - - - load/cat/read the file.cfg 
:  - - - then run the local function  Sbr_MB_rox() 
:  - - - which will execute the ROX system file manager.
: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
:  READ the CODE in the Vertical MB page section .
:  Sbr_MB_gui_xml  eval  will not initiate action
:  Sbr_MB_gui_xml writes action results into a file.cfg
:  BASH code  will import/cat/read the file.cfg
:  BASH code  will call the <action> subroutine.
:  READ the CODE in the Vertical MB page source.
:  READ the CODE  to see the specific method.
:  This method avoids conflict between BASH and GTK .
: 
:  P_mnt + CTB-SL + U_mnt   
:  will 
:      UpMount All  HardDrives, 
:      ColdTarBak + Scan All  HardDrives, 
:      DownMount ALL  HardDrives, 
: _____________________________________________________
"
} # end 
export -f  Sbr_DC_LxgenVmb_window_tool
#!
#! ====== pageVmb =======================================================================
msg_DC_LxgenVmb_window_0='
<window title="msg_DC_LxgenVmb_Vertical_window_0_!!!!_"
    width-request="122"
    height-request="777"
    space-expand="true" 
visible="true" >
<frame>
<text editable="false" use-markup="true" xalign=".5"><label> "<span color='"'red'"'> <b>'===VERT_Vmb_Page4_!!!!_==='</b> </span> " </label></text>

<vbox>


    <vbox homogeneous="true">
        <vseparator height-request="5" > </vseparator>
        <hbox>
            <hseparator width-request="33" ></hseparator>

                <button tooltip-text="'special_double-Icon_jug-redxyel_w7w35'" has-focus="false" width-request="7" xalign=".5"  >
                    <input file>"'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>35</width><height>35</height>   
                    <label>""</label> 
                    <action>'VMB-yellow-jug'</action> </button>
            <hseparator width-request="11" ></hseparator>

            <vbox>          
                <hbox>                                  
                    <vbox>

                        <vbox homogeneous="true" visible="$gcToggleExampleX">
                            <button>
                                   <label>Visible button-1x</label>
                                   <variable>'toggleExample1'</variable>
                                   <action>xmessage "Button 1X clicked"</action>
                            </button>                       
                            <button>
                                   <label>Visible button-2x</label>
                                   <variable>'toggleExample2'</variable>
                                   <action>xmessage "Button 2x clicked"</action>
                            </button>                       
                            <button>
                                   <label>Visible button-3x</label>
                                   <variable>'toggleExample3'</variable>
                                   <action>xmessage "Button 3x clicked"</action>
                            </button>                       
                        </vbox>

                    </vbox>

                    <text> <label>":comment:"</label> </text>

                    <togglebutton active="true">
                               <label>ToggleButton</label>
                               <action>if true show:'toggleExample1'</action>
                               <action>if false hide:'toggleExample1'</action>
                               <action>if true show:'toggleExample2'</action>
                               <action>if false hide:'toggleExample2'</action>
                               <action>if true show:'toggleExample3'</action>
                               <action>if false hide:'toggleExample3'</action>
                    </togglebutton>
                    <hseparator width-request="33" ></hseparator>
                </hbox>
            </vbox>

        </hbox>


    </vbox>

    <vbox homogeneous="true">

        <hseparator width-request="11" ></hseparator>

        <button visible="1" tooltip-text="<action>Sbr_DC_LxgenVmb_window_tool</action>"  has-focus="false"  xalign=".5" >
            <input file>"'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>15</width><height>15</height>   
            <label>'+Tool-Tip+'</label>
            <action> Sbr_DC_LxgenVmb_window_tool </action> 
        </button>

                    <button visible="0" tooltip-text="'=-EXIT:_DISTRO_guiBackGround-='"   has-focus="false">
                        <label>"'_Tool-Tip_'"</label>   <action>'EXIT:gui_Dxstro_Window'</action>  </button>

        <button> <label>"'_Local_S2F1_'"</label>
            <input file>"'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>15</width><height>15</height>   
            <action>echo 'Sbr_S2F1_MI' > /0-MGR_MB_RetVal.cfg </action>  
            <action>'Sbr_S2F1_MI'</action>    
            </button>

        <button> <label>"'_Local_S2F3_'"</label>
            <input file>"'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>15</width><height>15</height>   
            <action>echo 'Sbr_S2F3_MI' > /0-MGR_MB_RetVal.cfg </action>  
            <action>'Sbr_S2F3_MI'</action>    </button>

        <button> <label>"'_External_Sfs_Load_'"</label>
            <input file>"'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>15</width><height>15</height>   
            <action>echo Sbr_MB_sfs_load > /0-MGR_MB_RetVal.cfg </action>  
            <action>'Vmb_sfs_load' </action>    </button>

        <button> <label>"'_External_JWD_'" </label>
            <input file>"'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>15</width><height>15</height>   
            <action>echo 'Sbr_MB_jwd' > /0-MGR_MB_RetVal.cfg </action>  
            <action>'Vmb_jwd' </action>    </button>

        <button> <label>"'_External_{-ROX-}'"</label> 
            <input file>"'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>15</width><height>15</height>   
            <action>echo 'Sbr_MB_rox' > /0-MGR_MB_RetVal.cfg </action>  
            <action>'Vmb_rox' </action>    </button>

        <button   tooltip-text="_External_CTB_UP_Scan_DN_External_" > 
            <input file>"'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>15</width><height>15</height>   
            <label>"'{_External_CTB-SLX_}'"</label>
            <action>echo '/root/my-applications/rc.z_CTB-SLX.sh' > /0-MGR_MB_RetVal.cfg </action>  
           <action>'Vmb_CTB-SLX' </action>    </button>
  
        <hseparator width-request="11" ></hseparator>
    </vbox>

    <vbox visible="1">
        <hseparator width-request="11" ></hseparator>
        <button>
            <label>"'Clear-VMB-Window'"</label>
            <action function="closewindow">msg_DC_LxgenVmb_window_0</action>    </button>
    </vbox>

</vbox>
</frame>
<variable>msg_DC_LxgenVmb_window_0</variable>
</window>'
export msg_DC_LxgenVmb_window_0   #! REQUIRED Msg Window ===================
#! ############################################################
#! ### VERT Page 4 <button> #########################################

#!
#! #######################################################
#! REQUIRED Msg Window ===================
#! END:     Msg_Windows :  Independent  Floating  Pages 
#! END:     Msg_Windows :  Independent  Floating  Pages 
#! END:     Msg_Windows :  Independent  Floating  Pages 
#! #######################################################
#!
#!
#!
#!
#!
#!
#! ###_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_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_##################################################################
function Sbr_Cbx_ReStart() {   # ACTIVE 
    #! for Check-Box ARB_ReStart a simple 'warm' restart 
    n=0
     #! if called by guiROX with no parameter  # Run ROX Filer App # NOT USED 
    if [ ! "${lcPupRamObjMsg}" ] ; then   #  IF NOT file,  THEN this is First-Time-Run
        #!
        if [ $1  ] ; then # No Param = control Splash
            Sbr_Splash_It  "${gcMgrVerAll} ReStart " "blue" "black" "1"     #! -D---   First-Time-Running-Messsage
         fi # end: [ $1 ne "0" ] ; then
        #!
    fi
    #!
    #!  for ReStart, retain this embedded images file, so quicker. 
    #!   !!! rm -f ${gcEmGaImgFnTrgTxtMaster}   #! image files master file 
    Sbr_ClearFlagsSystem  ""  #: clear lockfile, etc,  so that ReStart can run.
    #! This is "ReStart"   
    . ${gcZeroRun}      #: $ ZERO   # will run $0 / ReStart fresh .
    #!
    Sbr_FnNotFound
    #! 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 :
#(:
#! ###_CBX_################################################
function Sbr_Cbx_ReBoot() {   # ACTIVE
    #! for Check-Box ARB_ReBoot  for Simple for "wm"reboot
    n=0
    #
    lcMsgStr="Sbr_Cbx_ReBoot___"
    Sbr_Splash_It "${lcMsgStr}"  "yellow" "green"  "1"         #! -D---
    Sbr_Splash_It "${lcMsgStr}"  "yellow" "black"  "1"         #! -D---
    Sbr_Splash_It "${lcMsgStr}"  "yellow" "red"  "1"         #! -D---

        #! Tahr might roll into a call to "wmpoweroff" . 
        #~ Sbr_Splash_It "=== [ system call ] 'reboot' ==="  "blue" "red"  "3"         #! -D---
        #~ reboot   
        #! TAHR will "poweroff", as "vmpoweroff", possible FileNotFound error. 

    #! Locate current OS ReBoot code. 
    lcFnRun="/usr/bin/wmreboot"    # original wmreboot link to wmexit
    if [ -f "${lcFnRun}" ]  ; then    # special copy 
        Sbr_Splash_It "[1] ${lcFnRun}"  "black" "yellow"  "3"         #! -D---
        rm -f ${gcEmGaImgFnTrgTxtMaster}    #! image files master file 
        ${lcFnRun}  && ${lcFnRun}  && exit
    fi
    #!                
    lcFnRun="/etc/rc.d/rc.z_wmreboot"   # "/etc/rc.d/rc.z_wmreboot"
     if [ -f "${lcFnRun}" ]  ; then    # rc.z_wmreboot
        Sbr_Splash_It "[2] ${lcFnRun}"  "black" "yellow"  "3"         #! -D---
        rm -f ${gcEmGaImgFnTrgTxtMaster}
        ${lcFnRun}  && ${lcFnRun}  && exit
    fi
    #!
    lcFnRun="/etc/rc.d/rc.z_wmexit"   # "/etc/rc.d/rc.z_wmexit"
     if [ -f "${lcFnRun}" ]  ; then    # rc.z_wmexit
        Sbr_Splash_It "[3] ${lcFnRun}"  "black" "yellow"  "3"         #! -D---
        rm -f ${gcEmGaImgFnTrgTxtMaster}
        ${lcFnRun}  && ${lcFnRun}  && exit
    fi
    #! final call for "reboot" 
    Sbr_Splash_It "[X] :::  ReBOOT  File NOT Found ! ::: " "red" "black"  "3"         #! -D---
    Sbr_Splash_It "::::::  will call 'reboot' ::::::" "red" "black"  "3"         #! -D---
    #! above search is because Not All Distros have implemented "reboot" same way. 
    #! may not be a valid system call in Tahr , Tahr will "wmpoweroff"
    #! Tahr is different: "ReBoot" will ??? "wmPowerOff"
    reboot  
    #!
    sbr_FNotFound    #! error control. 
    #! 
} #
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 :
#(:
#! ###_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_It "${lcMsgStr}"  "yellow" "green"  "1"         #! -D---
    Sbr_Splash_It "${lcMsgStr}"  "yellow" "black"  "1"         #! -D---
    Sbr_Splash_It "${lcMsgStr}"  "yellow" "red"  "3"         #! -D---
    sleep 1
    #!
    poweroff
    #!
} #
export -f Sbr_Cbx_ReQuit
#!
#!
#(: ======================================================================
#(: 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  for Simple for "halt"
    n=0
    #
    lcMsgStr="Sbr_Cbx_ReHALT___BASH_halt_"
    Sbr_Splash_It "${lcMsgStr}"  "yellow" "green"  "1"         #! -D---
    Sbr_Splash_It "${lcMsgStr}"  "yellow" "black"  "1"         #! -D---
    Sbr_Splash_It "${lcMsgStr}"  "yellow" "red"  "3"         #! -D---
    sleep 1
    #!
    halt
    #!
} #
export -f Sbr_Cbx_ReHalt
#!
#!
#! #######################################################
#! 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_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. 
#~ lcParam=$1   # "1" will enable ReStart 
# if [ $gcSysKillProc -eq 1 ] ; then  # sets up a Sbr_Button_Only as a "stub" .
if [ ! $gcSysKillProc ] ; then  # sets up a Sbr_Button_Only as a "stub" .
    #! lcMsgStr="Kill Process "
    Sbr_Splash_It "! Kill Procss____STUB called  --- ! ---____" "yellow" "red"  "5"         #! -D---
    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_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
#(:
#! ############################################################
function Sbr_ClearFlagsSystem() {   # ACTIVE
    #! for System
    n=0
        rm -f "${MGR_LockFile}"  ### this is "MGR_LockFile" ###  but not E3R  CBX
        rm -f "/tmp/snapmergepuppy-error"  ### this is SMP flag ,  Not Used
        rm -f "/tmp/box_help"       ### remove the lingering temp file.
        rm -f "/tmp/box_source"       ### remove the lingering temp file.
        rm -f "${MGR_BackUpStatus}"
        gcMGRConfigArbIdd=""        ### cleared for 'next reboot' Menu Selection
    /bin/echo " " > /dev/console
} #
export -f Sbr_ClearFlagsSystem
#!
#!
#(: =====================================================================
#(: fx Sbr_ClearFlagsQuit
#(: called by:
#(: param:
#(: purpose: Clear Quit Flags at "QUIT" program
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : some flags are still hard-code ; ie, LockFile , BackUpStatus
#(:
#! ############################################################
function Sbr_ClearFlagsQuit() {   # ACTIVE
    #! for QUIT
    n=0
#!
if [ ! $1  ] ; then   # display active
       Sbr_Splash_It  "Clear Flags Quit" "orange" "purple" "1"
fi # end: [ $1 = "1" ]
#!
    rm -f "${MGR_LockFile}"  ### this is "MGR_LockFile"    ###  but not E3R  CBX
    rm -f "${MGR_TouchCBXstatus}" # ## CBX applied flag must linger for GUI     # Carry-Over
    rm -f "${MGR_BackUpStatus}" # ## CBX applied  flag must linger for GUI      # Sbr_ClearFlagsQuit
    rm -f "${MGR_ReStart_flg}"  # ## MGR initial Re-ReStart to init GEANY       # Sbr_ClearFlagsQuit
    rm -f "/tmp/MGR_Page_Control.flg"
    /bin/echo " " > /dev/console
#!
} #
export -f Sbr_ClearFlagsQuit
#!
#!
#!
#!
#(: ======================================================================
#(: 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, to terminal, runs OK !
#(:
#! ############################################################
function Sbr_Utl_Mandelbrot() {  # ACTIVE
    n=0 # ALWAYS install a stub, so 'function' is legit code
    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
#!
#!
#!
#!
#!
#(: #############################################################################
#(: fx Sbr_Box_Message    # Simple Message sbr based on gtkdialog box_help
#(: called by :
#(:    GuiHLP+  to  fx(Sys_Box_HLP)  to  Sbr_Box_Message
#(:    GuiFAQ+  to  fx(Sys_Box_FAQ)  to  Sbr_Box_Message
#(:
#(: fx Sbr_Box_Message  
#(: receives param : Header$1 and loads '/tmp/box_help' for Top-Edge Window Title. 
#(:
#(: fx Sbr_Box_Message  
#(: 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  
#(:   usage :
#(:   HEADING is a short "title bar" description.
#(:   XML code is custom written to format "/tmp/box_help".
#(: returns:
#(:
#(: fx Sbr_Box_Message  
#(: 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.
#(:
#(: fx Sbr_Box_Message  
#(: 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.
#(: 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   # SPECIAL: internal hack on gtkdialog box_help, rewrite by gae, 240101
#(: used by "Hlp" , "Distro", "Proc", "Faq"
#(:
#(: gxMessage   Display Information:
#(:     expects plain text .
#(:     displays 45 char long, then wraps.
#(:     line-length expands to 72++
#(: 
#! ###############################################################
function Sbr_Box_Message() {  # ACTIVE #! rewrite by gae, 240101
#!  for HELP and FAQ
#
n=0
#(:   "case and hack"  rewrite based on "box_help"  by  gae, 240101
#(:   which allows author to change the "lead-in" XML code

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')'</label>
    </button>
  </hbox>
</vbox>
</window>'
#
gtkdialog --center -p Box_MessageXML    # assumes '/tmp/box_help'    #! -D---
#
} #
export -f Sbr_Box_Message
#! ACTIVE   for HELP and FAQ
#!
#!
#!
#(:===========================================================
#! begin: Up Pmount       
#(:===========================================================
#(: fx Sys_MGR_pMount_One
#(: called by:   Sbr_Sys_pMount_All calls "Sys_MGR_pMount_One"
#(: purpose:  pMOUNT  only one hard-drive
#(: receives param: "/mnt/sd?1"
#(: returns:
#(: note:
#(:
#! ############################################################
function Sys_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 true  -close never -text "\
.      Quick Sys_MGR_pMount_One
.             '${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}       #! kill ${GTKPIDPMNTsbr} is split
fi
} #
export -f Sys_MGR_pMount_One
#!
#!
#(: ====================================================================
#(: fx Sbr_Sys_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(Sys_MGR_pMount_One)
#(: method: calls internal script with lowercase HD names
#(: sends:
#(: rationale:
#(: note :
#(:
#(:Dump calls Sys_MGR_pMount_One with internal prep.
#(:
#! ############################################################
function Sbr_Sys_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 "\
*.      MGR_P_Mount_All INTERNAL
*.
*.
*.
*.
*.
*.                                                          "&
    RETVAL=$?
    GTKPIDPMNT1=$!
    sleep .3
fi
#!
#! Sbr_Sys_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. 
Sys_MGR_pMount_One "sda2"
Sys_MGR_pMount_One "sdb1"
Sys_MGR_pMount_One "sdc1"
Sys_MGR_pMount_One "sdd1"
Sys_MGR_pMount_One "sde1"
Sys_MGR_pMount_One "sdf1"
Sys_MGR_pMount_One "sdg1"
Sys_MGR_pMount_One "sdh1"
Sys_MGR_pMount_One "sdi1"
Sys_MGR_pMount_One "sdj1"
Sys_MGR_pMount_One "sdk1"
Sys_MGR_pMount_One "sdl1"
Sys_MGR_pMount_One "sdm1"
Sys_MGR_pMount_One "sdn1"
Sys_MGR_pMount_One "sdo1"
Sys_MGR_pMount_One "sdp1"
#;;; end looping ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
if [ "$gcActiveGui" = "1" ] ; then 
    Sbr_Splash_It  "DONE : _pMount_All" "yellow" "red" "3"           #! -D---
    kill ${GTKPIDPMNT1} # background splash yel/red 
fi #
    #~ Sbr_Cbx_ReStart 1   # no wait
} # 
export -f Sbr_Sys_pMount_All
#!
#! ===========================================================
#! end: Up Pmount     
#! ===========================================================
#!
#!
#! ===========================================================
#! begin: Dn Umount    
#! ===========================================================
#!
#(:===========================================================
#(: fx Sys_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 "Sys_MGR_uMount_One"
#! ############################################################
function Sys_MGR_uMount_One() {   # ACTIVE   called by next ...
    #! DnUmount ONE Special
    n=0
    lcParam1="${1}" # trg drive ID
    gcActiveGui="1"
    #~ #lcActiveMntId="U"   # Id    # Not Used
    #!
if [ "$gcActiveGui" = "1" ] ; then 
    #! -D--- Small Splash
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border true  -close never -text "\
.        Sys_MGR_uMount_One
.             '${1}'                              "&
    RETVAL=$?
    GTKPIDUMNTsbr=$!
fi
    # # # todo: ? choose a different test subdir.  Not /root, which is the Current Active drive /root
    # # # check for conflict.   None on 7 drives and 17 OS.  240205-0710
        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}
fi
} #
export -f Sys_MGR_uMount_One
#!
#!
#(: ============================================================
#(: fx Sbr_Sys_uMount_All
#(: calls: Sys_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 Sys_MGR_uMount_One with internal prep.
#(:
#! ############################################################
function Sbr_Sys_uMount_All() {   # ACTIVE
    #! DnUmount Special
    n=0
    gcMntAllLogP="/tmp/MGR_MntAllU.log "
    #~ #lcMntAllTrg=${gcMntAllLogU} # Not Used
    gcActiveGui="1"
    #~ #lcActiveMntId="U"      # Not Used
if [ "$gcActiveGui" = "1" ] ; then 
    #! -D---   Big Splash BackGround
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border true  -close never -text "
*.        Sbr_Sys_uMount_All
*.        :${lcMntAllLogFn}:
*.
*.
*.
*.
*.                                                          "&
    RETVAL=$?
    GTKPIDUMNT1=$!
fi
#;;; never try to unmount /dev/SDA
#;;; begin looping subroutine umount process ;;;;;;;;;;;;;;;;;;;
#;;; DO NOT USE ON SDA1, which is the primary drive. 
Sys_MGR_uMount_One "sda2"
Sys_MGR_uMount_One "sdb1"
Sys_MGR_uMount_One "sdc1"
Sys_MGR_uMount_One "sdd1"
Sys_MGR_uMount_One "sde1"
Sys_MGR_uMount_One "sdf1"
Sys_MGR_uMount_One "sdg1"
Sys_MGR_uMount_One "sdh1"
Sys_MGR_uMount_One "sdi1"
Sys_MGR_uMount_One "sdj1"
Sys_MGR_uMount_One "sdk1"
Sys_MGR_uMount_One "sdl1"
Sys_MGR_uMount_One "sdm1"
Sys_MGR_uMount_One "sdn1"
Sys_MGR_uMount_One "sdo1"
Sys_MGR_uMount_One "sdp1"
#;;; end looping ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#!
if [ "$gcActiveGui" = "1" ] ; then  
    Sbr_Splash_It  "DONE : Sbr_Sys_uMount_All" "yellow" "red" "3"           #! -D---
    kill ${GTKPIDUMNT1} # background
fi
    #~ Sbr_Cbx_ReStart 1   # no wait
} #
export -f Sbr_Sys_uMount_All
#!
#! ===========================================================
#! end: Dn Umount        
#! ===========================================================
#!
#!
#!
#!
#!
#!
#! ### DUMPS ########################################################################
#! ### DUMPS ########################################################################
#! ### DUMPS ########################################################################
#!
#!


#!
#(: =====================================================================
#(: fx Sbr_Dump_HLP2 
#(: 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'"
#(: 
#(:
#! ### #########################################################
function Sbr_Dump_HLP2() {   #: 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} 'Puppy Project Manager'"</span></b>
<b><span foreground='"'green'"'>"Not intended for general distribution"</span></b>
<b><span foreground='"'blue'"'>"Not intended to be a Turn-Key project."</span></b>
"--- "
<span foreground='"'red'"'>"About : "</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 test-bed for '<b>'experiments'</b>'."</span>
    <span foreground='"'green'"'>"and Allow-Flipping-between-'<b>'22-Puppy_Distros_!'</b>'"</span>
    <span foreground='"'green'"'>"Change DISTRO by rewriting portions of menu.lst"</span>
    <span foreground='"'green'"'>"---and then ReBooting"</span>

<span foreground='"'red'"'>"About : "</span>
<b><span foreground='"'red'"'>"Special Features of ${gcSysNameBase}: "</span> <span foreground='"'green'"'></span></b>
    <span foreground='"'blue'"'>"has Multiple BASH Page-Book Floating Windows. ! "</span>
    <span foreground='purple'>       "#! to form a compact main screen ."</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='"'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='"'green'"'>"_____________________________________________________"</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>

"--- "
<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 1 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='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='"'brown'"'>"#! iso_BookwormPup32-23.11-B4_v12_K:6_64__231210"</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='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>
<span foreground='red'>"-------------------------------------"</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"
#
} # end
export -f Sbr_Dump_HLP2
#! ############################################################
#!
#(: =====================================================================
#(: fx Sbr_Dump_HLP2 
#(: called by:  Main_GUI for  Dump Distro
#(: 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'"
#(:
#! ############################################################

#(: ============================================================
#(: 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'"
#(:
#! ############################################################
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} 'Puppy Project Manager'"</span></b>
<b><span foreground='"'green'"'>"Not intended for general distribution"</span></b>
<b><span foreground='"'blue'"'>"Not intended to be a Turn-Key project."</span></b>
"--- "
<span foreground='"'red'"'>"About : "</span>
<b><span foreground='"'red'"'>"${gcSysNameBase} is a General Menu framework ! "</span></b>
    <span foreground='"'green'"'>"Purpose is to provide a test-bed for '<b>'experiments'</b>'."</span>
    <span foreground='"'green'"'>"and Allow-Flipping-between-'<b>'20-Puppy_Distros_!'</b>'"</span>
<span foreground='"'red'"'>"About : "</span>
<b><span foreground='"'red'"'>"Special Features of ${gcSysNameBase}: "</span> <span foreground='"'green'"'></span></b>
    <span foreground='"'blue'"'>"has Multiple NoteBook type pages. ! "</span>
    <span foreground='purple'>       "#! to form an expandable compact main screen ."</span>
    <span foreground='"'blue'"'>"has Embedded-Graphics ! "</span>
    <span foreground='purple'>       "#! to reduce dependence on system resources ."</span>
    <span foreground='"'blue'"'>"has Double-Click buttons ! "</span>
    <span foreground='purple'>       "#! to reduce accidental triggers."</span>
"--- "
This 'MGR' project series is posted 
   on the Murga website as 
<b><span foreground='"'red'"'> "'"Menu Framework"'" </span></b>
   in the 'utilities' .
This project is posted on "'"GitHub"'"
"---"
<b><span foreground='"'red'"'>"Double-Click"</span></b>
<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 "</span></b>
<b><span foreground='"'red'"'>"but, GTK is sensitive to the theme settings/formatting"</span></b>

"--- "
<span foreground='"'green'"'>"______________________________"</span>
<span foreground='"'blue'"'>"Authors note about MGR.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'"'>"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 1 second to write all 37 images"</span>
<span foreground='"'green'"'>" . . . . . . . . . . . writes all images one time, at StartUp."</span>
<span foreground='"'green'"'>" . . . . . . . . . . . into 13 KBytes in /tmp "</span>
"--- "
<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='"'brown'"'>"#! iso_BookwormPup32-23.11-B4_v12_K:6_64__231210"</span></b>
<span foreground='"'blue'"'>  "iso-BionicPup32-8.0+30_BionicBeaver_____220407"</span>
<b><span foreground='"'red'"'>"iso_BionicPup32-19.03-K5.9_231209.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>
<b><span foreground='"'red'"'>"iso_ManticPup32-23.10+1.iso_____________K:6.1_231209"</span></b>
<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_BookwormPup32-23.11-B4_K:6__________231210"</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>
"--- "
This 'MGR' project series is posted 
   on the Murga website as 
<b><span foreground='"'red'"'> "'"Menu Framework"'" </span></b>
   in the 'utilities' .
This project is posted on "'"GitHub"'" :
This project is posted on website:
   www.GeoCities.WS/glene77is
"--- "
<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'>'Geany ROX Debug Method :'</span>
Use the 'Run in Terminal' to Execute a script.
<span foreground='red'>'Geany Debug Method :'</span>
Use the Geany Execute function
   to run the 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='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>
<span foreground='red'>"-------------------------------------"</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"
#
} # end
export -f Sbr_Dump_HLP
#! ############################################################
#!
#!

#! 
#(: ============================================================
#(: 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'"
#(:
#! ############################################################
function Sbr_Dxstro_Window () {   # 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}" 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='"'brown'"'>"#! iso_BookwormPup32-23.11-B4_v12_K:6_64__231210"</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>
"--- "
<span foreground='green'>"__________________________________________"</span>
<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>
<span foreground='red'>"-------------------------------------"</span>
<span foreground='red'>"---function Sbr_Dxstro_Window -----------"</span>
......................................................"\
> /tmp/box_help
Sbr_Box_Message "=== Dxstro ==='function Sbr_Dxstro_Window'===/tmp/box_help==="
#
} # end
export -f Sbr_Dxstro_Window
#! ############################################################
#!



#!
#!
#(: ============================================================
#(: 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."</span>

<span foreground='red'>"-------------------------------------"</span>"\
> /tmp/box_help
Sbr_Box_Message "=== PROC ==='Sbr_Box_Message'=== /tmp/box_help"
#
} # 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 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> 

<b><span foreground='red'> '#! {--_uNumBat_-}--U-NumBat-------K:6-32- 240400'</span></b>
<b><span foreground='blue'> '#! iso_BionicPup32-19.03-K5.9--- K:5   32  231209'</span></b>
<b><span foreground='blue'> '#! {--_DBW64_-}--DebBookWorm-----K:4  64bit 231219'</span></b>
<b><span foreground='blue'> '#! {--_uB64B_--}----UpupB64B-----K:4   64bit  231219'</span></b>
<b><span foreground='blue'> '#! iso-UpupTahr-6.0.6-k4.1.30----K:4.1  32  190211'</span></b>

<b><span background='lightyellow'><span foreground='green'> #! including: </span></span></b>
 #! iso-BionicPup32-8.0+30_____________K:4____220407
 #! iso-UPupFF+D-20.12+4_Focal-Fossa__________201210
 #! iso_ManticPup32-23.10+1____________K:6____231209
 #! iso-JammyPup32-22.04+8_____________K:5.1__221203
 #! iso-S15Pup-64_22.12+1-T____________K:5.1__220922
 #! iso-Xenial-64_7.5_XL_______________K:4.9__220401
 #! iso_slacko64_14.2_32-674-bit_comptible____220227
 #! iso-Slacko-7.0_DpupS7_14.2________________220205
 #! iso_devuanpup-9.7.0-chimaera_4.0_i386_211206 beta
 #! iso-Quirky_April-7.0.1F-uefi__________200511 beta
 #! iso_LxPupSc-slacko-20.01+0-T-k64__________200129
 #! iso-UpupTahr-6.0.6-k4.1.30-uefi____K:4.1__190211
"--- "
<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.
    #(:     example: for 'LockFile' using 'exit 1'
    #(:  'strict' lockfile WILL 'exit' subroutine  
    #(:      at 'current' stack level. 
    #(:  'strict' lockfile WILL 'exit' program  
    #(:       only at 'base' stack. 
    #(:  'strict' lockfile MAY NOT exit/quit the script program. 
    #(:
    #(:  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>
..."\
> /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
Sbr_Splash_It "Sbr_Dump_SRC = EXIT = guiDumpSRC" "orange" "purple" "2"  

lcFileGXmessage="/usr/bin/gxmessage"    # current target 

#! begin Source Header
lcMsgSrc="${0}" # "${gcZeroRun}"
lcMsgTrg="/tmp/box_help"   # box_help is required by gtkdialog 

Sbr_Splash_It "Sbr_Dump_SRC Wait for System Buffers" "orange" "purple" "2"  

#! begin Source Body
cat ${0} >> ${lcMsgTrg}     ### Sbr_Dump_SRC   /tmp/box_help ###
#~ sleep 3      # wait for system 

#! display SOURCE 
gxmessage -title "Sbr_Dump_SRC"  -name "-SRC-" -font bold -bg lightyellow -fg darkblue -center -wrap -file ${lcMsgTrg} 
#!

} #

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 "PUPSTATE via cat + gxmesage" -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 === "  &&     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 "Master-GUI"  -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 === "  &&     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}     ### /tmp/box_help ###
gxmessage -title "IMG" -name "-IMG-" -font bold -bg lightyellow -fg darkblue -center  -file ${lcMsgTrg}
} #
export -f Sbr_Dump_IMG
#!
#!
#(: =====================================================
#(: fx Sbr_Dump_UPL
#(: 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 is picked up by /box_ok 
lcStrUpPop="
DistroName: {   ${DISTRO_NAME}   }
Compiled: ${gcSysDevDob}
===========================================
Legal notice subroutine developed by peebee
- https://sourceforge.net/u/peabee/profile/
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 "=== Sys === Legal === Message box_ok" error "
.
${lcStrUpPop}
.                                                      "
    RETVAL=$?
    GTKPIDMAIN0=$!
    #
    kill ${GTKPIDMAIN0}
} #
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)
Date-Now-Run: "`date +%y%m%d-%H%M-%S-%a`" 
=======================================
DISTRO_PUPPYDATE: ${DISTRO_PUPPYDATE}
PSUBDIR: ${PSUBDIR}
=======================================
DistroName:  ${DISTRO_NAME}       DistroVersion: ${DISTRO_VERSION}
DistroKernel: ${gcMGRKernVer} 
DateOfBirth: ${gcSysDevDob}
MgrKey-ID: ${gcMgrKey}
Iso-file-Date: ${gcMgrIsoDate}   PuppyDate="${DISTRO_PUPPYDATE}"
=======================================
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}
*gcMGRDistroVer=
 ${gcMGRDistroVer}      "
#! -D---
/usr/lib/gtkdialog/box_ok "=== Sys Notes and Var === Message box_ok" error " ${lcStrUpPop}                                                      "
    RETVAL=$?
    GTKPIDMAIN0=$!
    #
    kill ${GTKPIDMAIN0}
} # 
export -f Sbr_Dump_Sys
#!
#! ### 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_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
    n=0
    lcVerDtsTmp="${gcMGRDob}"
    #
        if [ $PUPMODE -eq 2 ] ; then
            #
            lcMsgStr="
        PUPMODE is 2
        MGR requires 'Frugal Install'"
            #
            xmessage -timeout 3 -name 'MGR' -center -bg brown -fg yellow "${lcMsgStr}"
            exit
            #
        else
            lcMsgStr="PUPMODE=${PUPMODE}" && Sbr_Str2DevTrm "$lcMsgStr" "2" "3"
        fi
    #
    export gcMGRDob="${lcVerDtsTmp}"
    #
    export gcSysDistroLoc="${PDEV1}"    ### from PUPSTATE, from rc.sysinit.
    export gcZeroRun="$0"
    # note  if [ "`cat /tmp/pup_event_backend/pup_event_module_devpath_log* | grep -m 1 'usb_storage'`" != "" ];then
    echo "BK ==============================================="
    #~ lcSaveBkFileNameMount="`cat /sys/fs/aufs/si_*/br0 | head -1 | cut -f1 -d'='`"    # not used
    #~ lcSaveBkFileNameBaseSrc="`cat /sys/fs/aufs/si_*/br1 | head -1 | cut -f1 -d'='`"  # not used
    # note  fi
    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 lcPupMode=${PUPMODE}
    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}"
    #!
    echo "top=RamObj ==============================================="
    #~ Sbr_Splash_It "--- top=RamObj --- " "green" "yellow" "1"       #! -D---
    #! 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 . 
    echo "gen=RamObj ==============================================="
    #~ Sbr_Splash_It "--- gen=RamObj --- " "green" "yellow" "1"       #! -D---
        #! ------------------------------------
        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
    #!
    echo "bot=RamObj ==============================================="
    #~ Sbr_Splash_It "--- bot=RamObj --- " "green" "yellow" "1"       #! -D---

    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 lcPupHome lcPupSave  lcPupMode
    export lcPupSaveNameRaw lcPupSaveName lcPupSaveNameDts
    export lcPupSaveNameTrg lcPupSaveNameSrc gcPupSubDir
    #!
} #
export -f Sbr_Sys_PupState
#!
#!
#!
#(: ===========================================================
#! Check-Box "CBX"  
#(: ===========================================================
#(: 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   #! CBXARS  #! CBXARB #! CBXARQ
#!  via ( EXIT:CBX_APPLY+ )
#! if [ "$EXIT" = "CBXARS" ] ; then ; n=0 ; fi   # CBX ARS, ARB, ARQ ComboBox
#!
#! if [ ${EXIT} == "CBXARS" ] || [ ${EXIT} == "CBXARB" ] || [ ${EXIT} == "CBXARQ" ] ; then
#!          n=0     
    #(: Apply button NOT CONVERTED to function format 
    #(: check for prior "APPLY Checks" commands
    #(: function ft(FT_EXIT=') [ ${llCBXMASTER} = "1" ]
    #! NO FUNCTION HERE !
#! fi   # end: check for "APPLY Checks" command
#! } #! end: ( EXIT:'CBX_APPLY+')
#! export Sbr_CBXAR3
#! =====================================================================
#!
#!
#!
#! ===========================================================
#! 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' 
#(:    into the /Edit developmental subdir 
#! ##########################################################
function Sbr_BakOneArcDts() {       # ACTIVE  from MGR-8-bookworm-300-240924-1731-18.sh
    #! cleanup the  fnSrc  and  fnTrg 
    #! [EXIT:guiMgrOneArcDts] [BakOne]
    #!

    #! ================ Not Req for "Bak One Dts "
    #~ #! ================
    #~ #!     Touch Code used by Sbr_BakOneArcDts
    #~ #! ================
    #~ #! ??? begin "TOUCH"    ===  'touch' has required a literal 
    #~ #! ??? lcTargetSD="/mnt/home/MGR-All-Arc-Dts_" # SubDir

     lcTargetSDbase="/mnt/home"
     #cTargetBakOneDts="/MY_/usr-share/My_Dev_/Edit_MGR/BakOneArcDts_"
     #cMgrOneArcDtsSN="/MGR-One-Arc-Dts_"  # used by Sbr_BakOneArcDts  and Sbr_BakAllArcDts

    #!
    #!
    
# working  
#! pull from initial code : 
#! pull from initial code : 
#! pull from initial code : 
    lcSysFnPre="rc.z_"
    lcSysNameBase="${gcSysNameBase}"  # "MGR"         # ${gcSysNameBase}
    lcSysFnVer="-8"     # "${gcMgrVer}"   # -8.4.6
    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
    #! *********************************************************
    #!
#~ /mnt/home/MY_/usr-share/My_Dev_/Edit_MGR/arc_Common_dts_sh_/     

#! === 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 "/root/my-applications" 
*.   
*.
*.
*.
*.
*.
*.
*.
*.
*.   
*________________________________________________________________________________________" &
    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`"

    lcFnSrc="/mnt/home/MY_/usr-share/My_Dev_/Edit_MGR/${lcSysArcFnSrc}.sh"
    lcFnTrg="/mnt/home/MY_/usr-share/My_Dev_/Edit_MGR/arc_Common_dts_sh_/${lcSysArcFnSrc}-${lcMgrArcSubName}${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 DTS backup
*.   from:   ${lcFnSrc}
*.   to:      ${lcFnTrg}
*." &
    pidx=$!
    GTKPIDmgrarcdts=$!
    sleep 1
    #!
    Sbr_Splash_It "--- BakOne--- ${lcFnSrc} --- " "green" "yellow" "1"       #! -D---  
    #!_______________________________
    cp -v ${lcFnSrc} ${lcFnTrg}
    #!_______________________________
    Sbr_Splash_It "--- BakOne--- ${lcFnSrc} --- " "yellow" "green" "2"       #! -D---  
    #!
    kill ${GTKPIDmgrarcdtsA}
    kill ${GTKPIDmgrarcdts}
    #!
 } # 
export -f Sbr_BakOneArcDts
#!
#!
#!
#(: =====================================================
#(: 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  
#(: 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
    n=0 # [ BakAll ]
    #!
    #! Check-if  and mkdir "RA" 
    #! "TOUCH" placed in main () 
    #!
    #! param: SubDir ,  FileName 
    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}"
    #!
    #! target root/my-applications   RA     is  RootApplicatons
    lcFnTrgRA="/root/my-applications/${lcSysRealFnSrc}${lcSysFnExt}"
    #! --- Sbr_BakAllArcDts_One
    if [ -f "${lcFnSrc}" ]  ; then 
            Sbr_Splash_It "--- BakOne---RA--- ${lcFnSrc} --- into ${lcFnTrgRA} " "yellow" "green" ".7"       #! -D---   
            cp -v   ${lcFnSrc} ${lcFnTrgRA}
            #! "cp -v  "  is  faster  then  "cp -v -u   "   
    else
        Sbr_Splash_It "--- ${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
#(: 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"
    #~ Sbr_Splash_It "--- Sbr_Bak_ALL_Arc_dts ---${lcTargetSD}" "yellow" "purple" "3"       #! -D---
    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 
*.
*.
*.
*.
*.
*._______________________________________________________
" &
    pidx=$!
    GTKPIDmgrarcdtsA=$!
    sleep 1
    #!     "BakAll-Arc-Dts_"     
    #       used by Sbr_BakAllArcDts  and Sbr_BakAllArcDts
    #! ================
    #!     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-6"       "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGR"    "MGR-7"       "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGR"    "MGR-8"       "${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-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}"

    #! === 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"
    #!
    lcFnSrc="/root/.config/geany/geany.conf"
    lcFnTrg="/mnt/home/${gcMgrAllArcDtsSN}/geany.conf-${lcMgrArcDtsNow}.sh"
    #!
    #!
    #! ==================================================================
    #!
    #!
    #! ==================================================================
    #! /menu.lst    because /root code may be modified via Geany.
    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
    sleep .9
    kill ${GTKPIDmgrarcdtsA}    # main
    #!
    #! fi # end: guiMgrAllArcDts
} # end  
export -f Sbr_BakAllArcDts
#!
#!
#(: ===========================================================
#! end :  Bak---   BakAll   BakOne
#! end :  Bak---   BakAll   BakOne
#! end :  Bak---   BakAll   BakOne
#(: ===========================================================
#!



#!
#!
#!
#!
#! ######################################################
#! ######################################################
#! ######################################################
#!
#!  ## all "function( )" moved to top of code
#(: ## all "GUI EXIT" to "IF/fi" Selection are moved to bottom of code enabling "Fall-Thru" method
#(:
#! ######################################################
#! ######################################################
#! ######################################################
#!
#!
#!
#!
#! ######################################################
#! ######################################################
#! ######   start  M.A.I.N.(.).  #####################################
#! ######################################################
#! ######################################################
#!
#!
#(: ======================================================
#(: fx MGR_Main    #!  main()  main()  main()
#(: called by:
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#=== MAIN() === SYSTEM()=================================================
clear

#! Terminal Screen Only === MAIN RUNNING Terminal Screen ===.   Flash Splash 
/bin/echo -en "\\033[5G\\033[1;32m"***"\\033[1;31m"=== ${gcMgrKey} ==="\\033[1;32m"***"\\033[0;39m" #! terminal 
echo " " && sleep .1

            #! Testing: remove Img Flg so to force IMG Master ReLoad DURING DEV  
                #~ Sbr_Splash_It "=== rm -f ${gcEmGaImgFnTrgTxtMaster}  ===" "orange" "black" "1"   #! -D---
            #~ if [ ! -f ${gcEmGaImgFnTrgTxtMaster} ] ; then  #! Always reinstated below
                #~ /bin/echo -en "\\033[5G\\033[1;32m"***"\\033[1;31m"=== rm ==="\\033[1;32m"***"\\033[0;39m" #! terminal 
                #~ echo " " && sleep .1
                #~ rm -f ${gcEmGaImgFnTrgTxtMaster}
            #~ fi
#! =======================================================================
#! Splash Screen Visible ==========================================================
#! 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  !
                Sbr_Splash_It "
${gcMgrVerAll}
"  "yellow"  "purple"  "1"   #! -D---
            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

#!
touch /0-MGR-LogIn-DTS  # this call should be first  / in main ( ) 
#!
Sbr_Sys_SetVerDts # this call should be first  / in main 
#!
Sbr_CDW_Embedded_Dialog_Colors      # setup color constants / in Main 
#!
Sbr_CDW_EGI_CheckIF     # Check Graphic Images " gcEmGaImgFnTrgTxtMaster "   / 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  : 
#(: 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: Not Used Sbr_ARB_Init   # # # must be in main ( ) # read config init for "ARB" config
#!
lcMsgStr="=== PupState === " && Sbr_Str2DevTrm "$lcMsgStr" "2" "3"
Sbr_Sys_PupState   ### Gather the "state" variables from OS
#!
#!
#(: ======================================================
#(: 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.
#(: param:
#(: purpose: provides a "Soft-Lock" method.  IF error, THEN continue .
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! begin lock-file section ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    #(: generate the name of the 'lock-file' in 'export' section.
    lcMsgStr="=== Lock-File === " && Sbr_Str2DevTrm "$lcMsgStr" "2" "3"
    #(: begin Lock-File Section =======================================
    #(: if previous lockfile is found, then throw a flag, cleanup, possibly exit '1'.
    #(: remember, we have written a "Soft-Lock"
    #! ##############################################################
    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
        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.
    #!
    #(:
    #(: 
    #! #####################################################
    #(: 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 LOCK-FILE section
#! ######################################################
#!
#!
#!
#!=====================================================
#! ### begin Fall-Thru  "initz" 
#!=====================================================
#!
#
#! DEV: IF  "C3M CONFIG ARB" ,  under development
#!
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
    echo "gcMGRConfigArbIdd:${gcMGRConfigArbIdd}:"
    #! Sbr_Splash_It "${gcMgrArbCfgFn}:${gcMGRConfigArbIdd} Found---" "orange" "purple" "1"   #! -D---
else    #  NO Config value
    n=0
    touch ${gcMgrArbCfgFn}
    gcMGRConfigArbIdd="---"
    #! Sbr_Splash_It "${gcMgrArbCfgFn}:${gcMGRConfigArbIdd} Config File NOT Found---" "orange" "purple" "3"   #! -D---
fi  #
#! exit
#!
#!=====================================================
#! ### end: Fall-Thru  "initz" 
#!=====================================================
#!
#!
#!
    #! ------------------------------------------------------------------------------
    #! ------------------------------------------------------------------
    #!=====================================================
    #(: 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 Sys_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.
    # simple background message
    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
###
### MGR 
###
########################################################
#!
#! 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 IF EXIT:guiSbr_PCB
#(: 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() { 

    n=0
    Sbr_Splash_It "---!!! calling  Sbr_PCB_external + ReStart  !!!---" "yellow" "green" "3"       #! -D---

     #~ external routines
     /mnt/home/MY_/usr-share/My_Dev_/Edit_PCB/rc.z_PCB-ion.sh
     
     #~ /root/my-applications/rc.z_PCB-ion.sh

    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1    # display and no wait

}  # end: 
export -f Sbr_PCB_ion


#!    
#! #########################################################
#! function Sbr_PXB_INT  called by Sbr_PXB_INT_RS   via <button> EXIT:guiPXB_ion_RS  
function Sbr_PXB_INT() {        #!  ACTIVE
    n=0
#~ set -xe

#(: inside of Sbr_PCB_PXB
#(: inside of Sbr_PCB_PXB
#(: inside of Sbr_PCB_PXB
#! #########################################################
#! Function.....: create a TarGz backup of the current savefile in use.
#! Author.......: GlenE77is of puppy linux forum
#! 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 PUPSTATE,  no choice allowed. 
#!     Must be Frugal #13 or #12
#! ===========================================================
#! NOTE: 
#!  PCB.sh began as a simple rewrite from 1.3.1 aimed at /saveDIRectory and /file.4fs "FRUGAL" install. 
#!     deprecated alll code for original method of exporting/e2fsck/restore.
#!  Now calling "ionice -c 1"   (realtime)  to prioritize PCB higher than any other processes. 
#!
#! STARTUP 
#~ [Desktop Entry]
#~ Encoding=UTF-8
#~ Name=MGR
#~ Exec=/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_MGR/rc.z_MGR-8.sh
#~ Terminal=true
#~ Type=Application
#~ Icon=/usr/share/icons/a-b-MGR-8-Mug-redwht.png
#! ===========================================================
echo "(=== $0  Pup-Cold-Bakup === PCB  PXB ===)"

#==============
. /etc/rc.d/PUPSTATE
export gcPXBDevDob=${gcSysDevDob}  # "241204-0536"  ${gcPXBDevDob}
#==============
export gcPXBId="pxb"     # used to build "destfile" 
export gcPXBBackUpId="PXBion" # label the TarGz Output File 
export gcPXBRunId="PXB-ion"     # Label the Project 
#==============
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 ','`"
#==============
#! expand PATH
#! PATH=$PATH:/usr/lib/gtkdialog/:/root/my-applications/ 
#==============
#!
#(: ================================================================
#(: 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}
    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}" #  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
    n=0
    #~ rm -f /tmp/gtkdialog-splash_gtkrc
    rm -f /tmp/gtkdialog_splash_border.svg
    rm -f /tmp/gtkdialog_splash_bg.svg
    rm -f /tmp/gtkdialog_splash_bg.svg
    rm -f /tmp/snapmergepuppy-error
    rm -f /tmp/flagnextpassthru
} # 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  lcTimeReq="${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 ==="
        # >>> CD ===
        CWDIR=$PWD      # save "P"rocess "W"orking "D"irectory /root  (optional)
        echo "### (TarGz) save 'home dir' PWD is ${PWD} === "   && echo "" #! 
        # <<< CD ===
        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 ---
  .   --- ... ${lcTimeReq} seconds on 32bit
  .
  . Source: 
  ${gcPXBSave} 
  .  
  . Target: (into same subdir as Source)
        ${destfile##*/}
  .  "
  # Big Red Background Splash-Wait, kill splash after TarGz 
        # TarGz parameters
        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 ===
        cd "$CWDIR"  # change dir back to original   (optional) 
        # <<< CD ===
        echo "###_CD_### (TarGz) restore 'home dir' $CWDIR ===" && echo ""
        RETVAL=$?
        sleep 3
        kill ${GcPidSplashWait}   # Big Red Background Splash   
        #~ kill ${GTKPID_Splash_It}
} #
export -f PXB_TarGzBackIt
#;;; end TarGzBackIt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#;;; end TarGzBackIt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#;;; end TarGzBackIt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

###
###
##################################### Execution #######################################
#####################################   main()  #######################################
###

    #(: inside of Sbr_PCB_INT
echo "( main PCB_INT_PXB ) ==="  # > /dev/console

# test
lcMsgStr="(=== running: main PCB_INT_PXB === )"
PXB_Splash_It "${lcMsgStr}" "yellow" "green" "1" ""

. /etc/rc.d/PUPSTATE
export PUPMODE
#! --- Frugal only --- first possible check
case $PUPMODE in
    12|13) ok=1 ;;  
    *) ERRORMSG="only (12|13)" ;;
esac
#! Find and verify path of currently mounted save file.
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
    PXB_CleanUp
    exit 1
fi
#------------------------------------------------------------------------
    #(: inside of Sbr_PCB_Int
#! Case ERRORMSG catch-all
if [ "$ERRORMSG" ] ; then
    PXB_CleanUp
    echo "$ERRORMSG"
    ERRORMSG="<b><span foreground='"'red'"'>${ERRORMSG}</span></b>"
    exit 1
fi # end: if [ "$ERRORMSG" ] 
#--------------------------------------------------------------------
# Export constants / variables
export PBKP_PUPSAVE_PATH="/mnt/home${gcSaveDataName}"
#!
#! ====================================================================
#! FALL-THRU ;;; STANDARD RUN
#! ====================================================================
#!  MAIN GUI was originally in this code paragraph  
#~ EXIT="PCB_Back_It"    
#! as if a Gui <button> Selection had been made ! 
#! ====================================================================
#! FALL-THRU ;;; STANDARD RUN
#! ====================================================================
    #(: inside of Sbr_PCB_PXB
echo "(Main) ==="  # > /dev/console
#~ PXB_Splash_It "=== main() PCB_INT_PXB === (${gcPXBRunId}__${gcPXBDevDob}) " "yellow" "purple" "3" 
#!
#! 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 realtime  "first access" to hard-drive    
#! ionice -c 2 snapmergepuppy  is "shared access" with any higher priority    
#! ========================
kill ${GTKPID_Splash_It} #! after snapmergepuppy
#=================================================================
#! 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 =================================================
PXB_TarGzBackIt "$PBKP_PUPSAVE_PATH" "$PCB-BackUp_Path" 
#! === call =================================================
    n=0
    #!
    # >>> CD <<<
    cd "$CWDIR"  # change dir back to original   (not required) 
    echo "###_CD_### (TarGz) restore original CWDIR ===" && echo ""

            #~ else
                #~ echo ""   #! Final Splash and "ERROR" wait
                #~ /usr/lib/gtkdialog/box_ok "PCB_PXB error "=== PCB_PXB === ERROR ===
            #~ === $PBKP_PUPSAVE_PATH === 
                #~ === ERROR ==="
            #~ fi # end: "$EXIT" = "PXB_Back_It" 

#! =====================================
    #! Fall-Thru is a "Trapped EXIT"
    #(: inside of Sbr_PXB
    PXB_CleanUp
    #! Final Splash and "OK" wait    #! generates (wd: message
        # /usr/lib/gtkdialog/box_ok "PCB-ion" timeout 3 complete "$0  SaveDATA Backup Completed:"
        # gxmessage -title "PCB-ion"  -name "PCB-ion" -font bold -timeout 3  -fg yellow -bg darkred -center -wrap "
        # ---PCB-ion
        # ---BackUp
        # ---Completed"
    gxmessage -title "${0}"  -name "${0}" -font bold -timeout 1  -fg yellow -bg blue    -center -wrap ".
.    ===  PXB .. Fall-Thru-Q.U.I.T. ==="
    gxmessage -title "${0}"  -name "${0}" -font bold -timeout 1  -fg yellow -bg green   -center -wrap ".
.    ===  PXB .. Fall-Thru-Q.U.I.T. ==="
    gxmessage -title "${0}"  -name "${0}" -font bold -timeout 2  -fg yellow -bg darkred -center -wrap ".
.    ===  PXB .. Fall-Thru-Q.U.I.T. ==="

     clear #! only the gxmessage buffer !
    #! #########################################################
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1    # display and no wait
}  # end: 
    #(: inside of Sbr_PCB_INT
### END PCB_INT_PXB #################################################
### END PCB_INT_PXB #################################################
### END PCB_INT_PXB #################################################




#! ## top SystemGui  ### MainGUI ### INIT ####################################
#! ${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 must be hard-code.
                    #! <window dimensions must be hard-code.
                    #! <window dimensions must be hard-code.

                            #! <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 main gui. Adjustments were needed. 
                            #! Note: Version_7.  all were tested again in V.7, compact/consolidated main gui, much better.  
                            #! Note: Version_8.  all were tested again in V.8, compact/consolidated main gui, passed OK.  
                            #!
                            #! <window dimensions must be hard-code.

                            #! Theme and Alpha-Size and Screen-size are controlling variables. 
                            #! <window dimensions must be hard-code >.
                            #! below, the export var cannot be inserted in the <window line, it will not "expand" . 
                            #! export lcGuiWindowTitleMain='":${lcGuiWindowTitle}:" 

                    #! <window dimensions must be hard-code >.
                    #! <window dimensions must be hard-code >.
                    #!
#!
#!
### MGR
export lcBSS_TrgSubDir="TrgSubDir"          # File Select # Not Used 
export gcPBKP_BACKUP_PATH="BACKUP_PATH"     # File Select # Not Used 
#!

#! Primary "Window" title                   # NOT needed    gui frame inner-title
export lcGuiWindowTitle=":${gcDistroSymbol}:_:MGR:_:${gcSysDistroLoc}::${gcMgrDevId}::${lcGuiSplT3}::${gcSysIdFull}::${gcSysKernName}::${gcSysDevHw}::${gcSysDevDob}::${gcMgrVerExt}"

#! Secondary "Frame" title embeds OK.
export lcGuiFrameTitle="    ${gcMgrDevName}  :${gcSysDevDob}:"    # ACTIVE  screen top bar 
# ${gcDistroSymbol}:${gcSysDistroLoc}_${gcMgrDistroName}_${gcSysIdFull}_v:${gcMgrVerExt}_${gcSysSaveFn}_Dob:${gcSysDevDob}-:"
#!

#! ################################################################
#! ## MAIN GUI MGR ### Dialog BEGIN ### pageSystem ### PageS ######
#! ## MAIN GUI MGR ### Dialog BEGIN ### pageSystem ### PageS ######
#! ################################################################

export  System_GUI_Dialog='
<window  title="MGR_'${gcMgrDevName}...${gcSysDevDob}'"
    window-position="1" 
    width-request="1115"
    height-request="780"
    space-expand="false" 
    border-width="3"
    space-expand="false" 
    resizable="true" 
>  

<vbox>
                <text visible="true" editable="false" use-markup="true" xalign=".5"  <height-request="3" >
                    <label>"'${lcGuiWindowTitle}'"</label> </text>

                <button visible="1"   tooltip-text="top of System page0__" <height-request="7">
                    <label>"'!_!!!!!!!!__!_System__!__Page0__!__pageSystem__!pageS_!__'"</label>
               <action function="'launch'">     msg_DC_Check_90_Big_redXyel_window</action>
               <action function="'closewindow'">msg_DC_Check_90_Big_redXyel_window</action>    
                        <action>Window-Title</action> </button>

                <button visible="1"   width-request="45" height-request="45"  size="medium"  weight="bold" 
                              tooltip-text=" 
    Manager Top-Bar Frame-Title ReStart
*.  This is LINUX, 
*.     this is a Free OPEN SOURCE SYSTEM, 
*.     so READ the code and Learn !
"
            has-focus="false"  xalign=".5" >
            <input file>"'/tmp/EmGr-img-hash-grn.xpm'"</input><width>45</width><height>45</height>
                <label> "'${lcGuiFrameTitle}'"  </label> 
            <action>'EXIT:guiFrameTitle'</action>     </button>
            <vseparator height-request="3" > </vseparator>
 
            <text visible="0" editable="false" use-markup="true" xalign=".5">
                <label>"'=0===========S===========0='" </label> </text>

    <hbox homogeneous="0" visible="1"  >

        <hbox visible="'${gcMrgLAdj}'">   <hseparator width-request="22"></hseparator>   </hbox>
        <hbox visible="'${gcMrgLAdj}'">   <hseparator width-request="22"></hseparator>   </hbox>
        <hbox visible="'${gcMrgLAdj}'">   <hseparator width-request="22"></hseparator>   </hbox>

            <hseparator width-request="7"></hseparator>
           <button visible="1" has-focus="false" height-request="10"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-red.xpm'" </input><width>15</width><height>15</height>
                <label>"''"</label><action>'hash-red-L'</action> </button>

            <hseparator width-request="11"></hseparator>
            <hseparator width-request="11"></hseparator>

            <button   visible="1" has-focus="false" height-request="33"  xalign=".5"  
                tooltip-text="'-Special_PageBook_Main_page1-top_P1_'" >
                <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width><height>25</height>
                <label>"'-MAIN-----'"</label>
                    <action function="'launch'">     msg_DC_LxgenMain_window_0</action> 
                    <action function="'closewindow'">msg_DC_LxgenMain_window_0</action>
                    </button>

            <hseparator width-request="11"></hseparator>
            <hseparator width-request="11"></hseparator>

            <button   visible="1" has-focus="false" height-request="33"  xalign=".5"
                tooltip-text="'-Special_PageBook_Help-Doxuments_page2-top_P2_'" >
                <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width><height>25</height>
                <label>"'-DOX--'"</label>
                    <action function="'launch'">     msg_DC_LxgenDox_window_0</action> 
                    <action function="'closewindow'">msg_DC_LxgenDox_window_0</action>
                    </button>

            <hseparator width-request="11"></hseparator>
            <hseparator width-request="11"></hseparator>

            <button   visible="1" has-focus="false" height-request="33"  xalign=".5" 
                tooltip-text="'-Special_PageBook_External_Utility_page3-top_P3_'" >
                <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width><height>25</height>
                <label>"'-UTIL-Ext--'"</label>
                   <action function="'launch'">     msg_DC_LxgenUtil_window_0</action> 
                   <action function="'closewindow'">msg_DC_LxgenUtil_window_0</action>
                   </button>

            <hseparator width-request="11"></hseparator>
            <hseparator width-request="11"></hseparator>

            <button   visible="1" has-focus="false" height-request="33"  xalign=".5" 
                tooltip-text="'-Special_PageBook_VMB_page4-top_P4_'" >
                <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width><height>25</height>
                <label>"'-VMB-!-'"</label>
                   <action function="'launch'">     msg_DC_LxgenVmb_window_0</action> 
                   <action function="'closewindow'">msg_DC_LxgenVmb_window_0</action>   </button>

            <hseparator width-request="11"></hseparator>
            <hseparator width-request="11"></hseparator>

            <button   visible="1" has-focus="false" height-request="33"  xalign=".5"  tooltip-text="'-TABs_for_BASH_PageBook__'" >
                <input file>"'/tmp/EmGr-img-jug-redxblu.svg'"</input><width>15</width><height>15</height>
                <label>"'-Pages---'"</label> <action> "0"</action></button>

            <hseparator width-request="11"></hseparator>
            <hseparator width-request="11"></hseparator>

           <button visible="1" has-focus="false" height-request="10"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-red.xpm'" </input><width>15</width><height>15</height>
                <label>"''"</label><action>'hash-red-R'</action> </button>

        <hseparator visible="1"  width-request="61"></hseparator>
        <hseparator visible="1"  width-request="61"></hseparator>
        <hseparator visible="1"  width-request="21"></hseparator>

        <hbox visible="'${gcMrgRAdj}'">   <hseparator width-request="32"></hseparator>   </hbox>
        <hbox visible="'${gcMrgRAdj}'">   <hseparator width-request="32"></hseparator>   </hbox>
        <hbox visible="'${gcMrgRAdj}'">   <hseparator width-request="32"></hseparator>   </hbox>

    </hbox>
 
        <text visible="1" homogeneous="true" editable="false" use-markup="true" xalign=".5">
        <label>"'______________________________________________________________________________'" </label> </text>

     <hbox>

              <hseparator width-request="140"></hseparator>
    <text visible="0" editable="false" use-markup="true" xalign=".5">
        <label>"'====================!=========================='" </label> </text>

    <hbox visible="'${gcMrgOutAdj}'">
        <hseparator height-request="3" width-request="3"></hseparator>
        <hseparator height-request="3" width-request="3"></hseparator>
        <hseparator height-request="3" width-request="3"></hseparator>
        <hseparator height-request="3" width-request="20"></hseparator>
    </hbox>


    
    <vbox>
<vbox>

        <button   visible="0" has-focus="false" height-request="30"  xalign="0"  tooltip-text="'top---page4-pageSystem---${gcP4_ctl}'" >
        <input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>25</width><height>15</height>
        <label> "'---System---'" </label><action>'lxEXIT:guiP4_X_ctl'</action> </button>

        <button visible="0"   tooltip-text="width-80-space>'================================================'" <height-request="1">
            <label>"'!________!________!________!________80________!_________!_________!_________!__'"</label>
            <action>lcEXIT:80</action> </button>

                        <button visible="0" has-focus="false" width-request="111" height-request="1"  xalign=".5"  >
                                <label> "'---***---'" </label><action>lxAction:top</action></button>
                
            <text visible="1"   editable="false" use-markup="true" xalign=".5"> <label> 
            "<span  color='"'green'"' font-family='"'Comic'"' weight='"'bold'"' ><b>'"ooo-"'</b></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>

        <hbox homogeneous="false" >
              <hseparator width-request="140"></hseparator>

            <text use-markup="true" xalign=".5">
                <label> "<span color='"'$lcGuiColorbrn'"'> <b>':${gcDistroSymbol}:'</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='"'$lcGuiColorgrn'"'> <b>'K:${gcMGRKernVer}'</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="160"></hseparator>
            <hbox visible="'${gcMrgOutAdj}'">
                <hseparator height-request="3" width-request="20"></hseparator>
                <hseparator height-request="3" width-request="20"></hseparator>
                <hseparator height-request="3" width-request="20"></hseparator>
                <hseparator height-request="3" width-request="20"></hseparator>
            </hbox>


        </hbox>
      
        <hbox space="22" homogeneous="true">
           <hseparator height-request="3" width-request="10"></hseparator>
           <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="P01-/tmp/EmGr-img-apple-redyel.svg" >
                <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="P02-/tmp/EmGr-img-apple-redgrn.svg" >
                <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="P03-/tmp/EmGr-img-apple-redblu.svg" >
                <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="P04-/tmp/EmGr-img-apple-redyel.svg" >
                <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="P05-/tmp/EmGr-img-apple-redgrn.svg" >
                <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="P06-/tmp/EmGr-img-apple-redblu.svg" >
                <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="P07-/tmp/EmGr-img-apple-redyel.svg" >
                <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="P08-/tmp/EmGr-img-apple-redgrn.svg" >
                <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="P09-/tmp/EmGr-img-apple-redblu.svg" >
                <input file>"'/tmp/EmGr-img-apple-redblu.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action></button>
           <hseparator height-request="3" width-request="10"></hseparator>
        </hbox>
    </vbox>

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


                    <button  visible="0"  has-focus="false" width-request="95"  height-request="10"  xalign=".5"  tooltip-text="_notebook-Trigger_" >
                        <label> "''" </label> <action>gui_NBC_Ctrl="false"</action></button>

                   <button  visible="0"  has-focus="false" width-request="55"  height-request="7"  xalign=".5"  tooltip-text="Top-Sp" >
                        <label> "'---!!!---'" </label> <action>lxAction=Top-Sp</action></button>

            <hbox homogeneous="true">
                <text  visible="'1'" editable="false" use-markup="true" xalign="0.5">
                   <label> "<span color='"'$lcGuiColorblu'"'><b>'{_PreSet__1-of-20+_PuppyOS__menu.lst_}'</b></span>"</label> </text>
            </hbox>

    </vbox>

    <vbox>
        <hbox homogeneous="1">
            <hseparator width-request="370"></hseparator>
        <hbox homogeneous="1">
            <button visible="1" tooltip-text="'hash-red'" ><input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>15</width><height>15</height>
                <label>"''"</label><action>'select-hash-red'</action> </button>
            <button  has-focus="false"  xalign=".5"  
                tooltip-text="'Control_Generic_Menu'">
                <label>"'Build-Generic-Menu.lst'"</label> 
                <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="'hash-red'" ><input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>15</width><height>15</height>
                <label>"''"</label><action>'select-hash-red'</action> </button>
        </hbox>    
            <hseparator width-request="440"></hseparator>
        </hbox>    
    </vbox>

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

    <vbox>
        <hbox homogeneous="false">
            <hseparator width-request="420"></hseparator>

            <button visible="0" has-focus="false" height-request="33"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-blu.xpm'" </input><width>25</width><height>25</height>
                <label>"''"</label><action>'hash-blu'</action> </button>
 
              <button visible="1" tooltip-text="'hash-Blue'" ><input file>"'/tmp/EmGr-img-hash-blu.xpm'"</input><width>22</width><height>22</height>
                    <label>"''"</label><action>'select-Hash-BigBlu'</action> 
                <action function="'launch'">     msg_DC_Quick_Hash_BigBlu_window</action>
                <action function="'closewindow'">msg_DC_Quick_Hash_BigBlu_window</action> 
                </button>

            <button visible="1" label="'_BUILD_Menu.lst_+_ReBoot'" 
              tooltip-text="'Control_ONE_Menu.lst'" has-focus="false" height-request="25"> 
                <action>'_BUILD_Menu.lst_+_ReBoot_'</action>  
                <action function="'launch'">msg_DC_Quick_window</action>
                <action function="'closewindow'">msg_DC_Quick_window</action>
               </button>

            <button visible="1" tooltip-text="'hash-Green'" ><input file>"'/tmp/EmGr-img-hash-grn.xpm'"</input><width>22</width><height>22</height>
                    <label>"''"</label><action>'select-Hash-BigGrn'</action> 
                <action function="'launch'">     msg_DC_Quick_Hash_BigGrn_window</action>
                <action function="'closewindow'">msg_DC_Quick_Hash_BigGrn_window</action> 
                </button>

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

            <hseparator width-request="410"></hseparator>
        </hbox>


        <hbox homogeneous="false">

            <hseparator visible="'${gcMrgL1Adj}'" width-request="1"></hseparator>
            <hseparator width-request="3"></hseparator>

                        <button visible="0" tooltip-text="'hash-red'" ><input file>"'/tmp/EmGr-img-hash-red.xpm'"</input><width>30</width><height>30</height>
                            <label>"''"</label><action>'select-hash-red'</action> </button>
                        <button visible="0" tooltip-text="'hash-grn'" ><input file>"'/tmp/EmGr-img-hash-grn.xpm'"</input><width>30</width><height>30</height>
                            <label>"''"</label><action>'select-hash-grn'</action> </button>
                        <button visible="0" tooltip-text="'hash-blu'" ><input file>"'/tmp/EmGr-img-hash-blu.xpm'"</input><width>30</width><height>30</height>
                            <label>"''"</label><action>'select-hash-blu'</action> </button>

              <button visible="1" tooltip-text="'check-90-redXyel'" ><input file>"'/tmp/EmGr-img-Check-90-redXyel.svg'"</input><width>35</width><height>35</height>
                    <label>"''"</label> <action>'select-Check-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>

            <hseparator width-request="3"></hseparator>

           <button  visible="1"   tooltip-text="'___[1]_32:ARB_B4B'" has-focus="false"   xalign=".5">  
                <input file>"'/tmp/EmGr-img-Check-111-bluXred.svg'" </input><width>35</width><height>35</height>
                <label>"'B4B' "</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:ARB_B4B'</action>  </button>
            <hseparator width-request="3"></hseparator>


           <button  visible="1"   tooltip-text="'___[2]_32:ARB_B5B'" has-focus="false"   xalign=".5">  
                <input file>"'/tmp/EmGr-img-Check-111-bluXred.svg'" </input><width>35</width><height>35</height>
                <label>"'B5B' "</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:ARB_B5B'</action>  </button>
            <hseparator width-request="3"></hseparator>

           <button visible="1"  tooltip-text="'___[3]_64:ARB_B64'" has-focus="false"   xalign="0">  
                <input file>"'/tmp/EmGr-img-Check-111-bluXred.svg'" </input><width>35</width><height>35</height>
                <label>"'{B64B}'  "</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:ARB_B64B'</action>  </button>
            <hseparator width-request="3"></hseparator>

              <button visible="1" tooltip-text="'check-90-redXblu'" ><input file>"'/tmp/EmGr-img-Check-90-redXblu.svg'"</input><width>35</width><height>35</height>
                    <label>"''"</label> <action>'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" has-focus="false"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height> <label>"''"</label><action>'smo'</action> </button>
          <button  visible="1" has-focus="false"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height> <label>"''"</label><action>'smo'</action> </button>
          <button  visible="1" has-focus="false"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height> <label>"''"</label><action>'smo'</action> </button>
          <button  visible="1" has-focus="false"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height> <label>"''"</label><action>'smo'</action> </button>
           <button  visible="1" has-focus="false"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height> <label>"''"</label><action>'smo'</action> </button>
          <button  visible="1" has-focus="false"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height> <label>"''"</label><action>'smo'</action> </button>
           <button  visible="1" has-focus="false"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height> <label>"''"</label><action>'smo'</action> </button>
          <button  visible="1" has-focus="false"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height> <label>"''"</label><action>'smo'</action> </button>
           <button  visible="1" has-focus="false"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height> <label>"''"</label><action>'smo'</action> </button>
           <button  visible="0" has-focus="false"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height> <label>"''"</label><action>'smo'</action> </button>
            <hseparator width-request="3"></hseparator>

           <button   tooltip-text="'___[4]_32:ARB_N6N'  " has-focus="false"   xalign="1">  
                <input file>"'/tmp/EmGr-img-Check-111-grnXred.svg'" </input><width>35</width><height>35</height>
                <label>"'N6N'  "</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:ARB_N6N'</action>  </button>
            <hseparator width-request="3"></hseparator>


           <button  visible="1"   tooltip-text="'___[5]_32:ARB_T-6'" has-focus="false"   xalign=".5">  
                <input file>"'/tmp/EmGr-img-Check-111-grnXred.svg'" </input><width>35</width><height>35</height>
                <label>"'T-6' "</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:ARB_T-6'</action>  </button>
            <hseparator width-request="3"></hseparator>

              <button visible="1" tooltip-text="'check-90-redXgrn'" ><input file>"'/tmp/EmGr-img-Check-90-redXgrn.svg'"</input><width>35</width><height>35</height>
                    <label>"''"</label> <action>'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="55"></hseparator>
             <hseparator visible="'${gcMrgR1Adj}'" width-request="1"></hseparator>
             <hseparator visible="'${gcMrgR2Adj}'" width-request="15"></hseparator>
             <hseparator visible="'${gcMrgR3Adj}'" width-request="15"></hseparator>
        </hbox>


        <hbox homogeneous="false">

            <hseparator visible="'${gcMrgLAdj}'" width-request="5"></hseparator>
            <hseparator width-request="1"></hseparator>

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

            <button label="'_S1564_'"  tooltip-text="'_[7]_64:ARB_S1564'" has-focus="false" height-request="15"> 
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_S1564'</action>  </button>
            <button label="'_K-K_'"    tooltip-text="'[8]_32:ARB_K-K'" has-focus="false" height-request="15"> 
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_K-K'</action>  </button>
            <button label="'_X64_'"    tooltip-text="'[9]_64:ARB_X64'" has-focus="false" height-request="15"> 
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_X64'</action>  </button>

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

            <button label="'_S-7_'"    tooltip-text="'[10]_32:ARB_S-7'" has-focus="false" height-request="25"> 
                    <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="'_I-I_'"   tooltip-text="'[12]_32:ARB_I-I'" has-focus="false" height-request="25"> 
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_I-I'</action>  </button>
            <button label="'_S64_'"   tooltip-text="'[11]_64:ARB_S64'" has-focus="false" height-request="25"> 
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_S64'</action>  </button>
            <button label="'{M6M}'"      tooltip-text="'_[6]_32:ARB_M6M'" has-focus="false" height-request="15"> 
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_M6M'</action>  </button>

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

           <hseparator width-request="125"></hseparator>
           <hseparator visible="'${gcMrgRAdj}'" width-request="35"></hseparator>
 
        </hbox>


        <hbox homogeneous="false">
            <hseparator visible="'${gcMrgLAdj}'" width-request="5"></hseparator>
            <hseparator width-request="20"></hseparator>

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

            <button label="'_F-F_'"     tooltip-text="'[13]_32:ARB_F-F'" has-focus="false" height-request="25"> 
                    <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_'"    tooltip-text="'[14]_32:ARB_X708'" has-focus="false" height-request="25"> 
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_X708'</action>  </button>
            <button label="'_SLXSC_'"   tooltip-text="'[15]_32:ARB_SLXSC'" has-focus="false" height-request="25"> 
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_SLXSC'</action>  </button>
            <button label="'_J5J_'"     tooltip-text="'[16]_32:ARB_J5J'" has-focus="false" height-request="15"> 
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_J5J'</action>  </button>

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

            <button label="'_Qk7:.'"    tooltip-text="'[17]_32:ARB_Qk7'" has-focus="false" height-request="25"> 
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_Qk7'</action>  </button>
            <button label="':N7N:'"     tooltip-text="'[18]_32:ARB_N7N'" has-focus="false" height-request="25"> 
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_N7N'</action>  </button>
            <button label="':DBW:'"    tooltip-text="'_[20]_32:ARB_BW'" has-focus="false" height-request="15"> 
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:ARB_DBW'</action>  </button>



           <button has-focus="false" height-request="22"  xalign=".5">  
                <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height>
                <label>"''"</label><action>'smo'</action> </button>
            <hseparator width-request="155"></hseparator>
            <hseparator visible="'${gcMrgRAdj}'" width-request="25"></hseparator>

        </hbox>
    </vbox>    

<vbox visible="0">

<button  visible="true"  has-focus="false" width-request="95"  height-request="7"  xalign=".5"  tooltip-text="Top-Sp" >
    <label> "'notebook'" </label> <action>"0"</action></button>
<button visible="true" has-focus="false" height-request="20"  xalign=".5">  
    <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height>
    <label>"'NNN'"</label><action>'0'</action> </button>


<hseparator width-request="255"></hseparator>
               <notebook labels="_{Main}_|_{Dox}_|_{Util}">

            <vbox>
     <button tooltip-text="_NB_Main_">
        <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width> "25" </width> <height> "25" </height>
        <label>'-NoteBook-Main_'</label>
<action function="launch">msg_DC_LxgenMain_window</action> <action function="closewindow">msg_DC_LxgenMain_window</action>
        <action>'0'</action>   </button>
              </vbox>
              <vbox>
     <button tooltip-text="_NB_DOX_">
        <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width> "25" </width> <height> "25" </height>
        <label>'-NoteBook-Dox_'</label>
<action function="launch">msg_DC_LxgenDox_window</action> <action function="closewindow">msg_DC_LxgenDox_window</action>
                            </button>
              </vbox>
              <vbox>
   <button tooltip-text="_NB_UTL_">
        <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width> "25" </width> <height> "25" </height>
        <label>'-NoteBook-Util_'</label>
<action function="launch">msg_DC_LxgenUtil_window</action> <action function="closewindow">msg_DC_LxgenUtil_window</action>
                            </button>
             </vbox>
</notebook>
<button visible="true" has-focus="false" height-request="20"  xalign=".5">  
    <input file>"'/tmp/EmGr-img-hash-grn.xpm'" </input><width>10</width><height>10</height>
    <label>"'NNN'"</label><action>'0'</action> </button>
<button  visible="1"  has-focus="false" width-request="95"  height-request="7"  xalign=".5"  tooltip-text="Top-Sp" >
    <label> "'/notebook'" </label> <action>"0"</action></button>

</vbox>    
 
 
 
    <vseparator  visible="'${lcGuiVert}'" height-request="3" > </vseparator>
        <button  visible="'${lcGuiVert}'" has-focus="false" height-request="7"  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> "" </label><action>lxAction:C4</action></button>
        <vseparator  visible="'${lcGuiVert}'" height-request="5" > </vseparator>

        <hbox homogeneous="true">
            <button label="'==-Bak-One_/___PXB___/_Bak-All_Tool-Tip-==='"
            visible="true"  has-focus="false" >
            <action function="'launch'">msg_DC_BakOneAll_window</action> <action function="'closewindow'">msg_DC_BakOneAll_window</action>
            </button>
        </hbox>

    <vbox>
        <hbox>
            <hseparator width-request="55"></hseparator>


                <hseparator width-request="10"></hseparator>
        <hbox homogeneous="1">

            <hseparator width-request="62"></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_window</action><action function="'closewindow'">msg_DC_Quick_window</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 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_window</action><action function="'closewindow'">msg_DC_Quick_window</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="112"></hseparator>
        </hbox>

            <hseparator width-request="180"></hseparator>
        </hbox>
    </vbox>
    
    <hbox homogeneous="true">
        <vbox>
            <vseparator  visible="'1'" height-request="7"></vseparator>

            <button  visible="'1'" has-focus="false" height-request="7"  xalign=".5"   tooltip-text="before-QUIT" >
                    <label> "'...'" </label> <action>lxAction:Before-Quit</action></button>

            <hbox homogeneous="true">
                <button tooltip-text="'Double-Click-Program_Quit_'" >
                    <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>33</width>  <height>33</height>
                    <label>'!!!_QUIT-${gcSysNameBase}_PROGRAM_!!!'</label> 
                        <action function="'launch'">msg_DC_Quick_window</action>  <action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:guiMainQUIT'</action>
                </button>
            </hbox>
            <vseparator height-request="1" > </vseparator>
        </vbox>
    </hbox>

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

    <vbox> 
 
         <button  visible="'1'" has-focus="false" height-request="7"  xalign=".5"  tooltip-text="C4-/tmp/EmGr-img-apple-redblu.svg" >
            <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>15</width>  <height>15</height>
            <label> "..." </label><action>lxAction:C4</action></button>

    </vbox>

        <hbox homogeneous="true">
           <hseparator width-request="7"></hseparator>
     
            <button tooltip-text="S.I.M.P.L.E._guiSimReStart">
                <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width> "35" </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>
            <button tooltip-text="S.I.M.P.L.E.__guiSimReBoot">
                <input file>"'/tmp/EmGr-img-Check-bluXblu.svg'"</input><width> "35" </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="55"></hseparator>
 
            <button tooltip-text="S.I.M.P.L.E.__guiSimPowerOff">
                <input file>"'/tmp/EmGr-img-Check-redXred.svg'"</input><width> "35" </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>
           <button tooltip-text="S.I.M.P.L.E.__guiSimHalt">
                <input file>"'/tmp/EmGr-img-Check-redXred.svg'"</input><width> "35" </width> <height> "25" </height>
                <label>'_Halt__'</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="7"></hseparator>
        </hbox>
        <button  visible="'${lcGuiVert}'" has-focus="false" height-request="7"  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> "..." </label>
            <action>lxAction:C4</action></button>
 
    <text  visible="'0'"  editable="false" use-markup="true" xalign=".5">
        <label> "=============================================== " </label> </text>
    </vbox>


         <hbox visible="'${gcMrgRAdj}'">   <hseparator width-request="7"></hseparator>   </hbox>
        <hbox visible="'${gcMrgR1Adj}'">   <hseparator width-request="7"></hseparator>   </hbox>
        <hbox visible="'${gcMrgR2Adj}'">   <hseparator width-request="7"></hseparator>   </hbox>
        <hbox visible="'${gcMrgR3Adj}'">   <hseparator width-request="7"></hseparator>   </hbox>



    </hbox>
</vbox>
</window>'
#!
#! ## Master MAIN GUI MGR ### Dialog END ###############################
#! ## Master MAIN GUI MGR ### Dialog END ###############################
#! ## Master MAIN GUI MGR ### 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"
#!
#!
#!
#!
#!
#!
#!
#!
#! ###########################################################
#! begin: # Page MAIN 
#! ###########################################################
#!
#!
#! 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 .
### "CBXAPPLY+" triggers running all "checked" selections .
###
#!
#! Check-Box "CBX"  
#(: ========================================================
#(: fx IF EXIT:Check-Box       # Active   Check-Box "CBX"  # External calls
#(: called by: gui CBX
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! begin: ( EXIT:'CBX APPLY+')
#(: begin: check for "APPLY Checks" command   Ch3ck-Box "CBX"  # External calls
#(: fx EXIT='APPLY_Checks_All_'
#(: fx EXIT='CBXARR'
#(: fx EXIT='CBXARS'
#(: fx EXIT='CBXARB'
#(: fx EXIT='CBXAPO'
#!
#!
#! Fall-Thru Method  ===> Local Fall Thru with/to Terminating Routines:
#!
        #! Phase this "OUT" # NBC # NoteBookControl     # Not Used 
        #! ### IF/fi ###  UTL NoteBook Trigger ######################
        #! -----------------------------------------------------------
        #(: fx EXIT:gui_NBC_Ctrl    EXIT:gui_NBC_Ctrl   EXIT:gc_NBC_ctrl
        if [ "$EXIT" = "gui_NBC_Ctrl" ] ; then   # NoteBookControl flip & ReStart    # Not Used 
            Sbr_Splash_It "= ${gc_NBC_ctrl} =" "orange" "purple" "3"        #! -D---
            
            case "${gc_NBC_ctrl}" in   #! TARGET 
              "true") 
                        export gc_NBC_ctrl="false" 
                        ;;
               "false") 
                        export gc_NBC_ctrl="true" 
                        ;;
                *)  export gc_NBC_ctrl="false" 
                        ;;   
            esac
            Sbr_Splash_It "= ${gc_NBC_ctrl} =" "orange" "purple" "3"        #! -D---
            Sbr_ClearFlagsSystem 0  
            Sbr_Cbx_ReStart 1   
            #! Terminating control 
        fi
#! ======================================================


#!
#(: fx Check-Box     "CBX" System NOT USED in v.8
#! ======================================================
#(: fx IF EXIT:CBXARB     # NOT USED  C3C+S2F-Reboot
if [ ${EXIT} = "CBXARB" ]  ; 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---
                    #~ if  [ ${CBXC3C} = "true" ] ; then
        n=0
                    #~ Sbr_Splash_It "= if CBXC3C =" "yellow" "blue" "5"        #! -D---
                    #~ CBXALL=""
                    #~ llCBMASTER="1"  # Not Used
                    #~ lcMsgStr="->->-> if CheckApply" && Sbr_Str2DevTrm "$lcMsgStr" "6" "1"
        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
        #~ CBXC3C=""
        ### 
        echo "=== Begin === C3C ========================"
        ### Clear 3 Cache, Fast Direct Calls
        #~ Sbr_Splash_It "=Clear 3 Cache=" "yellow" "purple" "2"        #! -D---
        #!
        #! 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 ### 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     
        #!    
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_SDA_Only "BakAll"  # only from SDA
    Sbr_Sys_KillProc   # dev control 
    export gcE3Rcontrol=${EXIT} # simple, maintain this value,might restore 
    #! 
#~ fi  # 
#!

#! 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
#~ if [ "$EXIT" = "guiBakAllRS" ] ; then   # 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
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
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 "{1}--- 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:guiPXB_ion_RS   # ACTIVE on MAIN and System Page
#(: 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 MAIN and System Page
    n=0
    Sbr_Splash_It "---!!! calling  Sbr_PXB_INT_PXB + ReStart  !!!---" "yellow" "green" "3"       #! -D---
    #!
    Sbr_PXB_INT     #! INT code is "PXB" a copy of PCB_ion.sh  imported from /EDIT/ rc.z_PCB-ion 
    #!
    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 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 &
    #~ sleep 5
        #~ mpv /usr/share/audio/bell.wav
    #!
    #~ Sbr_Splash_It  "mplayer ===guiAudio StartUp-Sound" "yellow" "purple" "3"
    #! B4B mplayer
     mplayer /usr/share/audio/bark.au &
    mplayer /usr/share/audio/2barks.wav &
     sleep 3
    #~ mplayer /usr/share/audio/sys-chime.mp3 &
    #~ sleep 5
    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}
    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}
    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}
    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.
    # called by ROX with no parameter
    Sbr_Cbx_ReStart 1 &     ### must ReStart with no parameter.
    Sbr_ClearFlagsSystem  ""  #: clear lockfile, etc,  so that ReStart can run.
    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
    #   exit 0
    #
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_Sys_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            # internal SMP  + 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_HLP2   # 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
    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
    Sbr_Splash_It ">.>.> EXIT = guiDumpSRC" "green" "yellow" "2"  
    #!
    Sbr_Dump_SRC   # MGR_Src_Box    ### local function name
    #!
    Sbr_Splash_It "<.<.<. EXIT = guiDumpSRC" "orange" "green" "2"  
    Sbr_Cbx_ReStart 1  # no wait
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
    echo "--- Source --- Sbr_Dump_GUI ---${gcSysDistroName} ---"
    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
    echo "--- Source --- Sbr_Dump_IMG ---${gcSysDistroName} ---"
    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="--- UPopLegal --- Sbr_Dump_UPL --- ${gcSysDistroName} ---"
    Sbr_Dump_UPL    # MGR_UPL_Box
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpUPL
#!
#!
#!
#(: =====================================================
#(: 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="--- Sys Notes --- ${gcSysDistroName} ---"
    Sbr_Dump_Sys
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpSys
#!
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDxstro_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 System  ACTIVE
    n=0
    lcMsgStr="--- calls: Sbr_Dxstro_Window --- not a Msg_Window"
    Sbr_Dxstro_Window
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDxstro_window
#!
#!
#! 
#(: ==========================================================
#(: fx EXIT:guiCtxB1B2Rs   EXIT:guiCtxB1B2Rb   EXIT:guiCtxB1B2Rq     # ACTIVE
#(: called by: Main GUI Fall-Thru call to external PCB-ion 
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : called via MAIN page1     call to external PCB-ion 
#(:
#! ### Major <button> on MAIN page ###
#! #########################################################################################
#! function   EXIT:guiCtxB1B2Rs  EXIT:guiCtxB1B2Rb  EXIT:guiCtxB1B2Rq    
if  [ "$EXIT" = "guiCtxB1B2Rs" ] || [ "$EXIT" = "guiCtxB1B2Rb" ]  || [ "$EXIT" = "guiCtxB1B2Rq" ] ; then   #  CTX BakOne BakAll R?

        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
            Sbr_Splash_It "CTX + ReBOOT" "orange" "purple" "1"  
        fi

        if [ "$EXIT" = "guiCtxB1B2Rq" ] ; then      #! ReQUIT
            Sbr_Splash_It "CTX + ReQUIT" "orange" "purple" "1"  
        fi

#! ===========================================================

        Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run. todo: call CTB-SL
        #! Expand Verify -f Files : /EDIT vs /root/my-applications

#~ if [ "$EXIT" = "guiCtxB1B2Rs" ] || [ "$EXIT" = "guiCtxB1B2Rb" ]  || [ "$EXIT" = "guiCtxB1B2Rq" ] ; then 

        #! BakOne
        Sbr_BakOneArcDts

        #! BakAll
        Sbr_BakAllArcDts
#~ fi

#! ===========================================================
Sbr_S2F3_MI    # Save2File MI

#! ===========================================================
#!  Internal PCB is named PXB 
        Sbr_PXB_INT     #! INT code is "PXB" a copy of PCB_ion.sh  imported from /EDIT/ rc.z_PCB-ion 
#!
#! ===========================================================

                    if [ "$EXIT" = "guiCtxB1B2Rs" ] ; then
                            Sbr_Cbx_ReStart 1    
                    fi
                    if [ "$EXIT" = "guiCtxB1B2Rb" ] ; then
                            Sbr_Cbx_ReBoot 1     
                    fi
                    if [ "$EXIT" = "guiCtxB1B2Rq" ] ; then
                            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"  
        Sbr_Cbx_ReStart 1

fi # end: CTXB1B2
#!
#!
#! ########################################################
#! === 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"  

        #!  here, testing  for default /Dev/Edit
        if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
            [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
            #! 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
     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
    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 here --- CTB ---
    exit 0
fi # end: EXIT:guiCTB-SL
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiCTB-SLX-RS , RB , RQ        #! 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. 
#! #################################################################################
#! function [ EXIT:guiCTB-SLX-RB ] [ EXIT:guiCTB-SLX-RQ ] 
if [ "$EXIT" = "guiCTB-SLX-RS" ] || [ "$EXIT" = "guiCTB-SLX-RB" ] || [ "$EXIT" = "guiCTB-SLX-RQ" ] ; 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"  
        Sbr_BakAllArcDts
            #!
        lcFnRun="${gcRootApps}rc.z_CTB-SLX.sh"
        lcFnRunBaseSd="CTB"
        lcFnRunBaseFn="CTB-SLX"
        #!
        
        lcRnRun="/root/my-applications/rc.z_CTB-SLX.sh"     #! Only Call Production /root/my-applications Production. 
        if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
                Sbr_Splash_It "{1}" "yellow" "red" "1"  
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
                Sbr_FnNotFound "${lcFnRun}"
         fi

    if [ "$EXIT" = "guiCTB-SLX-RS" ] ; then   
        Sbr_Cbx_ReStart 1   
    fi
    if [ "$EXIT" = "guiCTB-SLX-RB" ] ; then   
        Sbr_Cbx_ReBoot 1   
    fi
    if [ "$EXIT" = "guiCTB-SLX-RQ" ] ; then   
        Sbr_Cbx_ReQuit 1   # EXIT:guiSimPowerOff        # ? ReBoot  or  ReQuit ??
    fi
    #!
fi # end: EXIT:guiCTB-SLX-RQ        # ReStart vs ReBoot vs ReQuit 
#!
#!
#!
#(: =================================================================
#(: 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
    #~ Sbr_Splash_It "Re-Start MGR from Top Bar" "yellow" "green" "1"  #! -D!---
    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
    EXIT="" # ## force "Fall Thru" if "exit 0" 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
    EXIT="" # ## force "Fall Thru" if "exit 0" 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   # = PowerOff
    EXIT="" ### force "Fall Thru" if 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   # EXIT:guiSimPowerOff
    EXIT="" ### force "Fall Thru" if call fails
    exit 1      #! ## "exit 1' , error , should terminate this program quietly
    #!
fi # guiSimHalt 
#!
#!
#!
#!
#! end: ;;;  QUIT   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#! =================================================
#!
#!
#!   Fall-Thru Method 
#!
#!
#! ================================================
#! begin:    ;;;  Menu Setup   ;;;
#! ================================================
#!
#!
#!
#(: =====================================================
#(: fx IF EXIT:ARB_00 || EXIT:ARB_KK || EXIT:ARB_BB || EXIT:ARB_JJ || EXIT:ARB_S7 || 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    EXIT:ARB_ORG || EXIT:ARB_ "ALL"  
#(: 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
#! ====================================================
#!
#!  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_B5B" ] || [ "$EXIT" = "ARB_N6N"   ] || [ "$EXIT" = "ARB_B4B"   ] \
|| [ "$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_DBW"   ] ; then
    n=0
    Sbr_Splash_It "[] Build Short Menu []" "yellow" "black" "3"   #! working
    Sbr_Sys_SDA_Only ": ARB_Short-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 # Build Short Menu : ARB_00, KK, JJ, B5B, S1564, X64, MM, BW, T6, S7, X6, JF, B4B
#
#! ================================================
#! ## end: Build Short Menu  
#! ================================================
#! 
#!      
#!
#! ================================================
#! ## begin: Build Long Menu  
#! ================================================
#!
#(: ==================================================================
#(: fx Build Long Menu    EXIT:ARB_ORG || EXIT:ARB_ "ALL"   #! ACTIVE
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: Build-Long-Generic-Menu: 
#(: calls:
#(: method: 
#(:
#! #########################################################
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 'Large' Menu.lst:
.      ${lcOsSubSplClrID}
.      ${EXIT} = menu.lst  "&
        RETVAL=$?
        GtkPid_Mnu_Box_Splash=$!    
        sleep 3
        kill ${GtkPid_Mnu_Box_Splash}
    #!
    Sbr_Menu_LongList
    Sbr_Cbx_ReStart 1   # SIMPLE Long Menu ReStart
fi # end: MenuLongList 
#!
#!
#! #####################################################
#! 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 :
#(:
#! ###########################################################
#(: fx IF EXIT:guiMandelbrot     
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
    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"
    Sbr_ClearFlagsSystem "0"   ### no display
    Sbr_ClearFlagsQuit  "0"    ### no display
    Sbr_Splash_Flip3 "${lcMsgStr}" ".2"
            #! list of flags to kill:
            #! rm -f "${MGR_TouchCBXstatus}"
            #! rm -f "${MGR_BackUpStatus}"
            #! rm -f "${MGR_LockFile}"
            #! rm -f "${MGR_ReStart_flg}"
    echo
    lcMsgStr=" " && Sbr_Str2DevTrm "${lcMsgStr}" "2" "7"
    lcMsgStr="... MGR : ReadMe info ! ... " && Sbr_Str2DevTrm "${lcMsgStr}" "2" "7"
    echo    
    lcMsgStr="->->->  Hit 'Enter' to clear Terminal"
    Sbr_Str2DevTrm "$lcMsgStr" "3" "5"
    Sbr_Str2DevTrm "$lcMsgStr" "2" "6"
    Sbr_Str2DevTrm "$lcMsgStr" "6" "7"
    #!
#~ Sbr_Splash_Quit "*======== MGR_Main-Quit ========*" "1"   #! Terminal Rainbow Quit
    #!
#~ lcMsgStr="<.<.<  Q.U.I.T. program >.>.>" && Sbr_Str2DevTrm "$lcMsgStr" "2" "5"
#~ lcMsgStr="-------------------------------------" && Sbr_Str2DevTrm "$lcMsgStr" "2" "5"
    #! caution: "halt"  will Kill the whole system calling ShutDown.sh 
    #! return && exit 0 ### will jump stack, then must "Quit" again to clear stack.
    #! Fall-Thru Trapped EXIT
    #! Final Splash and "OK" wait    #! generates (wd: message
    #~ /usr/lib/gtkdialog/box_ok "PCB-ion" timeout 3 complete "$0  SaveDATA Backup Completed:"
#~ gxmessage -title "${0}"  -name "${0}" -font bold -timeout 1  -fg yellow -bg darkred -center -wrap "
#~ <.<.<  Q.U.I.T. !!! program >.>.>"
    #!
    exit 0  
    #~ return  ### proper sequence must be "exit" then "return" down the "stack"
    #! 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 +/- gcNBWC
#(: calls:
#(: method: MGR-8  does not use GTK "notebook" widget.
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################################
if [ "$EXIT" = 'guiNoteBookWidget' ] ; then n=0  ;
    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_Splash_Quit "*===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"
    Sbr_ClearFlagsSystem  0   ### no display
    Sbr_ClearFlagsQuit   "1"   ### yes display
            #! list of flags to be killed :
            #! rm -f "${MGR_TouchCBXstatus}"
            #! rm -f "${MGR_BackUpStatus}"
            #! rm -f "${MGR_LockFile}"
            #! rm -f "${MGR_ReStart_flg}"
            #! rm -f "/tmp/MGR_Page_Control.flg"
    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 >.>.>"
    exit 0
    return
#!
#!
#!
#! ###################################
#! end: Bottom of MGR Fall-Thru 
#! ###################################
#!
#!
#!

#! ####################################
#! ### 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  
#!         "BookwormPup64")         gcMrgOutAdj="true" ;;
#!         "bionicpup64")      gcMrgOutAdj="false" ;;
#! MGR-8 + does not use GTK "notebook" widget.
#! MGR-8 + does use BASH "pagebook" method. 
#!
#! =========================================================================
#!
#! ************************************************************
#! PET install not required, 
#!      just place downloaded scripts into /root/my-applications and append PATH.
#! *************************************************************************************

#! ###################################
#!  Eagle-Cad
#!  https://mega.nz/folder/LOgVDahA#fBwQyz-er_iwzbRscN8_wA
#! ###################################

#! NOTES: 
#! --- 
#! Message Box Routines used: 
#! "--- "
#! #: Sbr_Box_Message :  
#! #: ... custom rewrite of gtkdialog Box_Help
#! #: ... used by 'HELP' , 'Distro', 'Proc', 'FAQ' 
#! --- 
#! #: gxMessage : 
#! #: ...    used by: PUP, GUI, SRC, IMG, UPL, SYS. 
#! #: ...    expects plain text . 
#! #: ...    displays 45 char long, then wraps. 
#! #: ...    line-length expands to 72++ 
#! "--- "

#! NOTES: 
#! cmd=(dialog  --separate-output --checklist "Mouse&OK  or  Pad&SpaceBar     Options: " 12 36 16)
#! options=(1 "Option 1" off    # any option can be set to default to "on"
#!          2 "Option 2" off
#!          3 "Option 3" off
#!          4 "Option 4" off
#!          )
#! choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
#! clear
#! for choice in $choices
#! do
#!  case $choice in
#!      1)
#!           echo "First Option"
#!          ;;
#!      2)
#!          echo "Second Option"
#!          ;;
#!      3)
#!          echo "Third Option"
#!          ;;
#!      4)
#!          echo "Fourth Option"
#!          ;;
#! esac
#! done
#! # choice contains a number of last choice
#! echo $choice
#!  lcMsgStr=" :....'choice' = < ${choice} >......."
#!  /bin/echo -e "\\033[0G\\033[1;37m*** \\033[1;33m$lcMsgStr\\033[1;37m***\\033[0;39m" # > /dev/console

#! #############
