#!/bin/bash
#!  
export gcSysDevDob="250707-0541"     
#!
#!  MGR-9 TXN generated !!!
#!
#! rc.z_MGR.sh  ::: MGR-9
#! BASH "Page" based GUI code
#! "Manager" for project development across 22 Puppy OS Distributions. 
#! all development has been "cased, cloned, hacked" by gae, 240101 initially.

#! ***************************************************************************
#!
#! rc.z_MGR.sh  ::: MGR-9
#! BASH "Page" plus GTK main-gui code
#! 9863 lines
#! 423 K bytes
#!
#! v2.0.0 there could be a save tmpfs->persistent-storage running...
#! while [ "`pidof snapmergepuppy`" ]; do sleep 1 ; done
#!
#! MGR.sh call:    echo -e "==" #>/dev/console 
#! all text output to MGR system must be    #>/dev/console    
#!
#! BASH calls:     echo -e "==" >/dev/console
#! all text output to BASH system must be    >/dev/console    
#!
#!
#! KSH KORN notation, not always valid in BOURNE shell. 
#! will always gen err flg !  -e will detect this err flg.
#! only option is to skip over error, by set +e .
#!  `date -%H%M-%S`
#!
#! *** Notes ************************************************************************
#! Development "MGR 5" moved on to a revised "MGR 6" 
#! Development "MGR 6" moved on to a revised "MGR 7" 
#! Development "MGR 7" moved on to a revised "MGR 8" 
#! Development "MGR 8" moved on to a revised "MGR 9" 
#! Development "MGR 9" Production level of "Bash-Page" "Toggle" development: 
#!      with Toggled System Page morphing screens.
#!      with independent floating windows "Main" "Dox" "Utility" "Vmb" 
#!      with com+++++++++++++++++++++++++++++++++++++++++++pacted "PageBook" style screen. 
#!      "PageBook" BASH method used in order to 'fit' in the screen universally. 
#!      "GTK" function "notebook" not used in MGR-8 nor MGR-9 .
#!      BASH "PageBook" used in MGR-9.1 .
#!      "GTK" function "toggle" <button> used in MGR-9.2 .
#! **********************************************************************************
#!
#! ==================================================================================
#! PET install not required, 
#!      MGR "project" has all required (dependent) scripts
#!      so, just place downloaded script into /root/my-applications .
#! Puppy Linux automatically provides /root/my-applications via "/etc/profile" script. 
#!   just place downloaded script into /root/my-applications. 
#! ==================================================================================
#!
#! **********************************************************************************
#! BASH is just a "shell" command interpreter as per POSIX definition. 
#! GTK is a GUI library, and meant to be imported in actual programming projects. 
#! You can't use GTK "directly" in BASH scripts.  
#! You can't use BASH scripts "directly" in Gtk.  
#! ********************************************************************************
#!  rc.z_MGR.   #!  sh:64:3: note: Not following: 
#!  /etc/DISTRO_SPECS was not specified as input (see shellcheck -x). [SC1091]
#! ***************************************************************************
#(: 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}"
#!
#! ************************************************************************************
#! MGR can Change DISTRO reboot by rewriting portions of "menu.lst" and then ReBooting
#! ************************************************************************************
#! 
#! ************************************************************************************
#!
export gcSysNameBase="MGR"  #: used code as system label some 40 times. 
export gcMgrVer="9"     # -dev-1056"   # "v:#" 
export gcMgrVerExt=".2"  #! current dev is Toggle-Morphing_Page_System     
export gcMgrVerNote="Embedded-Graphic__Bash-pageSystem__Morphing-Main-Menu"
export gcMgrNameBaseAll="${gcSysNameBase}${gcMgrVer}"
export gcMgrNameBase_All="${gcSysNameBase}-${gcMgrVer}"
export gcMgrVerID="${gcSysNameBase}${gcMgrVer} " # not used
export gcMgrVerTitle="Manager: ${gcMgrVer}${gcMgrVerExt} "  # req for "System Gui" title with '"ooo-"'  gcMgrVerTitle  '"-ooo"'
export gcMgrBashPid="$BASHPID"
export gcMgrLogInKey="JV4J-A9YI-UJFX"
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="190211"
export gcMgrDistroSymbol="..."
export gcDistroEOL="April 2029"  #! End Of Life
#! export gcDistroPuppyDate='Dec 2021' #! Published Date
#! *****************************************************
#!
#! ************************************************************
#! PATH: always include :/root/my-applications/bin to find dependency files 
PATH=$PATH::/root/my-applications:/usr/lib/gtkdialog:/root/my-applications/bin:/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_MGR 
#! ************************************************************
. /etc/DISTRO_SPECS       #  gather basic DISTRO data via Linux 
#!
 echo "Zero=${0}" >> /etc/rc.d/PUPSTATE #! establish the "zero" filename. 
. /etc/rc.d/PUPSTATE      #  gather basic "STATE" of Puppy operating system 
#! ************************************************************
#! ######################################################################################
#! ######################################################################################
#!
export gctoggleVmb="true"    #! Not Used
#! default 
export  gcDistroReboot="wmreboot"   #! standard if distro fails to "re"boot !
#!
#! example: DISTRO_NAME="BionicPup32"
export gcSysDistroName="${DISTRO_NAME}"
export GTKDIALOG=gtkdialog
#! *****************************************************
export gcMGRname="Manager" 
export gcMgrDevId="MGR"  
#~ export gcMgrDevIdFull="MGR-9"  
#! *****************************************************
#! 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 '-'`"
#! *********************************************************
#! gcMgrVerAll req for MAIN RUNNING Terminal Screen 
#!      "Sbr_Cbx_ReStart" First-Time-Running msg 
export gcMgrVerAll="Manager:${gcMgrId}${gcMgrVer}" 
#! *********************************************************
#! MB Multi-Button  P.A.G.E. VERTICAL  deprecated. Not Used . 
export  gcOsSubId="VERT"    # Not Used.  "VERT" section deprecated.
#!
if [ 0 -eq 1 ] ; then
    n=0  #! example of testing a stub conrol
fi # end: if [ 0 -eq 1 ]
#!
#!
#! Debug controllers:
    #! set -xe       # Start - x e
    #! set +xe      # Stop  + x e
#!
#! while [ "`pidof snapmergepuppy`" ]; do sleep 1 ; echo "PID-TEST"; done
#!
#(:  =======================================================================
#(:
#(:   "why" gtkdialog/box_help is used: 
#(:         gtkdialog/box_help will handle format and embedded color text codes.
#(:         MGR contains a Sbr of our hacked version of "box_help" 
#(:   "why" xmessage is not used; gxmessage is preferred: 
#(:         xmessage will NOT handle format and color embedded text codes.
#!
#(: ==========================================================================
#(:  begin: 
#(:  example of regular function header 
#(:     Each regular "function" has a "header" that begins with label like this:
#(:     The #(: lines are exported, via TXN.sh to become "Program Documentation". 
#(:     Programmers can build a stand-alone summary of All Code Modules .
#(:  function Sys() : Main Code Modules, which call "Sbr" .
#(:  function Sbr()  : Sub Modules , called by "Main Code Modules". 
#(: 
#(: ==================================================
#(: fx Sbr_Sys_yg3()  
#(: name: 
#(: param:
#(: purpose: Puppy Ascii Graphic Image for rc.sysinit and rc.shutdown 
#(: @param  #(:  @return  #(: call this way:  #(: called by:  #(: calls to: 
#(: returns:  #(: method:  #(: rationale:  #(: note:
#(: ==================================================
#(: function Sbr()  # example
#(:  name: 
#(: param:
#(: purpose:
#(:  @param
#(:  @return
#(: call this way:
#(: called by:
#(: calls to:
#(: returns:
#(: method:
#(: rationale:
#(: note:
#(:
#(: # end:  example of regular "function" label
#(: ==================================================
#!
#! ==================================================================================================
#! Margin Adjustment for MGR application. Developing Left-Right Center control 
#! for Main and Minor Gui Screens, 
#! purpose: to control different GTK format actions of 22 Puppy Linux Distros. 
#! ==================================================================================================
#! rationale: 
#!      GTK is 'almost' the same, across 22 Puppy Linux OS, 
#!      but some differences have been found in GTK screen placement and "homogeneous" command. 
#!
#! rationale:  
#!  Each DISTRO may handle GTK graphics slightly differently. 
#!  Slight Variations make a problem when building a consistent graphic screen layout. 
#! 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. 
#! implemented for B4B, and some other distros. 
#! goal: control this main-gui "Title" block to a centralized position on graphic layout, top line. 
#!                 <label>"'-MAIN--'"</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="1"   # 64/32bit flag  "Mrg" not "MGR" # used by "Merge Margin" Function . 
#!
#! default 
export  gcDistroReboot="wmreboot"
#!
#! =========================================================================================
#! NOTE about adjusting screen values to accomodate GTK across 22 different Puppy Distros. 
#! System GUI dimensions may require Adjustment across 22 different Puppy Linux Distros: 
#! Many Puppy Distros will run OK, without adjustments.  
#! Puppy Linux GTK assumes these screen setting at Main Gui 

                    #! System GUI dimensions:
                    #! assumes this default setting at Main Gui : which must be set via "'var'"  !
                    #! === Pre-Set =====================================================
                    #! <window dimensions must be must be set "'var'" 
                    #! <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". 

#!       literal      width-request="980"
#!       literal     height-request="750"
#!
#! Therefore any adjustments to fit GTK must be by a variable pushed to 
#!    <hseparator width-request="$variable"> </hseparator>
#!
#! Begin: calculate Adjustments for GTK 22 different Puppy Linux Distros: 
#!
#!--- differentiate each Distro via DISTRO_SPECS :
#!    via "DISTRO_NAME" 
#!    via "DISTRO_PUPPYDATE" 
#!    via "DISTRO_PUPPYDATE" 
#!
#!--- differentiate each Distro via PUPSTATE :
#!    via "PSUBDIR"   in order to set proper main-gui Window Width .
#!
#! ========================================================================
#! default  "NoteBook_Gui_Position" : top of source code, L:275
gcMrgGuiWid="1300"   
gcMrgGuiHgt="650"   
#!
#! ========================================================================
#(: 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"  
                export gcMrgGuiWid="1300"   

            if [ "${DISTRO_PUPPYDATE}" = "Dec 2021" ] ; then  
                 export gcMgrDistroSymbol="{B_4_B-21}"  #! ":K4" 
                 export gcMgrIsoDate="iso_B4B_bionicpup32-8.0+30-uefi-220407-2305"    #! 230603  #! 190314
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                 export gcDistroEOL=""
                export gcMrgGuiWid="1300"   
            fi
            #! info taken from DISTRO_SPECS     #! 
            #! BionicPup32 Kernal 5 : B5B DISTRO_PUPPYDATE='Apr 2022'
            if [ "${DISTRO_PUPPYDATE}" = "Apr 2022" ] ; then  
                 export gcMgrDistroSymbol="{B_4_B-22}"  #! ":K4" 
                 export gcMgrIsoDate="iso_B4B_bionicpup32-8.0+30-uefi-220407-2305"    #! 230603  #! 190314
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                 export gcDistroEOL=""
                export gcMrgGuiWid="1300"   
            fi
            #! info taken from DISTRO_SPECS     #! 
            #! BionicPup32 Kernal 5 : B5B DISTRO_PUPPYDATE='Dec 2023'
            if [ "${DISTRO_PUPPYDATE}" = "Dec 2023" ] ; then  
                 export gcMgrDistroSymbol="{B_5_B-23}"  #! :K5'"
                 export gcMgrIsoDate="iso_BionicPup32-19.03-240602"   #! 240611
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                export gcMrgGuiWid="1300"   
            fi
            ;;
        "bionicpup64")
         gcMrgBit32="0"      && gcMgrDistroSymbol="{_B-64-B_}"
         gcMrgOutAdj="0"  &&  gcMrgLAdj="0"  &&  gcMrgRAdj="0"    gcMrgL1Adj="0"  &&  gcMrgL2Adj="true"  &&  gcMrgL3Adj="true"  
         gcMrgR1Adj="0"  &&  gcMrgR2Adj="false"  &&  gcMrgR3Adj="false" 
                 export gcMgrDistroSymbol="{B_64_B}"  #! :K5'"
                 export gcMgrIsoDate="iso_BookwormPup64_10.0.7_240820"   #! 240611
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                 #! pup_DpupBW-SDA
                export gcMrgGuiWid="1300"   
            ;;
        "tahrpup")          gcMrgOutAdj="true"  &&  gcMrgLAdj="true"  &&  gcMrgRAdj="true"    
         gcMrgBit32="1"     && gcMgrDistroSymbol="T-6"
         gcMrgL1Adj="true"  &&  gcMrgL2Adj="true"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="0"  &&  gcMrgR2Adj="0"  &&  gcMrgR3Adj="0" 
                export gcMgrDistroSymbol="Tahr-6"
                export gcDistroEOL="190211"
                export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                export gcMrgGuiWid="1300"   
            ;;
#! #####################################################################
#! #####################################################################
       "NoblePup32") 
                  gcMrgOutAdj="true"  &&   gcMrgLAdj="1" &&  gcMrgRAdj="0"  
         gcMrgBit32="1" 
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1" 
                export gcMrgGuiWid="1300"   
#! #####################################################################
            #! info taken from DISTRO_SPECS or PUPSTATE    #! 
            #! NoblePup32 N-8-N 
            #!      iso_NoblePup32-24.04-240907
            #!      DISTRO_PUPPYDATE='Feb 2024'
            #!      DISTRO_DB_SUBNAME='upupnn+bw'
			#! PUPSTATE has "PSUBDIR" unique to N-7-N 
			if [ "${PSUBDIR}" = "/pup_UpupN8-SDA" ] ; then
                 export gcMgrDistroSymbol="{N-8-N_K6.6.48}"  #! on system screen 
                 export gcMgrIsoDate="iso_NoblePup32-24.04-241101"   #!
                 export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                export gcMrgGuiWid="1300"   
            fi
            ;;
#! #####################################################################
            #! info taken from DISTRO_SPECS or PUPSTATE    #! 
            #! NoblePup32 N-7-N 
            #!      iso_NoblePup32-24.04-240907
            #!      DISTRO_PUPPYDATE='Feb 2024'
            #!      DISTRO_DB_SUBNAME='upupnn+bw'
			#! PUPSTATE has "PSUBDIR" unique to N-7-N 
			#~ if [ "${PSUBDIR}" = "/pup_UpupN7-SDA" ] ; then
                 #~ export gcMgrDistroSymbol="{N-7-N_K6.6.48}"  #! on system screen 
                 #~ export gcMgrIsoDate="iso_NoblePup32-24.04-240907"   #!
                 #~ export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                #~ export gcMrgGuiWid="1300"   
            #~ fi
            #~ ;;
#! #####################################################################
            #! info taken from DISTRO_SPECS or PUPSTATE    #! 
            #! NoblePup32 N-6-N 
            #!      iso_NoblePup32-24.04-240907
            #!      DISTRO_PUPPYDATE='Feb 2024'
            #!      DISTRO_DB_SUBNAME='upupnn+bw'
			#! PUPSTATE has "PSUBDIR" unique to N-6-N 
            #~ if [ "${PSUBDIR}" = "/pup_UpupN6-SDA" ] ; then
                 #~ export gcMgrDistroSymbol="{N-6-N_K6.6.15}"  #! on system screen
                 #~ export gcMgrIsoDate="iso_NoblePup32-24.04-240907"   #! 
                 #~ export gcMgrPuppyDate="${DISTRO_PUPPYDATE}"
                #~ export gcMrgGuiWid="1300"   
            #~ fi
#! #####################################################################

#! #####################################################################
       "BookwormPup32")
            gcMrgOutAdj="true" &&  gcMrgLAdj="1"  &&  gcMrgRAdj="true"   
         gcMrgBit32="1"      && gcMgrDistroSymbol=":DBW-32:"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"   
            export gcMgrDistroSymbol="B32W"
            export gcDistroEOL="231209"
                export gcMrgGuiWid="1100"   
            ;;
       "BookwormPup64")     gcMrgOutAdj="true" &&  gcMrgLAdj="1"  &&  gcMrgRAdj="true"   
         gcMrgBit32="0"      && gcMgrDistroSymbol="DBW-64"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="0"
            export gcMgrDistroSymbol="B-64-W"
            export gcDistroEOL="231210"
                export gcMrgGuiWid="1100"   
            ;;
       "ManticPup32")            gcMrgOutAdj="true"  &&   gcMrgLAdj="1" &&  gcMrgRAdj="1"  
         gcMrgBit32="1"      && gcMgrDistroSymbol="M-6-M"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1" 
                export gcMrgGuiWid="1100"   
            ;;
       "S15Pup64")          gcMrgOutAdj="true"  &&   gcMrgLAdj="1" &&  gcMrgRAdj="1"  
         gcMrgBit32="0"      && gcMgrDistroSymbol="S1564"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1" 
                export gcMrgGuiWid="1100"   
            ;;
       "JammyPup32")        gcMrgOutAdj="false"  &&  gcMrgLAdj="false"  && gcMrgRAdj="false"   
         gcMrgBit32="1"      && gcMgrDistroSymbol="J-J"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
                export gcMrgGuiWid="1100"   
       ;;
       "KineticPup32")      gcMrgOutAdj="false"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="1"      && gcMgrDistroSymbol="K-K"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
                export gcMrgGuiWid="1100"   
       ;;
        "xenialpup64")      gcMrgOutAdj="false"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="0"      && gcMgrDistroSymbol="X64"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
                export gcMrgGuiWid="1100"   
        ;;
        "ImpishPup32")      gcMrgOutAdj="false"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="1"      && gcMgrDistroSymbol="I-I"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
                export gcMrgGuiWid="1100"   
        ;;
        "Slacko64 Puppy")   gcMrgOutAdj="false"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="0"      && gcMgrDistroSymbol="S64"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
                export gcMrgGuiWid="1100"   
        ;;
        "UPupFF+D")         gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="1"      && gcMgrDistroSymbol="F-F"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
                export gcMrgGuiWid="1100"   
        ;;
        "xenialpup")        gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"  
         gcMrgBit32="1"      && gcMgrDistroSymbol="X708"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
                export gcMrgGuiWid="1100"   
        ;;
        "LxPupSc")          gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"   
         gcMrgBit32="1"      && gcMgrDistroSymbol="SLxSc"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"   
                export gcMrgGuiWid="1100"   
            ;;
        "SLK64")          gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"   
         gcMrgBit32="1"      && gcMgrDistroSymbol="SLK64"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"   
                export gcMrgGuiWid="1100"   
            ;;
        "Quirky April")         gcMrgOutAdj="true"  && gcMrgLAdj="false"  &&  gcMrgRAdj="false"   
         gcMrgBit32="1"      && gcMgrDistroSymbol="Qk7"    && gcDistroReboot="wmreboot"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"   
                export gcMrgGuiWid="1100"   
            ;;
           *)
         gcMrgOutAdj="true"   && gcMrgLAdj="true"  &&  gcMrgRAdj="true"   
         gcMrgBit32="0"      && gcMgrDistroSymbol="-"
         gcMrgL1Adj="1"  &&  gcMrgL2Adj="1"  &&  gcMrgL3Adj="1"  
         gcMrgR1Adj="1"  &&  gcMrgR2Adj="1"  &&  gcMrgR3Adj="1"  
                export gcMrgGuiWid="1100"   
            ;;
        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"     
#!
export gcMgrDevID="Manager:.EmGr.DblClk.MnxGen.MorphingMainScreen" 
export gcMgrDevName="MGR....Embedded-Graphics..DblClkButtons...MorphingMain..."
#!
export gcSysSave="`echo -n "$PUPSAVE" | cut -f 3 -d ','`"
export gcSysSaveFn="`echo -n "$gcSysSave" | cut -f 3 -d '/'`"
export gcSysIdFull="${gcSysSave}"           # ${PUPSAVE} # like "iso-KineticPup32-22.10"
#!
export gcSysDevHw="MCT-AMD-500_Bios2009_64-32"  # Dev Computer HardWare. see "Sbr_Dump_SYS-Declare" 
#! * system: machine: `uname -m` 
#! * processor: `uname -p`      
#! * platform: `uname -i` 
#! * operating sys: `uname -o` 
#!
export gcBootOsHd="SDA"         # OS Hard-Drive, required in menu.lst build
export gcBootOsExe="${0}"       # This Executable Bash Script
#!
#!
#! ### gcSysKillProc #####################
#! ### purpose: disable certain routines, hide from public access. 
#! ###    for example: 
#! ###    in a "sample distribution" we kill calls to external programs, 
#! ###    These external programs are "requisites" but not delivered via this sample project.
export gcSysKillProc=0  ### used by Sbr_KillProc to enable/inhibit some subroutines. 
#! if [ ${gcSysKillProc} -eq 0 ] then do "enable" all GTK dialog <button> DEV process, 
#! if [ ${gcSysKillProc} -eq 1 ] then do "stub kill" for some GTK dialog <button> PRODUCTION process
#! ### gcSysKillProc #####################
#! ###    some of these external programs 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"  
#!
export gcNBWC="false"     # flip +/- gcNBWC
#(: ================================================
#! 
#! Data & Flag for Embedded Graphic Image ### backup and flag-file
export gcEmGaImgFnTrgTxtMaster="/tmp/EmGa-Master-IMG.txt"   # Image Master 
#!
export lcGuiColorbrn="brown"
export lcGuiColorgrn="green"
export lcGuiColorblu="blue"
export lcGuiColorred="red"
export lcGuiColorora="orange"
#!
#!
#(:
#! ################################################
#! end: Fall-Thru "initz" 
#! ################################################
#!
#!
#! ################################################
#! begin: Fall-Thru "fx Sbr SubRoutines" 
#! ################################################
#!
#!
#!
#(: ==========================================================================
#(: fx Sbr_Str2DevTrm   #! Standard  Terminal/devconsole display.    #! ACTIVE   
#(: last edit: 240218-0500   
#(: called by: everyone.  #  Preferred for Terminal display.
#(: param:
#(:      ## STRING message
#(:      ## COLOR name or number
#(:      ## MARGIN number 
#(:      ## Destination Display lcS2Topt
#(:
#(: purpose: Display "String" to DevConsole or Terminal
#(: calls:
#(: method: param : "char string" "# color" "# margin"
#(: sends:
#(: rationale:
#(: note :
#! ###############################################################################
function Sbr_Str2DevTrm() {   #! Standard  Terminal/devconsole display.  #! 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     #! Standard  Terminal/devconsole display.    #! ACTIVE   
#!
#(: ==================================================
#(: fx Sbr_Show_in_Path   # NOT ACTIVE 
#(: called by:  pageV
#~ function Sbr_Show_in_Path() { 
#~ echo "======= ii-in-path.sh === ls-simple ==="
#~ IFS=':'
#~ for ii in $PATH
#~ do
        #~ echo $ii
        #~ lcMsgStr="${ii}"
        #~ /bin/echo -e    "\\033[10G\\033[1;35m--- \\033[1;34m $lcMsgStr \\033[1;35m---\\033[0;39m"   #    > /dev/console  
#~ done
#~ }
#~ export -f Sbr_Show_in_Path
#!
#!
#!
#(: ==================================================
#(: 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}
    #!
    lcMsgOpt="$5"   # if not, then standard is do the kill 
    if [ ! $5 ] ; then  # IF   No Option,  THEN   kill pid ( compatible / normal)
        kill ${GTKPID_Cold_Splash}
        #!   if NOT flag, then KILL.  This is Normal.
    fi    
    #!
    } #
    export -f Sbr_Splash_It
    #!
#(: =====================================================
#(: fx Sbr_Splash_Banner
#(: called by: Main GUI "QUIT Program"
#(: param:
#(: purpose: "QUIT" program has banner.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : called 8666, 8733 
#(:
#! #####################################################
function Sbr_Splash_Banner() {  # ACTIVE
        n=0
        #! Standard End of Source Banner 
        #!               #========
        #!           #========
        #!       #========
        #!   #========
        #!       #========
        #!           #========
        #!               #========
        echo
        echo
        echo "*======== $1 ========*"  
        lcMsgStr0=$1
        #!
        echo
        echo        
        lcMsgStr="*===->->-> ${lcMsgStr0} ===*"    # text fg mrg
        Sbr_Str2DevTrm "$lcMsgStr" "7" "7" 
        Sbr_Str2DevTrm "$lcMsgStr" "6" "6" 
        Sbr_Str2DevTrm "$lcMsgStr" "5" "5" 
        Sbr_Str2DevTrm "$lcMsgStr" "4" "4" 
        Sbr_Str2DevTrm "$lcMsgStr" "3" "3" 
        Sbr_Str2DevTrm "$lcMsgStr" "2" "2" 
        Sbr_Str2DevTrm "$lcMsgStr" "1" "1" 
        Sbr_Str2DevTrm "$lcMsgStr" "2" "2" 
        Sbr_Str2DevTrm "$lcMsgStr" "3" "3" 
        Sbr_Str2DevTrm "$lcMsgStr" "4" "4" 
        Sbr_Str2DevTrm "$lcMsgStr" "5" "5" 
        Sbr_Str2DevTrm "$lcMsgStr" "6" "6" 
        Sbr_Str2DevTrm "$lcMsgStr" "7" "7" 
        echo 
         #! colorful rainbow splash for FALL-THRU 
         #! and trap for 'loose' code.  Str, Mgn, Color
         lcMsgStr="======================================= "  &&     Sbr_Str2DevTrm "$lcMsgStr" "3" "5"
        DISTRO_NAME_Z="DistroName: $DISTRO_NAME"
        lcMsgStr="=== ${DISTRO_NAME_Z} "  &&     Sbr_Str2DevTrm "$lcMsgStr" "3" "7"
        DISTRO_NAME_Z="Alpha:"$(echo $DISTRO_NAME | tr -dc 'A-z')
        lcMsgStr="=== Orig ${DISTRO_NAME_Z} "  &&     Sbr_Str2DevTrm "$lcMsgStr" "3" "7"
        DISTRO_NAME_Z="Numbers:"$(echo $DISTRO_NAME | tr -dc '0-9')
        lcMsgStr="=== Orig ${DISTRO_NAME_Z} "  &&     Sbr_Str2DevTrm "$lcMsgStr" "3" "7"
        lcMsgStr="  " && Sbr_Str2DevTrm "$lcMsgStr" "2" "3"
        lcMsgStr="======================================= "  &&     Sbr_Str2DevTrm "$lcMsgStr" "3" "5"
} # end
export -f Sbr_Splash_Banner
#!
#(: =====================================================
#(: fx Sbr_Splash_Pup   #! 
#(: called by: Main Quit
#(: param:
#(: purpose: 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : 
#(:
#! #####################################################
function Sbr_Splash_Pup() {  # Active
    echo  " "   #>/dev/console
    #! lcMsgStr="$0" 
    #! && /bin/echo -e "\\033[5G\\033[1;36m *** \\033[1;32m ${lcMsgStr} \\033[1;36m *** \\033[0;39m" #>/dev/console
    #~ echo -e "             " #>/dev/console
    #~ echo -e "             " #>/dev/console
	#~ echo -e "         = = " #>/dev/console
	#~ echo -e "         = = " #>/dev/console
	#~ echo -e "       =     =" #>/dev/console
	#~ echo -e "      =       = " #>/dev/console
    #~ neofetch --ascii_colors 3 4 5  #>/dev/console  && sleep .3
###########################################################
#! echo "   3 1 2   " 
#(: ==================================================
#(: fx Sbr_Sys_yg3()  
#(: name: 
#(: param:
#(: purpose: Puppy Ascii Graphic Image for rc.sysinit and rc.shutdown 
#(: @param #(:  @return #(: call this way: #(: called by: #(: calls to: 
#(: returns: #(: method: #(: rationale: #(: note:
#(:
n=0
lcMsgStr1="/     -/osyyyysosyhhhhhyys+-
    -ohmNNmh+/hMMMMMMMMNNNNd+dMMMMNM+
  yMMMMNNmmddo/NMMMNNNNNNNNNo+NNNNNy
.NNNNNNmmmddds:MMNNNNNNNNNNNh:mNNN/
-NNNdyyyhdmmmd dNNNNNmmmmNNmdd/os/"
lcMsgStr2="/
.Nm+shddyooo+/smNNNNmmmmNh.   :mmd.
 NNNNy:    ./hmmmmmmmNNNN:     hNMh
 NMN-    -++- +NNNNNNNNNNm+..-sMMMM-
.MMo    oNNNNo hNNNNNNNNmhdNNNMMMMM+
.MMs    /NNNN/ dNmhs+:-  yMMMMMMMM+
 mMM+     .. sNN+.      hMMMMhhMMM-
 +MMMmo:...:sNMMMMMms:  hMMMMm.hMMy"
lcMsgStr3="/ yMMMMMMMMMMMNdMMMMMM::/+o+/
   sMMMMMMMMMMN+:oyyo:sMMMNNMMMNy
    :mMMMMMMMMMMMmddNMMMMMMMMmh/
      /dMMMMMMMMMMMMMMMMMMNdy/
        .+hNMMMMMMMMMNmdhs/.
            .:/+ooo+/:-." 

lcMsgStr11="'\\033[1G\\033[1;31m ${lcMsgStr1}'"
lcMsgStr12="'\\033[1G\\033[1;37m ${lcMsgStr2}'"
lcMsgStr13="'\\033[1G\\033[1;34m ${lcMsgStr3}'"

/bin/echo -en "${lcMsgStr11}" # > /dev/console 
/bin/echo -en "${lcMsgStr12}" # > /dev/console 
/bin/echo -en "${lcMsgStr13}" # > /dev/console 

/bin/echo -en "${lcMsgStr11}"  > /dev/console 
/bin/echo -en "${lcMsgStr12}"  > /dev/console 
/bin/echo -en "${lcMsgStr13}"  > /dev/console 

echo " "
#! that's all ! gae
} # end 
export -f Sbr_Splash_Pup

#(: =====================================================
#(: fx Sbr_Splash_Neo   #! Active
#(: called by: Main Quit 
#(: param:
#(: purpose: 
function Sbr_Splash_Neo() {
    echo -e "         = = "      #>/dev/console
    echo -e "       =     ="     #>/dev/console
    echo -e "      =       = "   #>/dev/console

    # lcFn="neofetch"
    # if [ -f "${lcFnSrc}" ]  ; then    #! long delay during seek fn 
        neofetch  --ascii_colors 3 1 2   
        #! echo "neo 3 1 2" > /dev/console &&   echo "neo 3 1 2" 
        #! lcMsgStr="...    neo 3 1 2    ... " && Sbr_Str2DevTrm "${lcMsgStr}" "2" "7"
    # fi     #>/dev/console   
    #! not called because main ( ) screen titling is quicker / more important.
#! that's all !
} # end 
export -f Sbr_Splash_Neo


#(: =====================================================
#(: fx Sbr_Splash_Pup_Neo   #! Active
#(: called by: Main Quit 
#(: param:
#(: purpose: 
function Sbr_Splash_Pup_Neo() {
    Sbr_Splash_Pup
    Sbr_Splash_Neo
#! that's all !
} # end
export -f Sbr_Splash_Pup_Neo
#!
#! ### END ### Splash ####!
#!
#(: =====================================================
#(: fx Sbr_Test_32bit
#(: called by: 
#(: param:
#(: purpose: test if system is 32 bit
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#! ###########################################################
function   Sbr_Test_32bit() { 
    if [ "${gcMrgBit32}" = "1" ] ; then     #! running 32 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_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---
    sleep 3
} #! 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  #  
#! === _MB_ === PageBook_VMB === DEVELOPMENT ONLY ================================
#! 
#!
#(: ================================================================
#(: fx Sbr_S2F1_MI    #! Internal   :1: SMP1_MI :    #!ACTIVE 
#(: called by:  To Do: call direct INTERNAL ( no dependency ) 
#(: param:  
#(: purpose: wrapper for external system call to SMP 
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_S2F1_MI() {   #! :1: SMP1_MI :  Save2File  Internal  ACTIVE
    #! see msg_DC_LxgenVmb_window
    #! called by Sbr_MB  and Sbr_MB_Reboot Installed Menu
    n=0
#! ========================
Sbr_Splash_It ":MI : SMP1_MI :"  "black" "yellow"  ""         #! -D---
ionice -c 1 snapmergepuppy   
    sleep 1
    kill ${GTKPID_Cold_Splash}
#~ Sbr_Splash_It ": DONE : SMP1_MI :"  "yellow" "green"  ""         #! -D---
    sleep 2
    kill ${GTKPID_Cold_Splash}
} #! end
export -f Sbr_S2F1_MI    
#!
#!
#!
#(: ================================================================
#(: fx Sbr_S2F3_MI  # Internal  :3: SMP3_MI  #! ACTIVE   
#(: called by:  To Do: call direct INTERNAL ( no dependency ) 
#(: param:  
#(: purpose: wrapper for external system call to SMP 
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_S2F3_MI() {    #! :3:  SMP3_MI  #!ACTIVE     # Internal 
    #! called by Sbr_MB_ALL   
    n="0"
Sbr_Splash_It  ":1: SMP3_MI :==="  "black" "yellow"  ""         #! -D---
ionice -c 1 snapmergepuppy    
    sleep 1
    #~ 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 " :3: 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}
} #! end
export -f Sbr_S2F3_MI    
#! #################################################################
#!
#(: ================================================================
#(: fx Sbr_MB_sfs_load    # NOT ACTIVE  
#(: called by:  To Do: call direct exteernal 
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_sfs_load() {    # NOT 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
} #! end
export -f Sbr_MB_sfs_load
#!
#!
#(: ================================================================
#(: fx Sbr_MB_jwd    #  NOT ACTIVE  
#(: called by:  
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_jwd() {     #  NOT 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    #  NOT ACTIVE  
#(: called by:  
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_JWD() {      # NOT ACTIVE
    #! alternate call
    n=0
    Sbr_MB_jwd
} #
export -f Sbr_MB_JWD
#!
#!
#!
#(: ================================================================
#(: fx Sbr_MB_ppr    #  NOT ACTIVE  
#(: called by:  
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_ppr() {     # NOT 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    #  NOT ACTIVE  
#(: called by:  
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_rox() {      # NOT ACTIVE
    #!  calls system "ROX" file manager. 
    n=0
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    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    #  NOT ACTIVE  
#(: called by:  
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_p_mnt() {     # NOT ACTIVE
    #! called from Page UTIL 
    n=0
    Sbr_Splash_It "Sbr_MB_p_mnt" "yellow" "red" "3"
    Sbr_Sys_KillProc        # gui-P-MntInt
    Sbr_MGR_pMount_All "1"      ### Sbr -> internal
} #
export -f Sbr_MB_p_mnt
#!
#!
#(: ================================================================
#(: fx Sbr_MB_u_mnt    #  NOT ACTIVE  
#(: called by:  
#(: param:  
#(: purpose:
#(: method: 
#(: sends:
#(: rationale:
#! #######################################################
function Sbr_MB_u_mnt() {    #  NOT 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 ==========================
#(: ========================================================
#(: 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() {  # NOT ACTIVE   
    #! pageV pageVert, config method not developed yet
    n=0
    #! 
    #! === 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. 
    #!
    #! 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 ==========================
#!
#!
#! ===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 #########"
        echo "###################################{ Bionic 4 Beaver  K:4 32bit }"
        echo "title  1 {{=_B4B_=}}----< UpupBB-K:4.9  > ------------K:4_32--220407 \n  \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupB4B-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupB4B-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupB4B-${gcBootOsHd}/initrd.gz"
        echo "###################################{ Bionic 5 Beaver  K:5 32bit }"
        echo "title  2 {{=_B5B_=}}----< UpupBB-K:5.10 >-------------K:5_32- 230612 \n  \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupB5B-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupB5B-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupB5B-${gcBootOsHd}/initrd.gz"
        echo "###################################{ Bionic Beaver    K:4 64bit }"
        echo "title  3 {==_B64B_==}---<UpupB64B-K:6.> --------------K:4_64- 231219   \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupB64B-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupB64B-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupB64B-${gcBootOsHd}/initrd.gz"
        echo "# ###################################{ Noble Numbat   K:6-32bit }"
        echo "title  4 {{=_N8N_=}}---< Noble-Numbat k:6.48>---------K:6_32- 241101  \n  \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-SDA"
        echo "  kernel /pup_UpupN8-${gcBootOsHd}/vmlinuz  psubdir=/pup_UpupN8-${gcBootOsHd} pmedia=usbflash pfix=fsck"
        echo "  initrd /pup_UpupN8-${gcBootOsHd}/initrd.gz"
        echo "###################################{ Tahr-6.06}       K:3-32bit }"
        echo "title  5 {==_T-6_==}---< Tahr-6.06 K:3 > -------------K:3-32- 190211   \n \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupT6-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupT6-${gcBootOsHd}  pmedia=usbflash  pfix=fsck,copy"
        echo "  initrd /pup_UpupT6-${gcBootOsHd}/initrd.gz"
        echo "###################################{ Mantic Minotaur    K:6-32bit }"
        echo "title  6 {_M6M_}-<UpupMM-23.11> Mantic-Minotaur-L6------K:6_32- 231226 \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupMM-SDA/vmlinuz    psubdir=/pup_UpupMM-SDA pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupMM-SDA/initrd.gz"
        echo "###################################{ S15pup64 Slacko    K:5-64bit }"
        echo "title  7 {_S1564_}----- <S15pup64-20.01> ---------------K:5_64- 230724 \n \n \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_S15pup64-${gcBootOsHd}/vmlinuz    psubdir=/pup_S15pup64-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_S15pup64-${gcBootOsHd}/initrd.gz"
        echo "###################################{ Kinetic Kudu +D.22 } "
        echo "title  8 { K-K }------- UpupKK+D-22.  ------------------K:5_32- 230604 \n \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupKK-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupKK-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupKK-${gcBootOsHd}/initrd.gz"
        echo "####################34###############{ Xenial-64-750}"
        echo "title  9 {_X64_}----<Xenial-64-750> -------FF--LO----K:4_64- 220401  \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupX64-${gcBootOsHd}/vmlinuz  psubdir=/pup_UpupX64-SDA pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupX64-${gcBootOsHd}/initrd.gz"
        echo "###################################{ pup Slacko7+14.2 }"
        echo "title 10 { S-7 }----pup Slacko7+14.2 -------------------_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-${gcBootOsHd}/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 "# #####################################{ SLK64 --- }"
        echo "title 16 { 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 "# #####################################{ 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 "###################################{ Jammy Jellyfish +D+22.04 }"
        echo "title 18 { J5J }------- UpupJJ+D+22.04 L6 -----------K:5-32- 221230 \n  \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd   /MARK-${gcBootOsHd}"
        echo "  kernel /pup_UpupJJ-${gcBootOsHd}/vmlinuz  psubdir=/pup_UpupJJ-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_UpupJJ-${gcBootOsHd}/initrd.gz"
        echo "##################################{ Debian Book Worm K:6 32bit }"
        echo "title 190 {==DBW32==}--< Debian Book-Worm 32 >-------K:6 _32- 231119 \n   \n   \n"
        echo "  find --set-root --ignore-floppies --ignore-cd    /MARK-${gcBootOsHd}"
        echo "  kernel /pup_DpupBW32-${gcBootOsHd}/vmlinuz    psubdir=/pup_DpupBW32-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
        echo "  initrd /pup_DpupBW32-${gcBootOsHd}/initrd.gz"
        echo "##################################{ Debian Book Worm  K:6 64bit }"
        echo "title 20 {==_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 "# #####################################{ 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   K:6-32bit }"
        #~ echo "title    {{=_N6N_=}}---< Noble-Numbat k:6.1.15 >----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 "###################################"
#!
} #  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      
    #! ************************************************************
	 echo "#*	"
	 echo "#**(: Linux_Grub4Dos_system_commands.txt   "
	 echo "#*	13.3 The list of command-line and menu entry commands   "
	 echo "#*   "
	 echo "#*These commands are usable in the command-line and in menu entries. "
	 echo "#* If you forget a command, you can run the command help (see help).   "
	 echo "#*   "
	 echo "# *blocklist: Get the block list notation of a file   "
	 echo "# *boot: Start up your operating system   "
	 echo "# *cat: Show the contents of a file   "
	 echo "# *chainloader: Chain-load another boot loader   "
	 echo "# *cmp: Compare two files   "
	 echo "# *configfile: Load a configuration file   "
	 echo "# *debug: Toggle the debug flag   "
	 echo "# *displayapm: Display APM information   "
	 echo "# *displaymem: Display memory configuration   "
	 echo "# *embed: Embed Stage 1.5   "
	 echo "# *find: Find a file   "
	 echo "# *fstest: Test a filesystem   "
	 echo "# *geometry: Manipulate the geometry of a drive   "
	 echo "# *halt: Shut down your computer   "
	 echo "# *help: Show help messages   "
	 echo "# *impsprobe: Probe SMP   "
	 echo "# *initrd: Load an initrd   "
	 echo "# *install: Install GRUB   "
	 echo "# *ioprobe: Probe I/O ports used for a drive   "
	 echo "# *kernel: Load a kernel   "
	 echo "# *lock: Lock a menu entry   "
	 echo "# *makeactive: Make a partition active   "
	 echo "# *map: Map a drive to another   "
	 echo "# *md5crypt: Encrypt a password in MD5 format   "
	 echo "# *module: Load a module   "
	 echo "# *modulenounzip: Load a module without decompression   "
	 echo "# *pause: Wait for a key press   "
	 echo "# *quit: Exit from the grub shell   "
	 echo "# *reboot: Reboot your computer   "
	 echo "# *read: Read data from memory   "
	 echo "# *root: Set GRUBs root device   "
	 echo "# *rootnoverify: Set GRUB's root device without mounting   "
	 echo "# *savedefault: Save current entry as the default entry   "
	 echo "# *setup: Set up GRUB's installation automatically   "
	 echo "# *testload: Load a file for testing a filesystem   "
	 echo "# *testvbe: Test VESA BIOS EXTENSION   "
	 echo "# *uppermem: Set the upper memory size   "
	 echo "# *vbeprobe: Probe VESA BIOS EXTENSION   "
    #! ************************************************************
    #! Standard Menu Standard End
    echo "# ############################################################"
    echo "# ****************************************************************************"
    echo "# In itself ...  Godly Living is a benefit without consequence. "
    echo "# I can hear God laughing at us, and saying, "
    echo "# 'I gave you one law, you wanted ten ... you made a hundered, a thousand  "
    echo "# 'I gave you my soul to live a good life, and you play parlor games. '"
    echo "# 'I gave you my NAME    and now   you want a !sign! that I AM  ? ' "  
    echo "# ****************************************************************************"
} #
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 lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-yel.xpm"
    export lcOsSubSplClr="red"
    export lcOsSubTout="33" # very long wait , then default = ?
    #!
    #! 
    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_Splash2=$!    # capture PID
        sleep 3
        #! =============================================================
        (
        echo "#!/bin/bash"
        echo "# OS=${lcOsSubId} : Menu System LONG"
        echo "# DTS=${gcSysDts} : date generated"
        echo "# DTS=${gcSysDevDob} : date generated"
        echo "# menu.lst Long Menu " 
        echo "# menu-orig.lst is the standard "original" full menu.lst "
        echo "# MARK-${gcBootOsHd}  Main SDA HardDrive 500G / 2"
        echo "# Long Menu is a Build by 'MGR'"
        echo "# written by rc.z_MGR.sh & rc.z_C3M.sh"
        echo "#    insert user selected OS parameters"
        echo "#    compare to MGR ft(EXIT=ARB_00) in MGR fx(Sbr_ARB_00)"
        echo "#    ${gcSysDevDob} Glen Ellis"
        echo "#======================================================"
        echo "### produced by grub4dosconfig-v1.9.3"
        echo "#"
        echo "### Windows MBR is still installed in the MBR of /dev/${gcBootOsHd}"
        echo "### M$ MBR calls a faux /ntldr , which contains /grldr code"
        echo "# Default colors , bg is black  , letters yellow on red "
        echo "# color NORMAL            HIGHLIGHT       HELPTEXT       HEADING"
        echo "#       f/b               f/b              f/b           f/b"
        echo "# color green/black   yellow/red       cyan/black    light-blue/black"
        echo "# color cyan/black    yellow/red       cyan/black    light-blue/black"
        echo "# graphicsmode -1 800 600"
        echo " "
        #~ lcOsSubSplClrStr="color green/black  yellow/red       light-blue/black  cyan/black    "
        lcOsSubSplClrStr="color green/black  yellow/red       cyan/black    light-blue/black"
        echo "${lcOsSubSplClrStr}"
        echo " # splashimage=/boot/grub/xpm-c-drkred.xpm"
        echo " # splashimage=/boot/grub/xpm-c-red.xpm"
        echo "timeout ${lcOsSubTout}"
        echo "default ${lcOsSubDef}"
    echo "###################################{ Jump Menu }"
    echo "title  0 { ${gcBootOsHd} } --- Long Menu --- /MARK-KLM   ===  on { ${gcBootOsHd} } -------"
    echo "  find --set-root --ignore-floppies --ignore-cd /MARK-KLM"
    echo "  configfile /menu.lst"
    echo "  #find --set-root --ignore-floppies --ignore-cd /MARK-${gcBootOsHd}"
    echo "  #kernel /pup_UpupBB-${gcBootOsHd}/vmlinuz    psubdir=/pup_UpupBB-${gcBootOsHd} pmedia=usbflash pfix=fsck,copy"
    echo "  #initrd /pup_UpupBB-${gcBootOsHd}/initrd.gz"
    echo "  root (hd0,0)"
    Sbr_Menu_Standard_Selection_Header # 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 ==={ P-M }  Any Parted-Magic }---"
    echo "  find --set-root --ignore-floppies --ignore-cd  /pmagic/bzImage"
    echo "  kernel  /pmagic/bzImage  noapic  load_ramdisk=1  prompt_ramdisk=0  pmedia=ataflash rw  vga=791  sleep=3  loglevel=0  keymap=us"
    echo "  initrd  /pmagic/initramfs"
    echo "# #######################################################"
    echo "# #######################################################"
    echo "title ==={ pmagic-6-7 }  Any Parted-Magic }---"
    echo "  find --set-root --ignore-floppies --ignore-cd  /pmagic-6-7/bzImage"
    echo "  kernel  /pmagic-6-7/bzImage  noapic  load_ramdisk=1  prompt_ramdisk=0  pmedia=ataflash rw  vga=791  sleep=3  loglevel=0  keymap=us"
    echo "  initrd  /pmagic-6-7/initramfs"
    echo "title    " "\_"
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    " "\_"
    echo "root (hd0,0)"
    echo "#######################################################"
    echo "title === KNOPPIX ==="
    echo "  root (hd3,0)"
    echo "title === G4D => Boot KNOPPIX   #3 partition  (hd3,0) --->  "
    echo "  root (hd3,0)"
    echo "  chainloader +1 || chainloader /grldr "
    echo "title === KNOPPIX ==="
    echo "  root (hd3,0)"
    echo "#####################"
    echo "title    " "\_"
    echo "root (hd0,0)"
    echo "#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
    echo "title  Six More Puppy OS below:  " "\_"
    echo "root (hd0,0)"
    echo "#______________________________________"
    echo "title   " "\_"
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    "
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    n"
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    n"
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    n"
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    "
    echo "root (hd0,0)"
    echo "#####################"
    echo "title    "
    echo "root (hd0,0)"
    echo "title === Visible UTL ========================================="
    echo "  root (hd0,0)"
    echo "title Help - Boot Params"
    echo "  configfile /menu_phelp.lst"
    echo "title Boot Partition Sector first hard drive (hd0,0)"
    echo "  root (hd0,0)"
    echo "  # chainloader +1 || chainloader /grldr"
    echo "  chainloader +1 || chainloader /wxldr"
    echo "  # chainloader +1 || chainloader /bootmgr"
    echo "#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
    echo "title    "
    echo "root (hd0,0)"
    echo "# #######################################################"
    echo "  "
    echo "title >>> ${gcBootOsHd} >>> menu-Boot-NamedDrive.lst ==="
    echo "    find --set-root --ignore-floppies --ignore-cd /MARK-${gcBootOsHd}"
    echo "  configfile /menu-Boot-NamedDrive.lst"
    echo " "
    echo "title >>> ${gcBootOsHd} >>> menu-Boot-ChainLoader.lst ==="
    echo "    find --set-root --ignore-floppies --ignore-cd /MARK-${gcBootOsHd}"
    echo "  configfile /menu-Boot-ChainLoader.lst"
    echo " "
    echo "title >>> ${gcBootOsHd} >>> Advanced menu"
    echo "      find --set-root  --ignore-floppies --ignore-cd  /MARK-${gcBootOsHd}  "
    echo "  configfile /menu-advanced.lst"
    echo "    commandline"
    echo "# #######################################################"
    echo "title    "
    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    # proverb ending 
    echo "# ### END Long menu.lst ######################################"
    ) > /mnt/home/menu.lst
    #!
    #~ kill ${GtkPid_Mnu_Box_Splash2}
    #!
    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_Splash3=$!    # capture PID
        sleep 3
        #
        kill ${GtkPid_Mnu_Box_Splash1} # after return
        kill ${GtkPid_Mnu_Box_Splash2} # after return
        kill ${GtkPid_Mnu_Box_Splash3} # after return
        kill ${GtkPid_Mnu_Box_Splash4} # 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. 
       #!
       #! here: begin "Build-Menu-Splash" 
       #!
       #! 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="2"   # default position-selection
            lcOsSubId="B5B"
            gcMgrArCfgIdd="Upup-Bionic-Beaver-K5"
            lcOsSubDir="pup_UpupB5B-SDA"
            lcOsSubFn="/mnt/home/menu.lstB5B"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-red.xpm"
            lcOsSubSplClrFg="brown"   # "brown" is 8B6914 is "darkred"
            lcOsSubSplClrBg="yellow" 
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_B64B   # short menu.lst
        if [ "$EXIT" = "ARB_B64B" ] ; then
            lcOsSubDef="3"   # default position-selection
            lcOsSubId="B64B"
            gcMgrArCfgIdd="Upup-Bionic-Beaver_64_***"
            lcOsSubDir="pup_UpupB64B-SDA"
            lcOsSubFn="/mnt/home/menu.lstB64B"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-red.xpm"
            lcOsSubSplClrFg="brown"   # "brown" is 8B6914 is "darkred"
            lcOsSubSplClrBg="yellow" 
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_N6N    # short menu.lst
        if [ "$EXIT" = "ARB_N6N" ] ; then
            lcOsSubDef="22" 
            lcOsSubId="Nobel6"
            gcMgrArCfgIdd="Nobel6"
            lcOsSubDir="pup_UpupNN-SDA"
            lcOsSubFn="/mnt/home/menu.lstNobel6"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="blue"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_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="4" 
            lcOsSubId="Nobel7"
            gcMgrArCfgIdd="Nobel7"
            lcOsSubDir="pup_UpupN7-SDA"
            lcOsSubFn="/mnt/home/menu.lstNobel7"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="blue"
            lcOsSubSplClrBg="purple"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_N8N    # short menu.lst developmental
        if [ "$EXIT" = "ARB_N8N" ] ; then
            lcOsSubDef="4" 
            lcOsSubId="Nobel8"
            gxcMgrArCfgIdd="Nobel8"
            lcOsSubDir="pup_UpupN8-SDA"
            lcOsSubFn="/mnt/home/menu.lstNobel8"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="blue"
            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_SLK64      # short menu.lst K=4
        if [ "$EXIT" = "ARB_SLK64" ] ; then
            lcOsSubDef="16"
            lcOsSubId="SLX64"
            gcMgrArCfgIdd="SLX64"
            lcOsSubDir="pup_SLK64-SDA"
            lcOsSubFn="/mnt/home/menu.lstSLK64"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-yel.xpm"
            lcOsSubSplClrFg="red"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi

        #! ======================================================================
        #(: fx IF EXIT:ARB_J5J    # short menu.lst
        if [ "$EXIT" = "ARB_J5J" ] ; then
            lcOsSubDef="18"  # default position-selection
            lcOsSubId="J5J" 
            gcMgrArCfgIdd="Upup-Jazzy-Jellyfish-K5" # subdir ID
            lcOsSubDir="pup_UpupJJ-SDA"  # /subdir-label
            lcOsSubFn="/mnt/home/menu.lstJJ"    
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-pur.xpm"  # image-background
            lcOsSubSplClrFg="yellow"
            lcOsSubSplClrBg="purple" 
            lcOsSubTout="12"    
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_Qk7    # short menu.lst
        if [ "$EXIT" = "ARB_Qk7" ] ; then
            lcOsSubDef="17" 
            lcOsSubId="Quirky7"
            gcMgrArCfgIdd="Quirky7"
            lcOsSubDir="pup_Quirky-7-SDA"
            lcOsSubFn="/mnt/home/menu.lstQuirky"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="red"
            lcOsSubSplClrBg="orange"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_DBW32    # short menu.lst
        if [ "$EXIT" = "ARB_DBW32" ] ; then
            lcOsSubDef="19"   # default position-selection
            lcOsSubId="DBW32"
            gcMgrArCfgIdd="BookWormDeb32"
            lcOsSubDir="pup_DpupBW32-SDA"
            lcOsSubFn="/mnt/home/menu.lstDpupBW32"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="yellow"
            lcOsSubSplClrBg="purple"
            lcOsSubTout="12"
        fi
        #! ======================================================================
        #(: fx IF EXIT:ARB_DBW64    # short menu.lst
        if [ "$EXIT" = "ARB_DBW64" ] ; then
            lcOsSubDef="20"   # default position-selection
            lcOsSubId="DBW64"
            gcMgrArCfgIdd="BookWormDeb64"
            lcOsSubDir="pup_DpupBW64-SDA"
            lcOsSubFn="/mnt/home/menu.lstDpupBW64"
            lcOsSubSplXpm="${lcOsSubClrBase}/xpm-c-grn.xpm"
            lcOsSubSplClrFg="yellow"
            lcOsSubSplClrBg="purple"
            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=$!
        #-----------------------------------------------------------------------
        #-----------------------------------------------------------------------
        #-----------------------------------------------------------------------
        #-----------------------------------------------------------------------
        #! ===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 "#  Menu" 
        echo "#  ${gcSysDevDob}"
        echo "#=========================================="
        echo "# Default colors , bg is black  , letters yellow on red "
        echo "# color NORMAL            HIGHLIGHT     HELPTEXT      HEADING"
        echo "#       f/b               f/b           f/b           f/b"
        echo "# color green/black     yellow/red     cyan/black    light-blue/black"
        echo "# color cyan/black      yellow/red     cyan/black    light-blue/black"
        echo "# color light-gray/black yellow/red cyan/black light-blue/black"
        echo "color cyan/black yellow/red cyan/black light-blue/black"
        echo "graphicsmode  -1 800 600"
        echo "timeout ${lcOsSubTout}"
        echo "default ${lcOsSubDef}"
    echo "###################################{ Jump Menu }"
    echo "title  0 { ${gcBootOsHd} } --- Long Menu --- /MARK-KLM1   === on { ${gcBootOsHd} } -------"
    echo "  find --set-root --ignore-floppies --ignore-cd /MARK-KLM1"
    echo "  configfile /menu.lst"
        Sbr_Menu_Standard_Selection_Header # 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 "  find --set-root --ignore-floppies --ignore-cd  /pmagic/bzImage"
        echo "  kernel  /pmagic/bzImage  noapic  load_ramdisk=1  prompt_ramdisk=0  pmedia=ataflash rw  vga=791  sleep=3  loglevel=0  keymap=us"
        echo "  initrd  /pmagic/initramfs"
        echo "# #######################################################"
        echo "title ==={ pmagic-6-7 }  Any Parted-Magic }---"
        echo "  find --set-root --ignore-floppies --ignore-cd  /pmagic-6-7/bzImage"
        echo "  kernel  /pmagic-6-7/bzImage  noapic  load_ramdisk=1  prompt_ramdisk=0  pmedia=ataflash rw  vga=791  sleep=3  loglevel=0  keymap=us"
        echo "  initrd  /pmagic-6-7/initramfs"
        echo "# #######################################################"
        echo "title >>> SDA >>> menu-Boot-NamedDrive.lst ==="
        echo "    find --set-root --ignore-floppies --ignore-cd /MARK-SDA"
        echo "  configfile /menu-Boot-NamedDrive.lst"
        echo " "
        echo "title >>> SDA >>> menu-Boot-ChainLoader.lst ==="
        echo "    find --set-root --ignore-floppies --ignore-cd /MARK-SDA"
        echo "  configfile /menu-Boot-ChainLoader.lst"
        echo " "
        echo "title >>> SDA >>> Advanced menu ==="
        echo "    find --set-root  --ignore-floppies --ignore-cd  /MARK-SDA  "
        echo "    configfile /menu-advanced.lst"
        echo "    commandline"
        echo "# #######################################################"
        echo "title    "
        echo "root (hd0,0)"
        echo "title    *** Help *** " "\_"
        echo "  help"
        echo " "
        echo "title    *** Grub4Dos commandline *** " "\_"
        echo "  commandline"
        echo " "
        echo "title    *** Re-BOOT command *** "  "\_"
        echo "  reboot"
        echo " "
        echo "title    *** Power-Off command *** "  "\_"
        echo "  shutdown"
        echo " "
        echo "title    *** Halt computer ***  \_ ( for experts only )"
        echo "  halt"
        echo " "
        echo "# ##############################################################{ Menu with Wait }"
        echo "title  0 find ANY menu.lst ---> {SDA} {KLM1} {KLM2} {FIT64} {FIT16A} {FIT16B} -------"
        echo " errorcheck off"
        echo "      find --set-root --ignore-floppies --ignore-cd /MARK-SDA && configfile /menu.lst"
        echo "      find --set-root --ignore-floppies --ignore-cd /MARK-KLM1 && configfile /menu.lst"
        echo "      find --set-root --ignore-floppies --ignore-cd /MARK-FIT64 && configfile /menu.lst"
        echo "      find --set-root --ignore-floppies --ignore-cd /MARK-FIT16A && configfile /menu.lst"
        echo "      find --set-root --ignore-floppies --ignore-cd /MARK-FIT16B && configfile /menu.lst"
        echo " errorcheck on"
        echo " root (hd0,0)"
        echo "# ****************************************************************************"
        Sbr_Menu_Standard_End # function  # proverb ending 
        echo "# #######################################################"
        ) > /mnt/home/menu.lst   #   "title  0{ 'C3M' '00'  Short Menu }---SDA"
        #!
        sleep 1 #! flush buffers.
        #! Permit Execute menu.lst
        chmod +x "/mnt/home/menu.lst"
        n=0
        #!
        Sbr_Splash_It "Menu Build - > S2F3_MI" "yellow" "red"  "3"
        #!
        Sbr_S2F1_MI   #! Save2File 
        #!
        kill ${GtkPid_Mnu_Box_Splash}   #! here,  kill "Build-Menu-Splash" background
        #~ sleep 1
        #!
        #~ Sbr_Cbx_ReStart "1"  #!  during Test, do ReStart
        Sbr_Cbx_ReBoot "1"  #! Standard ReBoot so to load New System and 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 "EmGr"### HASH-RED ########################################################
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                lcEmGrImgSrc="/tmp/EmGr-img-hash-red.xpm" ### fake green-RED # major upper-left Image
                echo "hash-red.xpm" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '
                /* XPM */
                static char *hash_xpm[] = {
                "32 32 5 1",
                "   c none",
                "1  c #FF0F0F",
                "2  c #0F0F0F0",
                "3  c #0FF00F",
                "4  c #0FF00F",
                "                                ",
                "                                ",
                "       111        111           ",
                "       12133      12133         ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       121334     121334        ",
                " 11111112111111111121111111     ",
                " 1222222222222222222222222133   ",
                " 11111112111111111121111111334  ",
                "   333312133333333121333333334  ",
                "   333312133333333121333333334  ",
                "    44412133444444121334444444  ",
                "       12133      121334        ",
                "       12133      121334        ",
                " 11111112111111111121111111     ",
                " 1222222222222222222222222133   ",
                " 11111112111111111121111111334  ",
                "   333312133333333121333333334  ",
                "   333312133333333121333333334  ",
                "    44412133444444121334444444  ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       111334     111334        ",
                "        33334      33334        ",
                "        33334      33334        ",
                "                                "
                };
                ' > ${lcEmGrImgSrc}   # /tmp to be inserted into <button>
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for Trg for "Dump" to screen
                #!
                #!
                #! 1 "EmGr"### HASH-Blu ########################################################
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                lcEmGrImgSrc="/tmp/EmGr-img-hash-blu.xpm" ### 
                echo "hash-red.xpm" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '
                /* XPM */
                static char *hash_xpm[] = {
                "32 32 5 1",
                "   c none",
                "1  c #FF0FF0",
                "2  c #0F0FF0",
                "3  c #0FF00F",
                "4  c #0FF00F",
                "                                ",
                "                                ",
                "       111        111           ",
                "       12133      12133         ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       121334     121334        ",
                " 11111112111111111121111111     ",
                " 1222222222222222222222222133   ",
                " 11111112111111111121111111334  ",
                "   333312133333333121333333334  ",
                "   333312133333333121333333334  ",
                "    44412133444444121334444444  ",
                "       12133      121334        ",
                "       12133      121334        ",
                " 11111112111111111121111111     ",
                " 1222222222222222222222222133   ",
                " 11111112111111111121111111334  ",
                "   333312133333333121333333334  ",
                "   333312133333333121333333334  ",
                "    44412133444444121334444444  ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       121334     121334        ",
                "       111334     111334        ",
                "        33334      33334        ",
                "        33334      33334        ",
                "                                "
                };
                ' > ${lcEmGrImgSrc}   # /tmp to be inserted into <button>
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for Trg for "Dump" to screen
                #!
                #!
    #! ###########################################################
    #! end:   HASH   
    #! ###########################################################
    #!
    #!
    #! ############################################################
    #! begin:    Button_Text
    #! ############################################################
    #!
    #! Button "Manager"  "EmGr"### "Button" BackGround Image on page System ##################################
    lcEmGrImgSrc="/tmp/EmGr-img-button-text.svg"
    echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
    echo "EmGr-img-button-text.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
    echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
    echo '<?xml version="1.0" encoding="UTF-8"?>
    <svg version="1.1"> 
          <rect
          style="fill:yellow;fill-opacity:22;stroke-width:5;stroke:blue;stroke-opacity:33;"
         width="311" height="36" rx="10" ry="10" x="1" y="1"/>
               <text style="font-family:DejaVu;font-size:22;fill-opacity:1"
          x="25"  y="27" >
    ooo- Manager: 9.2 -ooo
         </text>
    </svg>
    ' > ${lcEmGrImgSrc}
    cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
    #!
    #!
    #! ############################################################
    #! begin:    APPLE
    #! ############################################################
    #!
                #! 3 "EmGr"############################################################
                lcEmGrImgSrc="/tmp/EmGr-img-apple-redred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "apple-redred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g
                style="fill:none; fill:#BB2222; stroke:#AE3333; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                    <path d="m 50,10 0,35"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 4 "EmGr" ############################################################
                lcEmGrImgSrc="/tmp/EmGr-img-apple-redblu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "apple-redblu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g
                style="fill:none; fill:#1111FF; stroke:#AE3333; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                    <path d="m 50,10 0,35"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 5 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-apple-redyel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "apple-redyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g
                style="fill:none; fill:#F8F800; stroke:#AE3333; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                    <path d="m 50,10 0,35"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 6 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-apple-redgrn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "apple-redgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g
                style="fill:none; fill:#33DD33; stroke:#BE3333; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                    <path d="m 50,10 0,35"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #! #############################################################
                #!
                #!
    #! #############################################################
    #! begin:    QUIT
    #! #############################################################
    #!
                #! 7 "EmGr"#############################################################
                lcEmGrImgSrc="/tmp/EmGr-img-quit-rednnn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "quit-rednnn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g style="fill:none;stroke:#FF1111;stroke-width:12px;stroke-linecap:round;stroke-linejoin:round;">
                    <path d="m 50,10 0,35"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 8 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-quit-grnnnn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "quit-grnnnn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g style="fill:none;stroke:#33FF33;stroke-width:17px;stroke-linecap:round;stroke-linejoin:round;">
                    <path d="m 70,2 0,35"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 9 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-quit-yelnnn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "quit-yelnnn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g style="fill:none;stroke:#FFFF00;stroke-width:12px;stroke-linecap:round;stroke-linejoin:round;">
                    <path d="m 50,10 0,35"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #! ############################################################
    #!
    #!
    #! ###########################################################
    #! begin:   JUG
    #! ###########################################################
    #!
                #! 10 "EmGr" ############################################################
                lcEmGrImgSrc="/tmp/EmGr-img-jug-bluxyel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "jug-bluxyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                 <g style="fill:yellow;stroke:blue;stroke-width:15px;stroke-linecap:round;stroke-linejoin:round;">
                 <path d="m 35,35,35,35"/>
                 <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                 </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 11 "EmGr" ############################################################
                lcEmGrImgSrc="/tmp/EmGr-img-jug-blu0yel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "jug-blu0yel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g style="fill:yellow;stroke:blue;stroke-width:15px;stroke-linecap:round;stroke-linejoin:round;">
                    <path d="M 16,20 C -3,48 16,90 51,90 79,90 89,67 90,52 91,37 85,26 83,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 12 "EmGr" ############################################################
                lcEmGrImgSrc="/tmp/EmGr-img-jug-grnxorange.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "jug-grnxorange.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g style="fill:orange;stroke:green;stroke-width:21px;stroke-linecap:round;stroke-linejoin:round;">
                    <path d="m 31,31,31,31"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 13 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-jug-redxyel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "jug-redxyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g
                style="fill:'yellow'; stroke:'red'; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                    <path d="m 0"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 13 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-jug-grnxyel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "jug-grnxyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g
                style="fill:'lightgreen'; stroke:'red'; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                    <path d="m 0"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 14 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-jug-red0yel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "jug-red0yel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g
                style="fill:'yellow'; stroke:'red'; stroke-width:14px; stroke-linecap:round; stroke-linejoin:round;">
                    <path d="m 0"/>
                    <path d="M 50,5 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 55,5"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 15 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-jug-redxgrn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "jug-redxgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g
                style="fill:'green'; stroke:'red'; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                    <path d="m 0"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 16 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-jug-grnxred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "jug-grnxred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g
                style="fill:'red'; stroke:'green'; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                    <path d="m 0"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 17 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-jug-redxyel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "jug-redxyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g
                style="fill:'yellow'; stroke:'red'; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                    <path d="m 0"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 18 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-jug-redxblu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "jug-redxblu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100">
                  <g
                style="fill:'blue'; stroke:'red'; stroke-width:12px; stroke-linecap:round; stroke-linejoin:round;">
                    <path d="m 0"/>
                    <path d="M 26,20 C -3,48 16,90 51,90 79,90 89,67 89,52 89,37 81,26 74,20"/>
                  </g>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #! ############################################################
        #! #################################################################
        #! begin: Check-Mark  "colorXcolor" 
        #! #################################################################
                #!
                #! 90X
                #! 19 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-90-redXblu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-redXblured.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="90" width="90">
                  <path style="fill:#1111FF;fill-opacity:0.8;stroke:#FF1111;stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 47,23 55,18 42,16 13,01 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 90X
                #! 20 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-90-redXgrn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-90-redXgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="80" width="80">
                  <path style="fill:#11FF11;fill-opacity:0.8;stroke:#FF1111;stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 47,23 55,18 42,16 13,01 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! #! 90X
                #! #! 20 "EmGr" ###########################################################
                #! lcEmGrImgSrc="/tmp/EmGr-img-Check-90-redXgrn.svg"
                #! echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                #! echo "Check-90-redXgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                #! echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                #! echo '<?xml version="1.0" encoding="UTF-8"?>
                #! <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="80" width="80">
                  #! <path style="fill:'lightblue';fill-opacity:0.8;stroke:'red';stroke-width:3"
                #! d="M 38,49 C 49,38 56,48 64,54 68,57 47,23 55,18 42,16 13,01 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                #! </svg>
                #! ' > ${lcEmGrImgSrc}
                #! cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #! #!
                #! 90X
                #! 22 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-90-redXyel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-90-redXyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="90" width="90">
                  <path style="fill:#FFFF11;fill-opacity:0.8;stroke:#FF1111;stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 47,23 55,18 42,16 13,01 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 111X
                #! 111X "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-111-yelXred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-111-yelXred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="111" width="111">
                  <path style="fill:'yellow';fill-opacity:0.8;stroke:'red';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! d="M 38,49 C 49,38 56,48 64,54 68,57 47,23 55,18 42,16 13,01 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                #! 111X
                #! 111X "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-111-bluXred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-111-bluXred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="111" width="111">
                  <path style="fill:'red';fill-opacity:0.8;stroke:'blue';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #! 111X
                #! 111X "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-111-grnXred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-111-grnXred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="111" width="111">
                  <path style="fill:'red';fill-opacity:0.8;stroke:'green';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! X
                #! 24 "EmGr" ###########################################################
                #! 
                #! X
                #! 25 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-yelXblu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-yelXblu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'blue';fill-opacity:0.8;stroke:'yellow';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! X
                #! 26 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-redXblu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-redXblu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'blue';fill-opacity:0.8;stroke:'red';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! X
                #! 27 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-bluXred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-bluXred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'red';fill-opacity:0.8;stroke:'blu';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! X
                #! 28 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-grnXblu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-grnXblu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'blue';fill-opacity:0.8;stroke:'green';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! X
                #! 29 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-bluXgrn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-bluXgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'green';fill-opacity:0.8;stroke:'blue';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 30 "EmGr" ###########################################################
                #!
        #! #################################################################
        #! begin: Check-Mark  "colorcolor" 
        #! #################################################################
                #!
                #! 31 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-redXgrn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-redXgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'red';fill-opacity:0.8;stroke:'green';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 32 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-redXred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-redXred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'red';fill-opacity:0.8;stroke:'red';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 33 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-grnXgrn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-grnXgrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'#00FF00';fill-opacity:1.3;stroke:'green';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 35 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-yelXyel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-yelXyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:'yellow';fill-opacity:0.8;stroke:'#888800';stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 36 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-bluXblu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-bluXblu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:#0000FF;fill-opacity:0.8;stroke:blue;stroke-width:3"
                d="M 38,49 C 49,38 56,48 64,54 68,57 57,69 42,86 35,98 74,63 87,63 95,58 82,56 53,41"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #! ############################################################
                #!
                #! 37 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-redred.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-redred.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:#FF1111;fill-opacity:0.8;stroke:#FF0000;stroke-width:5"
                d="M 38,49 C 41,53 56,82 58,95 63,87 63,73 98,35 86,42 69,57 57,68 54,64 48,56 38,49"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 38 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-grngrn.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-grngrn.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:#01FF01;fill-opacity:0.8;stroke:#00FF00;stroke-width:5"
                d="M 38,49 C 41,53 56,82 58,95 63,87 63,73 98,35 86,42 69,57 57,68 54,64 48,56 38,49"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 39 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-yelyel.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-yelyel.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:#FFFF00;fill-opacity:0.8;stroke:#FFFF00;stroke-width:5"
                d="M 38,49 C 41,53 56,82 58,95 63,87 63,73 98,35 86,42 69,57 57,68 54,64 48,56 38,49"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #!
                #! 40 "EmGr" ###########################################################
                lcEmGrImgSrc="/tmp/EmGr-img-Check-blublu.svg"
                echo "################################## " >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo "Check-blublu.svg" >> ${gcEmGaImgFnTrgTxtMaster}   # name of image
                echo "${lcEmGrImg}" >> ${gcEmGaImgFnTrgTxtMaster}   # title for "Dump" to screen
                echo '<?xml version="1.0" encoding="UTF-8"?>
                <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="150" width="150">
                  <path style="fill:#0101FF;fill-opacity:0.8;stroke:#0101FF;stroke-width:5"
                d="M 38,49 C 41,53 56,82 58,95 63,87 63,73 98,35 86,42 69,57 57,68 54,64 48,56 38,49"/>
                </svg>
                ' > ${lcEmGrImgSrc}
                cat ${lcEmGrImgSrc} >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
                #! ############################################################
    #!
    echo "### end ###" >> ${gcEmGaImgFnTrgTxtMaster}   # for "Dump" to screen
    #!
} # end:
export -f Sbr_CDW_EGI_Long          
#!
#! ======================================================
#! end: Sbr_CDW_EGI_Long     Sbr_CDW_Embedded_Graphic_Images
#! ======================================================
#!
#!
#!
#(: ============================================================
#(: fx Sbr_CDW_EGI_CheckIF  #: Active  in main 
#(: called by: main ( ) , Check-If
#(:  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 
#(:
#(: done: culled calls to "short" Image format. 
#(: done: cull all references to "short" Image format files.
#(: done: 240115 process will ALWAYS call for "LONG" Image format. 
#(:
#! ##############################################################################
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 # pageMsg 
    #! MARKER   #  Only a "begin group" Marker
    n=0
} #
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
#! ############################################################
#! function msg_DC_VMB_code_window=   # tool-tip # ACTIVE
#! ############################################################
#! ############################################################
#! ############################################################
#! function msg_DC_Quick_Hash_BigRed_window     # ACTIVE
export      msg_DC_Quick_Hash_BigRed_window='
<window     
    title="--------msg_dc_quick_Hash_BigRed_window"
    window-position="1"  
    visible="1">
    <frame>
        <hbox>
            <button  tooltip-text="Click_here_to_Cancel" >   <label>""</label>
                <input file>"/tmp/EmGr-img-hash-red.xpm"</input><height>86></height> <width>86</width>
                <action function="closewindow">msg_DC_Quick_Hash_BigRed_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Quick_Hash_BigRed_window</variable>
</window>'
#! ############################################################
#! ############################################################
#! function msg_DC_Quick_Hash_BigGrn_window     # ACTIVE
export      msg_DC_Quick_Hash_BigGrn_window='
<window     
    title="--------msg_dc_quick_Hash_BigGrn_window"
    window-position="1"  
    visible="1">
    <frame>
        <hbox>
            <button  tooltip-text="Click_here_to_Cancel" >   <label>""</label>
                <input file>"/tmp/EmGr-img-hash-grn.xpm"</input><height>86></height> <width>86</width>
                <action function="closewindow">msg_DC_Quick_Hash_BigGrn_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Quick_Hash_BigGrn_window</variable>
</window>'
#! ############################################################
#! ############################################################
#! function msg_DC_Quick_Hash_BigBlu_window     # ACTIVE
export  msg_DC_Quick_Hash_BigBlu_window='
<window     
    title="--------msg_dc_quick_Hash_BigBlu_window"
    window-position="1"  
    visible="1">
    <frame>
        <hbox>
            <button  tooltip-text="Click_here_to_Cancel" >   <label>""</label>
                <input file>"/tmp/EmGr-img-hash-blu.xpm"</input><height>86></height> <width>86</width>
                <action function="closewindow">msg_DC_Quick_Hash_BigBlu_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Quick_Hash_BigBlu_window</variable>
</window>'
#! ############################################################
#! ############################################################
#! function Sbr_Msg_DC_Windows_
export gcBig90yel="/tmp/EmGr-img-Check-90-redXyel.svg"
export  msg_DC_Check_90_Big_redXyel_window='
<window     
    window-position="1"
    visible="1">
    <frame>
        <hbox>
            <button> <label>""  </label>
                <input file>'${gcBig90yel}'</input><height>99></height> <width>99</width>
                <action function="closewindow">msg_DC_Check_90_Big_redXyel_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Check_90_Big_redXyel_window</variable>
</window>'
#!
#! ############################################################
#! ############################################################
#! function Sbr_Msg_DC_Windows_
export gcBig90blu="/tmp/EmGr-img-Check-90-redXblu.svg"
export  msg_DC_Check_90_Big_redXblu_window='
<window     
    window-position="1"
    visible="1">
    <frame>
        <hbox>
            <button> <label>""  </label>
                <input file>'${gcBig90blu}'</input><height>99></height> <width>99</width>
                <action function="closewindow">msg_DC_Check_90_Big_redXblu_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Check_90_Big_redXblu_window</variable>
</window>'
#! export msg_DC_Quick_window # Small, preferred button msg window 
#!
#! ############################################################
#! function Sbr_Msg_DC_Windows
export gcBig90grn="/tmp/EmGr-img-Check-90-redXgrn.svg"
export  msg_DC_Check_90_Big_redXgrn_window='
<window     
    window-position="1"
    visible="1">
    <frame>
        <hbox>
            <button> <label>""  </label>
                <input file>'${gcBig90grn}'</input><height>99></height> <width>99</width>
                <action function="closewindow">msg_DC_Check_90_Big_redXgrn_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Check_90_Big_redXgrn_window</variable>
</window>'
#! export msg_DC_Quick_window # Small, preferred button msg window 
#!
#! ############################################################
#! ############################################################
#! ############################################################
#! ############################################################
#! function Sbr_Msg_DC_Windows_ #! only for TESTING
#! export gcBig90yel="/tmp/EmGr-img-Check-90-redXyel.svg"  #! declared/assigned above
export  msg_DC_Check_Big_90_window='
<window     
    window-position="1"
    visible="1">
    <frame>
        <hbox>
            <button> <label>""  </label>
                <input file>'${gcBig90yel}'</input><height>111></height> <width>111</width>
                <action function="closewindow">msg_DC_Check_Big_90_window</action>
            </button>
        </hbox>
    </frame>
    <variable>msg_DC_Check_Big_90_window</variable>
</window>'
#!
#
#! ############################################################
#! function msg_DC_Quick_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_MainBakOneAll_window_text="----------------------- 
Main BackUp  ! 
(1) Backup-One+All + CTB_ReStart 
(2) Backup-One+All + CTB+Scan+PwrOff
-----------------------------------------------------------------"
#! ############################################################
#! function msg_DC_MainBakOneAll_window    # tool-tip # ACTIVE
export msg_DC_MainBakOneAll_window='
<window title="msg_DC_MainBakOneAll_window---"
visible="true" ><frame>
<text editable="false" use-markup="true" xalign=".5"><label> "<span color='"'darkred'"'> <b>'${msg_DC_MainBakOneAll_window_text}'</b> </span> " </label></text>
<hbox>
    <button>
        <label>"Clear the BakOneAll window "</label>
        <input file>"/tmp/EmGr-img-hash-grn.xpm"</input><height>48></height> <width>48</width>
        <action function="closewindow">msg_DC_MainBakOneAll_window</action>
    </button>
</hbox></frame>
<variable>msg_DC_MainBakOneAll_window</variable>
</window>'
#! ############################################################
#!
#!
#! ############################################################
export msg_DC_C3C_window_text="----------------------- 
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() { #! Marker
#~ n=0   
#~ } # end
#!
#! #######################################################################################
#! function msg_DC_Dxstro_window_0  # NOT ACTIVE : fx(Sbr_Dxstro_Window)
#~ msg_DC_Dxstro_window_X='
#~ <window title="msg_DC_Dxstro_window_X"
#~ 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 XXX 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_X</variable>
#~ </window>'
#~ export msg_DC_Dxstro_window_X
#! ############################################################
#!
#!
#!
#!
#! [-1-]  Floating Msg Window ###   #! REQUIRED Msg Window ===================
#! ### MAIN Page 1 <button> #########################################
#! ### MAIN Page 1 <button> #########################################
#! ### MAIN Page 1 <button> #########################################
function msg_DC_LxgenBack_window() { #! Marker
n=0   
} # end


#!
#! =====================================================================
#! === page === pageS === pageSystem ===================================
#! =====================================================================
msg_DC_LxgenSystem_window_text="===_System_pageSystem_!_==="
msg_DC_LxgenSystem_window_0=''
 
#! =====================================================================
#! === page === pageM === pageMenu =====================================
#! =====================================================================
msg_DC_LxgenMenu_window_text="===_Menu_pageMenu_!_==="
msg_DC_LxgenMenu_window_0=''

#! =====================================================================
#! === page === pageB === pageBack =====================================
#! =====================================================================
msg_DC_LxgenBack_window_text="===_Main_pageBack_!_==="
msg_DC_LxgenBack_window_0='
<window title="msg_DC_LxgenBack_window_0_pageBack_!_"
    space-expand="true" 
    resizable="true" 
    visible="true" >
<frame>
<text editable="false" use-markup="true" xalign=".5"><label> "<span color='"'red'"'> <b>'${msg_DC_LxgenBack_window_text}'</b> </span> " </label></text>
    <vbox>
            <button visible="1"   tooltip-text="width-50-space>'=============================='" <height-request="1">
                    <label>"'!_________!________!_________!_________!_____!____'"</label>
                    <action>'lx-Back-Page-:spacer'</action> </button>
            <vseparator height-request="7"></vseparator>

            <vbox>

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

            <button visible="1"   tooltip-text="''" >
                <input file>"'/tmp/EmGr-img-jug-blu0yel.svg'"</input><width>15</width><height>15</height>
                <label> "  '===!-BakOne-BakAll-Tool-Tip-!==='  " </label> 
                <action function="'launch'">msg_DC_MainBakOneAll_window</action>
                <action>'0-Main_BackOne-BackAll-Tool-Tip'</action> </button>

            <vseparator height-request="7"></vseparator>
            <button visible="1"  tooltip-text=""  
                has-focus="true" width-request="55" height-request="35" >
                <input file> "'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>33</width><height>33</height>
                <label>"'*_Master_BakOne_BakAll_CTX_ReSTART_*'"</label>
                <action function="'launch'">msg_DC_Quick_window</action> <action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:guiCTB-SLX-RS'</action>   </button>

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

            <button visible="1"  tooltip-text=""  
                has-focus="true" width-request="55" height-request="35" >
                <input file> "'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>33</width><height>33</height>
                <label>"'*_Master_BakOne_BakAll_CTX_PowerOff_*'"</label>
                <action function="'launch'">msg_DC_Quick_window</action> <action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:guiCTB-SLX-RQ'</action>   </button>

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

                <hseparator width-request="15"></hseparator>
                <button visible="1" tooltip-text=""  width-request="55" height-request="35" > 
                    <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>33</width><height>33</height>   
                    <label>"'{{_BackOne_BakAll_CTB-SLX_PO_PowerOff_}}'"</label>
                    <action>echo '/root/my-applications/rc.z_CTB-SLX.sh' > /0-MGR_MB_RetVal.cfg </action>  
                <action function="'launch'">msg_DC_Quick_window</action> <action function="'closewindow'">msg_DC_Quick_window</action>
                        <action>'EXIT:guiCTB-SLX-PO'</action>   </button>

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

            </vbox>
            <vseparator visible="1" height-request="23"></vseparator>
            <button   visible="1"   tooltip-text="''" has-focus="false" width-request="55"  height-request="11"> <label> "" </label> 
                       <action>'0-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="'$CbxPxb'">  <label>'{PXB}'</label>  <variable>CBXS2F</variable>   </checkbox>
                    <checkbox  active="'$CbxB2'">  <label>'BakAll'</label>  <variable>CBXB2</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>'EXIT=CbxApply'</action>
                </button>
              </hbox>
            <hbox  visible="0" homogeneous="true" visible="1" width-request="100" >
                <vseparator height-request="12"> </vseparator>
                <button   visible="1"   tooltip-text="''" has-focus="false" height-request="11"> <label> "" </label> 
                       <action>'0-top-BackUp'</action>       </button>
                <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>
        <hseparator width-request="23"></hseparator>
        </hbox>
            <vseparator height-request="11"> </vseparator>
            <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>'0-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>'0-C3C-Tool-Tip'</action> </button>
            </hbox>
            <hbox homogeneous="true">
                <button tooltip-text="EXIT:C3CS2F:ReBoot" >
                   <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>"25"</width><height>"25"</height>
                   <label> "'_C3C+S2F+ReBoot'"  </label>
                   <action function="'launch'">msg_DC_Quick_window</action>
                   <action function="'closewindow'">msg_DC_Quick_window</action>
                   <action>'EXIT:C3CS2F'</action> </button>
            </hbox>
            <vseparator height-request="11"> </vseparator>
            <vseparator height-request="11"> </vseparator>
            <button   visible="0" has-focus="false" height-request="3"> <label> "" </label> 
                <input file icon="gtk-select-color" ></input>   
                <action>0-P123-bot</action> </button>
            <vbox>
                <vseparator height-request="11"> </vseparator>
                <hbox homogeneous="true">
                    <button tooltip-text="''" >
                        <input file>"'/tmp/EmGr-img-quit-grnnnn.svg'"</input><width>33</width>  <height>33</height>
                        <label>'Clear-Back-Window'</label> 
                    <action function="closewindow">msg_DC_LxgenBack_window_0</action> </button>
                </hbox>
            </vbox>
    </vbox>
</frame>
<variable>msg_DC_LxgenBack_window_0</variable>
</window>'
export msg_DC_LxgenBack_window_0   #! REQUIRED Msg Window ===================
#!
#!
#!
#!
#! [-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
#!    
#! =====================================================================
#! === page === pageD === 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>'Sbr_Dump_HLP'</action> </button>
                <button visible="1"  tooltip-text="'===-EXIT:guiDumpProc-==='  <Process_dump>"  has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-90-redXgrn.svg'"</input><width>45</width><height>35</height>
                    <label> "'Process'  " </label>
                    <action>'Sbr_Dump_Proc'</action> </button>
                <button visible="1"  tooltip-text="'===-EXIT:guiDumpFAQ-==='  <FAQ dump>" has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-90-redXyel.svg'"</input><width>45</width><height>35</height>
                    <label> "'Faq'  " </label>
                    <action>'Sbr_Dump_FAQ'</action> </button>
            </hbox>
            <hbox homogeneous="true">
               <button visible="1" tooltip-text="'EXIT:guiDumpSrc'  < Display Devloper Source >"   has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width>37</width><height>37</height>
                    <label>"'Dump_Source_Code_' "</label>
                    <action>'EXIT:guiDumpSrc'</action> </button>
               <button visible="1" tooltip-text="'EXIT:guiDumpImg'  < Display Devloper Source >"   has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width>37</width><height>37</height>
                    <label>"'Dump_Source_Image_' "</label>
                    <action>'EXIT:guiDumpImg'</action> </button>
            </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:guiDumpDeclare-==='  < Phil PeaBee : UpPopLegal_Flg >"  has-focus="false">
                    <input file>"'/tmp/EmGr-img-Check-grnXgrn.svg'"</input><width>27</width><height>27</height>
                    <label> "  'Dump_Declare'    " </label>
                    <action>'EXIT:guiDumpDeclare'</action>   </button>
              <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>  <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>
            <hbox homogeneous="true">
                <button tooltip-text="''" >
                    <input file>"'/tmp/EmGr-img-quit-grnnnn.svg'"</input><width>33</width>  <height>33</height>
                    <label>'Clear-DOX-Window'</label> 
                <action function="closewindow">msg_DC_LxgenDox_window_0</action> </button>
            </hbox>
</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> #########################################
    #! ### /root/my-applications/LxDxstro_.jpg ###
    #! ### /mnt/home/pup_UpupMM-SDA/LxDxstro_.jpg ###
#!
function msg_DC_LxgenUtil_window() { #! Marker
n=0   
} # end
#!
#! =====================================================================
#! === page === pageU === UTIL =========================================
#! =====================================================================
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="">
                    <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="" >
                    <input file>"'/tmp/EmGr-img-Check-90-redXyel.svg'"</input><width>35</width>  <height>35</height>
                    <label> "'{-PXB-RS-Internal}'" </label>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:guiPXB_ion_RS'</action></button>
                <hseparator width-request="17"></hseparator>
                <button  visible="1" tooltip-text="">
                    <input file>"'/tmp/EmGr-img-Check-90-redXgrn.svg'"</input><width>35</width><height>35</height>   
                        <label>'{-S2F3-internal}'</label>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:guiS2F3_MI'</action>  </button>
                <hseparator width-request="177"></hseparator>
            </hbox>
    
            <hbox homogeneous="false" visible="1">
                <hseparator width-request="3"></hseparator>
                 <button    tooltip-text="">
                        <input file>"'/tmp/EmGr-img-Check-90-redXblu.svg'"</input><width>35</width><height>35</height>   
                        <label>'{-PnMount-}'</label>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                        <action>'Sbr_MGR_pMount_All'</action>  </button>
                <hseparator width-request="22"></hseparator>
                <button visible="1"  has-focus="false" height-request="13"  xalign=".5"  
                    tooltip-text="" >
                    <input file>"'/tmp/EmGr-img-Check-90-redXyel.svg'"</input><width>35</width>  <height>35</height>
                    <label> "'{-TXN-}'" </label>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                    <action>'EXIT:guiTXN'</action></button>
                <hseparator width-request="22"></hseparator>
                <button    tooltip-text="">
                        <input file>"'/tmp/EmGr-img-Check-90-redXgrn.svg'"</input><width>35</width><height>35</height>   
                        <label>'{-UnMount-}'</label>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                        <action>'Sbr_Sys_uMount_All'</action>  </button>
                <hseparator width-request="280"></hseparator>
            </hbox>
           <vseparator  visible="1" height-request="17" > </vseparator>
            <button visible="1" label="" has-focus="false" height-request="11"> 
                <action>'0-top-CTX-external'</action> </button>
            <vbox>
                <button visible="1" label="'{_Dependencies_/root/my-applications_}'" has-focus="false" width-request="100" height-request="35"> 
                    <action>'0_Dependencies_'</action> </button>
            </vbox>
          
           <vseparator  visible="1" height-request="13" > </vseparator>
            <hbox visible="1" homogeneous="0">
                <hseparator width-request="15"></hseparator>
                <button visible="1" tooltip-text="''">
                    <input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>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="115"></hseparator>
 
                <button visible="1" tooltip-text="''"  > 
                    <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input> <width>22</width> <height>22</height>   
                    <label>"'_BakAll_CTB-SLX_PO_powerOff_'"</label>
                    <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                         <action>'EXIT:guiCTB-SLX-PO'</action>   </button>
 
                <hseparator width-request="105"></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="122"></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="77"></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="'-QuitExit-'" has-focus="false" height-request="25"> <action>lxAction:spacer</action> </button>
            <button     tooltip-text="'Quit-Red'" >   <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label> <action>"'apple:0'"</action> </button>
            <button     tooltip-text="'Quit-grnnnn'" ><input file>"'/tmp/EmGr-img-quit-grnnnn.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'apple:1'"</action> </button>
            <button     tooltip-text="'Quit-yelnnn'" ><input file>"'/tmp/EmGr-img-quit-yelnnn.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'apple:2'"</action> </button>
            <hseparator width-request="27" > </hseparator>
            <button label="'-Apples-'" has-focus="false" height-request="25"> <action>lxAction:spacer</action> </button>
            <button     tooltip-text="'apple-redred'" ><input file>"'/tmp/EmGr-img-apple-redred.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'apple:3'"</action> </button>
            <button     tooltip-text="'apple-redblu'" ><input file>"'/tmp/EmGr-img-apple-redblu.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'apple:4'"</action> </button>
            <button     tooltip-text="'apple-redyel'" ><input file>"'/tmp/EmGr-img-apple-redyel.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'apple:5'"</action> </button>
            <button     tooltip-text="'apple-redgrn'" ><input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'apple:6'"</action> </button>
            <hseparator width-request="117" > </hseparator>
            </hbox>
            <hbox>
            <hseparator width-request="7" > </hseparator>
            <button label="'-Hash-'" has-focus="false" height-request="5"> <action>"'Hash:0'"</action> </button>
            <button     tooltip-text="'hash-red'" ><input file>"'/tmp/EmGr-img-hash-red.xpm'"</input><width>25</width><height>25</height>
                <label> "''" </label>
                <action>"'Hash:1'"</action> </button>
            <button     tooltip-text="'hash-grn'" ><input file>"'/tmp/EmGr-img-hash-grn.xpm'"</input><width>25</width><height>25</height>
                <label> "''" </label>
                <action>"'Hash:2'"</action> </button>
            <button     tooltip-text="'hash-blu'" ><input file>"'/tmp/EmGr-img-hash-blu.xpm'"</input><width>25</width><height>25</height>
                <label> "''" </label>
                <action>"'Hash:3'"</action> </button>
            <hseparator width-request="67" > </hseparator>
            <button label="'-Jugs-'" has-focus="false" height-request="25"> <action>lxAction:spacer</action> </button>
            <button     tooltip-text="'jug-blu0yel'" >   <input file>"'/tmp/EmGr-img-jug-blu0yel.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label> <action>"'jug:1'"</action> </button>
            <button     tooltip-text="'jug-grnxorange'" ><input file>"'/tmp/EmGr-img-jug-grnxorange.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'jug:2'"</action> </button>
            <button     tooltip-text="'jug-redxyel'" >   <input file>"'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'jug:3'"</action> </button>
            <button     tooltip-text="'jug-redxgrn'" >   <input file>"'/tmp/EmGr-img-jug-redxgrn.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'jug:4'"</action> </button>
            <button     tooltip-text="'jug-grnxred'" >   <input file>"'/tmp/EmGr-img-jug-grnxred.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'jug:5'"</action> </button>
            <button     tooltip-text="'jug-redxyel'" >   <input file>"'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'jug:6'"</action> </button>
            <button     tooltip-text="'jug-redxblu'" >   <input file>"'/tmp/EmGr-img-jug-redxblu.svg'"</input><width>25</width><height>25</height>
                <label> "''" </label><action>"'jug:7'"</action> </button>
            <hseparator width-request="127" > </hseparator>
            </hbox>
            <hbox>
            <hseparator width-request="7" > </hseparator>
            <button label="'-Check-90-'" has-focus="false" height-request="15"> <action>"'Check:90:0'"</action> </button>
            <button visible="1" tooltip-text="'check-Big_90'" ><input file>"'/tmp/EmGr-img-Check-90-redXyel.svg'"</input><width>55</width><height>55</height>
                    <label>"''"</label> <action>'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="22" > </hseparator>
            <button label="'-CheckMark-'" has-focus="false" height-request="15"> <action>'CheckMark'r</action> </button>
            <button     tooltip-text="'Check-111-redXblu'" ><input file>"'/tmp/EmGr-img-Check-111-bluXred.svg'"</input><width>55</width><height>63</height>
                <label> "''" </label> <action>"'Check:81'"</action> </button>
             <button    tooltip-text="'Check-111-redXgrn'" ><input file>"'/tmp/EmGr-img-Check-111-grnXred.svg'"</input><width>55</width><height>63</height>
                <label> "''" </label> <action>"'Check:82'"</action> </button>
            <button     tooltip-text="'Check-111redXyel'" ><input file>"'/tmp/EmGr-img-Check-111-yelXred.svg'"</input><width>55</width><height>63</height>
                <label> "''" </label> <action>"'Check:83'"</action> </button>
          <hseparator width-request="13" > </hseparator>
 
            <button label="'-Check-'" has-focus="false" height-request="15"> <action>'CheckMark'r</action> </button>
             <button     tooltip-text="'Check-redred'" ><input file>"'/tmp/EmGr-img-Check-redred.svg'"</input><width>33</width><height>33</height>
                <label> "''" </label><action>"'0-Check: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>"'0-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>"'0-Check:15'"</action> </button>
           <hseparator width-request="30" > </hseparator>
            </hbox>
        <button visible="1" label="" has-focus="false" height-request="5"> <action>lxAction:0</action> </button>
    </vbox>
            <vseparator height-request="11"> </vseparator>
            <hbox homogeneous="true">
                <button tooltip-text="''" >
                    <input file>"'/tmp/EmGr-img-quit-grnnnn.svg'"</input><width>33</width>  <height>33</height>
                    <label>'Clear-UTIL-Window'</label> 
                <action function="closewindow">msg_DC_LxgenUtil_window_0</action> </button>
            </hbox>
</vbox>
</frame>
<variable>msg_DC_LxgenUtil_window_0</variable>
</window>'
export msg_DC_LxgenUtil_window_0   #! REQUIRED Msg Window ===================
#! ############################################################
#!
#!
#!
#!
#! ###################################################################
#! ### 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 ###
#!
#!
#! [-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 "===page-Vmb-Tool-Tip===" -fg blue -bg lightyellow  -center  -wrap  "
: _PageVert / VMB_code_development Method: 
: note:  Describes Special Code for Future 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 === Example VMB ====================================================================
msg_DC_LxgenVmb_window_0='
<window title="msg_DC_LxgenVmb_Vertical_window_0_!!!!_"
    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">
        <hbox>
            <hbox>
                <hseparator width-request="33" ></hseparator>
                <button    tooltip-text="'BullsEye_About'" has-focus="false" height-request="7"  width-request="7" xalign=".5"  >
                    <input file stock="gtk-about"></input> <width>11</width> <height>11</height> 
                    <label>""</label> 
                    <action>'0-VMB-BullsEye-About'</action> </button>
                <hseparator width-request="11" ></hseparator>
                <button tooltip-text="'BullsEye_Red'" has-focus="false" width-request="7" xalign=".5"  >
                    <input file stock="gtk-no"></input><width>11</width><height>11</height>   
                    <label>""</label> <variable>'toggle_bsa'</variable>
                    <action>'0-VMB-BullsEye-Red'</action> </button>
                <button tooltip-text="'BullsEye_Grn'" has-focus="false" width-request="7" xalign=".5"  >
                    <input file stock="gtk-yes"></input><width>11</width><height>7</height>   
                    <label>""</label> <variable>'toggle_csb'</variable>
                    <action>'0-VMB-BullsEye-Grn'</action> </button>
                <hseparator width-request="11" ></hseparator>
            </hbox>

            <vbox>          
                <hbox>                                  
                    <vbox>
                        <vbox homogeneous="true">
                            <button>
                                   <input file stock="gtk-no"></input>
                                   <width>22</width>  <height>22</height>
                                   <label>'N'ot-Ready-1-yel</label> <variable>'toggleVmb1'</variable>
                                   <action>xmessage "1-yel clicked"</action> </button>                       
                            <button>
                                   <input file stock="gtk-no"></input>
                                   <width>22</width>  <height>22</height>
                                   <label>'N'ot-Ready-2-yel</label> <variable>'toggleVmb2'</variable>
                                   <action>xmessage "2-yel clicked"</action> </button>                       
                            <button>
                                   <input file stock="gtk-no"></input>
                                   <width>22</width>  <height>22</height>
                                   <label>'N'ot-Ready-3-yel</label> <variable>'toggleVmb3'</variable>
                                   <action>xmessage "3-yel clicked"</action> </button>                       
                            <button>
                                   <input file stock="gtk-yes"></input>
                                   <width>22</width>  <height>22</height>
                                   <label>'R'eady-----11-grn</label> <variable>'toggleVmb11'</variable>
                                   <action>xmessage "11-grn clicked"</action> </button>                       
                            <button>
                                   <input file stock="gtk-yes"></input>
                                   <width>22</width>  <height>22</height>
                                   <label>'R'eady-----12-grn</label> <variable>'toggleVmb12'</variable>
                                   <action>xmessage "12-grn clicked"</action> </button>                       
                            <button>
                                   <input file stock="gtk-yes"></input>
                                   <width>22</width>  <height>22</height>
                                   <label>'R'eady-----13-grn</label> <variable>'toggleVmb13'</variable>
                                   <action>xmessage "13-grn clicked"</action> </button>                       
                        </vbox>
                    </vbox>
                    <text> <label>":comment:"</label> </text>
                    
                    <togglebutton active="true">
                       <label>ToggleButton</label>

                       <action>if true show:'toggle_bsa'</action> <action>if false hide:'toggle_bsa'</action>
                       <action>if true hide:'toggle_bsb'</action> <action>if false show:'toggle_bsb'</action>
                       <action>if true show:'toggle_csa'</action> <action>if false hide:'toggle_csa'</action>
                       <action>if true hide:'toggle_csb'</action> <action>if false show:'toggle_csb'</action>

                       <action>if true show:'toggleVmb1'</action> <action>if false hide:'toggleVmb1'</action>
                       <action>if true hide:'toggleVmb11'</action> <action>if false show:'toggleVmb11'</action>
                       <action>if true show:'toggleVmb2'</action> <action>if false hide:'toggleVmb2'</action>
                       <action>if true hide:'toggleVmb12'</action> <action>if false show:'toggleVmb12'</action>
                       <action>if true show:'toggleVmb3'</action> <action>if false hide:'toggleVmb3'</action>
                       <action>if true hide:'toggleVmb13'</action> <action>if false show:'toggleVmb13'</action>
                       <action>if true show:'toggleVmb71'</action> <action>if false hide:'toggleVmb71'</action>
                       <action>if true show:'toggleVmb72'</action> <action>if false hide:'toggleVmb72'</action>
                       <action>if true show:'toggleVmb73'</action> <action>if false hide:'toggleVmb73'</action>
                       <action>if true show:'toggleVmb74'</action> <action>if false hide:'toggleVmb74'</action>
                       <action>if true show:'toggleVmb75'</action> <action>if false hide:'toggleVmb75'</action>
                       <action>if true show:'toggleVmb76'</action> <action>if false hide:'toggleVmb76'</action>
                       <action>if true show:'toggleVmb77'</action> <action>if false hide:'toggleVmb77'</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 stock="gtk-yes"></input>
            <width>15</width><height>15</height>   
            <label>"'Ready-1-grn'"</label><variable>'toggleVmb71'</variable>
            <action>echo 'Vmb-1' > /0-MGR_VMB_RetVal.cfg </action>  
            <action>'Vmb-1'</action>    </button>
        <button> <label>"'Ready-1-grn'"</label><variable>'toggleVmb72'</variable>
            <input file stock="gtk-yes"></input>
            <width>15</width><height>15</height>   
                <action function="'launch'">msg_DC_Quick_window</action>
                <action function="'closewindow'">msg_DC_Quick_window</action>
            <action>echo 'Vmb-2' > /0-MGR_VMB_RetVal.cfg </action>  
            <action>'Vmb-2'</action>    </button>
        <button> <label>"'Ready-3-grn'"</label><variable>'toggleVmb73'</variable>
            <input file stock="gtk-yes"></input>
            <width>15</width><height>15</height>   
                <action function="'launch'">msg_DC_Quick_window</action>
                <action function="'closewindow'">msg_DC_Quick_window</action>
            <action>echo 'Vmb-3' > /0-MGR_VMB_RetVal.cfg </action>  
            <action>'Vmb-3'</action>    </button>
        <button> <label>"'Ready-4-grn'"</label><variable>'toggleVmb74'</variable>
            <input file stock="gtk-yes"></input>
            <width>15</width><height>15</height>   
                <action function="'launch'">msg_DC_Quick_window</action>
                <action function="'closewindow'">msg_DC_Quick_window</action>
            <action>echo 'Vmb-4' > /0-MGR_VMB_RetVal.cfg </action>  
            <action>'Vmb_4' </action>    </button>
        <button> <label>"'Ready-5-grn'" </label><variable>'toggleVmb75'</variable>
            <input file stock="gtk-yes"></input>
            <width>15</width><height>15</height>   
                <action function="'launch'">msg_DC_Quick_window</action>
                <action function="'closewindow'">msg_DC_Quick_window</action>
            <action>echo 'Vmb-5' > /0-MGR_VMB_RetVal.cfg </action>  
            <action>'Vmb_5' </action>    </button>
        <button> <label>"'Ready-6-grn'"</label> <variable>'toggleVmb76'</variable>
            <input file stock="gtk-yes"></input>
            <width>15</width><height>15</height>   
                <action function="'launch'">msg_DC_Quick_window</action>
                <action function="'closewindow'">msg_DC_Quick_window</action>
            <action>echo 'Vmb-6' > /0-MGR_VMB_RetVal.cfg </action>  
            <action>'Vmb_6' </action>    </button>
        <button> <label>"'Ready-7-grn'"</label> <variable>'toggleVmb77'</variable>
            <input file stock="gtk-yes"></input>
            <width>15</width><height>15</height>   
                <action function="'launch'">msg_DC_Quick_window</action>
                <action function="'closewindow'">msg_DC_Quick_window</action>
            <action>echo 'Vmb-7' > /0-MGR_VMB_RetVal.cfg </action>  
            <action>'Vmb_7' </action>    </button>
        <hseparator width-request="11" ></hseparator>
    </vbox>
        <vseparator height-request="11"> </vseparator>
        <hbox homogeneous="true">
            <button tooltip-text="''" >
            <input file stock="gtk-yes"></input>
                <width>33</width>  <height>33</height>
                <label>'Clear-VMB-Window_${xmessage}'</label> 
            <action function="closewindow">msg_DC_LxgenVmb_window_0</action> </button>
        </hbox>
</vbox>
</frame>
<variable>msg_DC_LxgenVmb_window_0</variable>
</window>'
export msg_DC_LxgenVmb_window_0   #! REQUIRED Msg Window ===================
#! ############################################################
#! ### VERT Page 4 <button> ### List System Icons #############
#! <input file stock="gtk-yes"></input>
#! <input file stock="gtk-apply"></input>
#! <input file stock="gtk-execute"></input>
#! <input file stock="gtk-media-record"></input>
#! <input file stock="gtk-close"></input>
#! <input file stock="gtk-select-color"></input>
#! <input file stock="gtk-warning"></input>
#! <input file stock="gtk-dnd"></input>
#! <input file stock="gtk-about"></input>
#! <input file stock="gtk-clear"></input>
#! <input file stock="gtk-color-picker"></input>
#! <input file stock="gtk-execute"></input>
#! <input file stock="gtk-info"></input>
#! ############################################################
#! ### 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_###  "Sbr_Cbx_Re" ##############################################
function Sbr_Cbx_ReStart() {   # ACTIVE   Group:  "Sbr_Cbx_Re"
    #! for Check-Box ARB_ReStart a simple 'warm' restart 
    n=0
    #!
    lcMsgStr="Sbr_Cbx_ReSTART_"
    #~ Sbr_Splash_Flip3  ${lcMsgStr} ".3"
    #!  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 .
    . ${0}      #: $ ZERO   # will run $0 / ReStart fresh .
    #!
    Sbr_FnNotFound "${0}"
        sleep 3
    #! 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___Alternative_ReBoot"
    Sbr_Splash_Flip3  ${lcMsgStr} ".3"
    sleep 1
        #!
        ${gcDistroReboot}   
        #!
    #!
    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_Flip3  ${lcMsgStr} ".3"
    sleep 1
    #!
    poweroff            #! ReQUIT___BASH_poweroff_
    #!
} #
export -f Sbr_Cbx_ReQuit
#!
#(: ======================================================================
#(: fx Sbr_Cbx_RePowerOff
#(: called by: CBX_ReQuit Simple PowerOff
#(: param:
#(: purpose:
#(: calls:
#(: called by: Simple ReQuit on Main System Screen
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ###_CBX_################################################
function Sbr_Cbx_RePowerOff() {   # ACTIVE      Simple PowerOff
    #! for Check-Box ARB_ReQUIT  for Simple for "wm"poweroff
    n=0
    #!
    lcMsgStr="Sbr_Cbx_RePowerOff___BASH_PowerOff_"
    Sbr_Splash_Flip3  ${lcMsgStr} ".3"
    sleep 1
    #!
    poweroff            #! ReQUIT___absolute_for_popping_stack___BASH_poweroff_
    #!
} #
export -f Sbr_Cbx_RePowerOff
#!
#!
#(: ======================================================================
#(: fx Sbr_Cbx_ReHalt
#(: called by: simple CBX_ReHalt
#(: param:
#(: purpose:
#(: calls:
#(: called by: Simple ReHalt on Main System Screen 
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ###_CBX_################################################
function Sbr_Cbx_ReHalt() {   # ACTIVE
    #! for Check-Box ARB_ReHalt___  absolute_for_killing_stack ___ 
    n=0
    #!
    lcMsgStr="Sbr_Cbx_ReHALT___BASH_halt_"
    Sbr_Splash_Flip3  ${lcMsgStr} ".3"
    sleep 1
    #!
    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. 
if [ ! $gcSysKillProc ] ; then  # sets up a Sbr_Button_Only as a "stub" .
    #! lcMsgStr="Kill Process "
    Sbr_Splash_It "! Kill Procss____STUB call  --- ! ---____" "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.
#(:   Sbr_Box_Message requires using the "OK" button to exit.
#(: note:
#(:   XML assumes /tmp/box_help and "gtkdialog -p" internal code.
#(:   XML sets up the markup and color options for the imported text.
#(:   XML sets up the "OK" control button, and will show/close/"OK"
#(:
#(: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
#(: Message Box Routines used:  Sbr_Box_Message  and  gxMessage 
#(:
#(: fx Sbr_Box_Message   # 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')_!-required-!'</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 Sbr_MGR_pMount_One
#(: called by:   Sbr_MGR_pMount_All calls "Sbr_MGR_pMount_One"
#(: purpose:  pMOUNT  only one hard-drive
#(: receives param: "/mnt/sd?1"
#(: returns:
#(: note:
#(:
#! ############################################################
function Sbr_MGR_pMount_One() {   # ACTIVE   called by below ...
    #! UpPmount ONE Special
    n=0
    lcParam1="${1}" # trg drive ID
    lcMsgStr="${1}:trg drive ID"
    gcActiveGui="1"
    #!
if [ "$gcActiveGui" = "1" ] ; then 
    #! -D---   Small splash 
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border false  -close never -text "\
.            '${1}'                              "&
    RETVAL=$?
    GTKPIDPMNTsbr=$! 
    #! kill ${GTKPIDPMNTsbr} is split
fi
#! IF -d /root THEN already mounted
    mkdir -pv /mnt/${1} drv
    mount         /dev/${1} /mnt/${1}
    mount -t ext3 /dev/${1} /mnt/${1}
    mount -t vfat /dev/${1} /mnt/${1}
if [ "$gcActiveGui" = "1" ] ; then 
    sleep .5
    kill ${GTKPIDPMNTsbr}       #! kill ${GTKPIDPMNTsbr} is split
fi
} #
export -f Sbr_MGR_pMount_One
#!
#!
#(: ====================================================================
#(: fx Sbr_MGR_pMount_All
#(: called from gui
#(: called by: E3R_Main_Int_Long_List    and gui-P-MntInt
#(: method: code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls: fx(Sbr_MGR_pMount_One)
#(: method: calls internal script with lowercase HD names
#(: sends:
#(: rationale:
#(: note :
#(:
#(: calls Sbr_MGR_pMount_One
#! ############################################################
function Sbr_MGR_pMount_All() {    # ACTIVE    
    #! UpPmount Special
    n=0
    gcActiveGui="1"
    lcActiveMntId="P"   # Id    # Not Used
    #!
if [ "$gcActiveGui" = "1" ] ; then 
    #! -D---  Big Splash BackGround 
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border true  -close never -text "\
   *.      P_Mount_All INTERNAL
    .
    .
    .                                                          "&
    RETVAL=$?
    GTKPIDPMNT1=$!
    sleep .3
fi
#!
#! Sbr_MGR_pMount_All
#! if -d /root then already mounted
#;;; multiple calls to subroutine , which runs a single "mount" routine
#;;; begin looping internal code 
#;;; DO NOT USE ON SDA1, because it is the primary drive. 
Sbr_MGR_pMount_One "sda2"
Sbr_MGR_pMount_One "sdb1"
Sbr_MGR_pMount_One "sdc1"
Sbr_MGR_pMount_One "sdd1"
Sbr_MGR_pMount_One "sde1"
Sbr_MGR_pMount_One "sdf1"
Sbr_MGR_pMount_One "sdg1"
Sbr_MGR_pMount_One "sdh1"
Sbr_MGR_pMount_One "sdi1"
Sbr_MGR_pMount_One "sdj1"
Sbr_MGR_pMount_One "sdk1"
Sbr_MGR_pMount_One "sdl1"
Sbr_MGR_pMount_One "sdm1"
Sbr_MGR_pMount_One "sdn1"
Sbr_MGR_pMount_One "sdo1"
Sbr_MGR_pMount_One "sdp1"
#;;; end looping ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
if [ "$gcActiveGui" = "1" ] ; then 
    Sbr_Splash_It  "DONE : _pMount_All" "yellow" "red" "3"           #! -D---
    kill ${GTKPIDPMNT1} # background splash yel/red 
fi #
} # 
export -f Sbr_MGR_pMount_All
#!
#! ===========================================================
#! end: Up Pmount     
#! ===========================================================
#!
#!
#! ===========================================================
#! begin: Dn Umount    
#! ===========================================================
#!
#(:===========================================================
#(: fx Sbr_MGR_uMount_One
#(: called by:   ft(EXIT:guiUMntInt)  (each one)
#(: calls:
#(: purpose:  uMOUNT only one hard-drive
#(: receives param: "/mnt/sd?1"
#(: returns:
#(: note:
#(:    function "Sbr_Sys_uMount_All"  calls "Sbr_MGR_uMount_One"
#! ############################################################
function Sbr_MGR_uMount_One() {   # ACTIVE   called by next ...
    #! DnUmount ONE Special
    n=0
    lcParam1="${1}" # trg drive ID
    gcActiveGui="1"
    #!
if [ "$gcActiveGui" = "1" ] ; then 
    #! -D--- Small Splash
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border false  -close never -text "\
.            '${1}'                              "&
    RETVAL=$?
    GTKPIDUMNTsbr=$!
fi
        lcDirName="/root"
        if [ -d ${lcDirName} ] ; then # IF target directory is real 
            umount -lv      /mnt/${1}
        else    # ELSE /root is the /root/home and cannot be unMounted !
            n="0"
        fi
if [ "$gcActiveGui" = "1" ] ; then 
       sleep 1
       kill ${GTKPIDUMNTsbr}
fi
} #
export -f Sbr_MGR_uMount_One
#!
#!
#(: ============================================================
#(: fx Sbr_Sys_uMount_All
#(: calls: Sbr_MGR_uMount_One
#(: called from: Gui
#(: called by: E3R_Main_Int_Long_List    and gui-P-MntInt
#(: method: Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:  DnUmount Special
#(: calls:
#(: method: calls internal script with lowercase HD names
#(: sends:
#(: rationale:
#(: note :
#(:
#(: calls Sbr_MGR_uMount_One with internal prep.
#(:
#! ############################################################
function Sbr_Sys_uMount_All() {   # ACTIVE
    #! DnUmount Special
    n=0
    gcMntAllLogP="/tmp/MGR_MntAllU.log "
    gcActiveGui="1"
if [ "$gcActiveGui" = "1" ] ; then 
    #! -D---   Big Splash BackGround
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border true -close never -text "\
  *.         U_Mount_All_Internal
   . 
   .
   .                                                          "&
    RETVAL=$?
    GTKPIDUMNT1=$!
fi
#;;; never try to unmount /dev/SDA
#;;; begin looping subroutine umount process ;;;;;;;;;;;;;;;;;;;
#;;; DO NOT USE ON SDA1, which is the primary drive. 
Sbr_MGR_uMount_One "sda2"
Sbr_MGR_uMount_One "sdb1"
Sbr_MGR_uMount_One "sdc1"
Sbr_MGR_uMount_One "sdd1"
Sbr_MGR_uMount_One "sde1"
Sbr_MGR_uMount_One "sdf1"
Sbr_MGR_uMount_One "sdg1"
Sbr_MGR_uMount_One "sdh1"
Sbr_MGR_uMount_One "sdi1"
Sbr_MGR_uMount_One "sdj1"
Sbr_MGR_uMount_One "sdk1"
Sbr_MGR_uMount_One "sdl1"
Sbr_MGR_uMount_One "sdm1"
Sbr_MGR_uMount_One "sdn1"
Sbr_MGR_uMount_One "sdo1"
Sbr_MGR_uMount_One "sdp1"
#;;; end looping ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#!
if [ "$gcActiveGui" = "1" ] ; then  
    Sbr_Splash_It  "DONE : Sbr_Sys_uMount_All" "yellow" "red" "3"           #! -D---
    kill ${GTKPIDUMNT1} # background
fi
} #
export -f Sbr_Sys_uMount_All
#!
#! ===========================================================
#! end: Dn Umount        
#! ===========================================================
#!
#!
#!
#!
#!
#!
#! ### DUMPS ########################################################################
#! ### DUMPS ########################################################################
#! ### DUMPS ########################################################################
#!
#!
#!
#(: =====================================================================
#(: fx Sbr_Dump_HLP 
#(: called by:  Main_GUI
#(: param:
#(: purpose:  MGR Help general
#(: calls:
#(: method:  > /tmp/box_help & /usr/lib/gtkdialog/box_help
#(: sends:
#(: rationale:
#(: note :
#(:     gtkdialog/box_help will handle format and embedded color text codes.
#(:     xmessage will NOT handle format and color embedded text codes.
#(:     system gtkdialog "box_help" location is  '/usr/lib/gtkdialog/box_help'
#(:
#(: note: requires /tmp/box_help
#(:  gcMGRDob is declared/assigned at beginning (top) of program
#(:  fx(MGR_SetVerDate) is called at top of '=== MAIN ( ) ==='
#(:  echo this out as one long string, to standard /tmp/help_box
#(:  then call it via Sbr_Box_Message for '/tmp/box_help'"
#(: 
#(:
#! ### #########################################################
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 "'${gcMgrVer}'" Manager'"</span></b>
<b><span foreground='"'blue'"'>"Not intended to be a Turn-Key project."</span></b>
<b><span foreground='"'red'"'>"${gcSysNameBase}"</span></b> is a general <b><span foreground='"'red'"'>'Menu Framework' </span></b>
    <span foreground='"'green'"'>"  Purpose is to provide a '<b>'sand-box'</b>"</span>
    <span foreground='"'green'"'>"' for '<b>'BASH GTK experiments'</b>'."</span>
    <span foreground='"'green'"'>"   and Allow-Flipping-between-'<b>'22-Puppy_Distros_!'</b>'"</span>
    <span foreground='"'green'"'>"   by rewriting part of menu.lst and then rebooting"</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='"'blue'"'>"has Toggle-View button on Main screen ! "</span>
    <span foreground='purple'>       "#! for compact Selection of 22 Menu Presets."</span>
<span foreground='"'green'"'>"--------------------------------------------------------------------------------"</span>
<span foreground='red'>"#! Each OS is tested via its own original distro BASH ."</span>
<span foreground='red'>"#! Each OS is tested via its own original distro GTK ."</span>
<span foreground='red'>"#! Each OS is original as written by Mik01 or PeaBee ."</span>
<span foreground='"'green'"'>"_____________________________________________________"</span>
"--- "
<span foreground='"'green'"'>"______________________________"</span>
<b><span foreground='"'blue'"'>"buttons with Double-Click will trigger "</span></b>
<b><span foreground='"'blue'"'>"a large tear-drop shaped ICON."</span></b>
<b>:<span foreground='"'red'"'>"RED Border"</span>": tear-"<span foreground='"'yellow'"'>"YELLOW "</span>"-drop:"</b>
<b><span foreground='"'green'"'>"pop-up in middle of screen"</span></b>
"--- "
<span foreground='"'purple'"'>"${gcSysNameBase} is LINUX ! "</span>
<span foreground='"'purple'"'>"___${gcSysNameBase} is Free Open Source ! "</span>
<span foreground='"'purple'"'>"_____ so READ the code ! "</span>
"--- "
<b><span foreground='"'green'"'>"___Tested across 22 Puppy Distros______________________"</span></b>
<b><span foreground='"'red'"'>"BASH will always work, with a few quirks "</span></b>
<b><span foreground='"'red'"'>"but, GTK is sensitive to the theme settings/formatting"</span></b>
<b><span foreground='"'blue'"'>"#! for MGR with "Deep Thought" theme. "</span></b>
<b><span foreground='"'blue'"'>"#! Screen : gcMrgGuiWid='1200'"</span></b>
<b><span foreground='"'blue'"'>"#! for MGR with 'Default' theme."</span></b>
<b><span foreground='"'blue'"'>"#! Screen : gcMrgGuiWid='1100'"</span></b>
<b><span foreground='"'blue'"'>"__________________________________________"</span></b>
"--- "
<span foreground='"'green'"'>"______________________________"</span>
<span foreground='"'blue'"'>"Authors note about ${gcSysNameBase}.sh coding :"</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'red'"'>"documented code "</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'green'"'>"modular code "</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'green'"'>"... grouped in similar function names "</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'green'"'>"readable code "</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'green'"'>"modifiable code "</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'green'"'>"designed to prevent interaction "</span>
${gcSysNameBase} code is <span background='"'white'"' foreground='"'green'"'>"... between bash and gtkdialog "</span>
"--- "
<span foreground='"'green'"'>"${gcSysNameBase}.sh restarts $0, uses '/tmp' "</span>
<span foreground='"'green'"'>"${gcSysNameBase}.sh requires 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>
<span background='brown'><span foreground='yellow'> '===================='</span></span> 
<span background='yellow'><span foreground='blue'> '#! 22 Distros  '</span></span>
<span background='yellow'><span foreground='blue'> '#! Some require  </span></span>  
<span background='yellow'><span foreground='blue'> '#! the default Themes for GTK '</span></span> 
<span background='brown'><span foreground='yellow'> '====================' </span></span> 
"--- including:"
<b><span foreground='"'red'"'>"#! iso_NoblePup32-24.04-__K:6.1.115___240907"</span></b>
<b><span foreground='"'blue'"'>"#! iso_BionicPup32-19.03-K5.9--- K:5 __32  231209"</span></b>
<b><span foreground='"'brown'"'>"iso-bionicpup64-8.0-uefi_ _ _ _ _ _ _ _K:4__64_231219"</span></b>
<span foreground='"'blue'"'>  "iso-BionicPup32-8.0+30_BionicBeaver_____220407"</span>
<b><span foreground='"'red'"'>"iso-UpupTahr-6.0.6-k4.1.30-uefi_K:4.1___190211"</span></b>
<span foreground='"'blue'"'>  "iso_ManticPup32-23.10+1.iso_____Kernal:6.1_231209"</span>
<span foreground='"'blue'"'>  "iso-JammyPup32-22.04+8_JammyJellyfish___22123"</span>
<span foreground='"'blue'"'>  "iso-UPupFF+D-20.12+4_Focal-Fossa________201210"</span>
<span foreground='"'blue'"'>  "iso-KineticPup32-22.10+2________________230604"</span>
<span foreground='"'blue'"'>   "iso-Slacko-7.0_DpupS7_14.2________________220205"</span>
<span foreground='"'blue'"'>   "iso-Xenial-64_7.5_XL_______________________220401"</span>
<span foreground='"'blue'"'>   "iso-S15Pup-64_22.12+1-T___________________220922"</span>
<span foreground='"'blue'"'>   "iso-Quirky_April-7.0.1F-uefi______________200511"</span>
<span foreground='"'blue'"'>   "iso_devuanpup-9.7.0-chimaera_4.0_i386____211206"</span>
<span foreground='"'blue'"'>   "iso_LxPupSc-slacko-20.01+0-T-k64_________200129"</span>
<span foreground='"'blue'"'>   "iso_slacko64_14.2_32-674-bit_comptible___220227"</span>
<span foreground='"'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='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>
"--- "
<span foreground='"'purple'"'>"${gcSysNameBase} is LINUX ! "</span>
<span foreground='"'purple'"'>"___${gcSysNameBase} is FOSS ! "</span>
<span foreground='"'purple'"'>"_____ so READ the code ! "</span>
......................................................"\
> /tmp/box_help
Sbr_Box_Message "=== HELP === Sbr_Box_Message > /tmp/box_help + box_help"
#
#! working ReStart
#~ Sbr_Cbx_ReStart 1
#
} # end
export -f Sbr_Dump_HLP
#! ############################################################
#!
#!
#!
#!
#!
#!
#(: ============================================================
#(: fx Sbr_Dump_Sbr_Dump_Proc  
#(: called by:  Main_GUI
#(: param:
#(: purpose:  MGR Sbr_Dump_Proc  
#(: calls:
#(: method:  > /tmp/box_help & /usr/lib/gtkdialog/box_help
#(: sends:
#(: rationale:
#(: note :
#(:     gtkdialog/box_help will handle format and embedded color text codes.
#(:     xmessage will NOT handle format and color embedded text codes.
#(:     system gtkdialog "box_help" location is  '/usr/lib/gtkdialog/box_help'
#(:
#(: note: requires /tmp/box_help
#(:  gcMGRDob is declared/assigned at beginning (top) of program
#(:  fx(MGR_SetVerDate) is called at top of '=== MAIN ( ) ==='
#(:  echo this out as one long string, to standard /tmp/help_box
#(:  then call it via Sbr_Box_Message for '/tmp/box_help'"
#(:
#! ############################################################
function Sbr_Dump_Proc() {   # ACTIVE  
    #! echo "${gcSysDistroName} = textfile > cat + gxmessage" > ${lcMsgTrgDP}
    n=0
    echo "\
<span background='"'brown'"'><span foreground='"'yellow'"'> "========" </span></span>\
<span background='"'yellow'"'><span foreground='"'blue'"'>"     "${gcSysNameBase}" Procedure-Documention "</span></span>\
<span background='"'brown'"'><span foreground='"'yellow'"'> "========" </span></span>
"--- "

<span foreground='red'>"#! MGR software has a four part method: "</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 written top of source."</span>

<span foreground='blue'>"  "</span> <span foreground='green'>". PET install not required"</span>
<span foreground='blue'>"  "</span> <span foreground='green'>". . . . dependencies embedded or included."</span>
<span foreground='blue'>"  "</span> <span foreground='green'>". just place downloaded scripts into /root/my-applications."</span>
<span foreground='blue'>"  "</span> <span foreground='green'>". . . . check PATH."</span>

<span foreground='red'>"-------------------------------------"</span>"\
> /tmp/box_help
Sbr_Box_Message "=== PROC ==='Sbr_Box_Message'=== /tmp/box_help"
#
#! working ReStart
#~ Sbr_Cbx_ReStart 1
#
} # 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='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'"'>"#! iso_NoblePup32-24.04-__K:6.1.115___240907"</span></b>
<b><span foreground='"'blue'"'>"#! iso_BionicPup32-19.03-K5.9--- K:5 __32  231209"</span></b>
<b><span foreground='"'brown'"'>"iso-bionicpup64-8.0-uefi_ _ _ _ _ _ _ _K:4__64_231219"</span></b>
<span foreground='"'blue'"'>  "iso-BionicPup32-8.0+30_BionicBeaver_____220407"</span>
<b><span foreground='"'red'"'>"iso-UpupTahr-6.0.6-k4.1.30-uefi_K:4.1___190211"</span></b>
<span foreground='"'blue'"'>  "iso_ManticPup32-23.10+1.iso_____Kernal:6.1_231209"</span>
<span foreground='"'blue'"'>  "iso-JammyPup32-22.04+8_JammyJellyfish___22123"</span>
<span foreground='"'blue'"'>  "iso-UPupFF+D-20.12+4_Focal-Fossa________201210"</span>
<span foreground='"'blue'"'>  "iso-KineticPup32-22.10+2________________230604"</span>
<span foreground='"'blue'"'>   "iso-Slacko-7.0_DpupS7_14.2________________220205"</span>
<span foreground='"'blue'"'>   "iso-Xenial-64_7.5_XL_______________________220401"</span>
<span foreground='"'blue'"'>   "iso-S15Pup-64_22.12+1-T___________________220922"</span>
<span foreground='"'blue'"'>   "iso-Quirky_April-7.0.1F-uefi______________200511"</span>
<span foreground='"'blue'"'>   "iso_devuanpup-9.7.0-chimaera_4.0_i386____211206"</span>
<span foreground='"'blue'"'>   "iso_LxPupSc-slacko-20.01+0-T-k64_________200129"</span>
<span foreground='"'blue'"'>   "iso_slacko64_14.2_32-674-bit_comptible___220227"</span>
"--- "
<span foreground='"'darkblue'"'>\
    NOTE: Different "'"GTK Themes"'" 
    will alter font size and screen usage.

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

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

    more tests required to differentiate 
        various themes and screen dimensions for each Distro
        which alter font size and screen usage. 
</span>
<span foreground='green'>"______________________________"</span>
<span background='brown'><span foreground='yellow'> '=========='</span></span>\
<span background='yellow'><span foreground='blue'> ' "SOFT" LockFile:'</span></span>\
<span background='brown'><span foreground='yellow'> '==========' </span></span>
<span foreground='darkblue'>\
    #(: ------------------------------------------------
    #(:  Note:   
    #(:   MGR.sh is written with a "SOFT" LockFile.
    #(:      so error message is displayed, 
    #(:      and program continues to run. 
    #(:  Note: 
    #(:  'strict' lockfile method NOT implemented.
    #(:  IF 'strict' lockfile block is written into a function()
    #(:     ( which is a "sub-routine" )
    #(:     [which by definition is a sublevel in the stack],
    #(:  THEN 'exit' will only "pop" one level
    #(:     at the function() stack level,
    #(:     and will not 'quit' or 'halt' the PRG as desired.
    #(:
<b><span foreground='"'brown'"'>    "#: MGR.sh has a 'SOFT Lock' method "</span> </b>
    #(:     User is responsible for correcting 
    #(:     repeated runs of MGR.sh . 
    #(:  'soft' lock produces 'non-fatal' errors.  
    #(:
    #(:
<span foreground='blue'>"-------------------------------------"</span>
<span foreground='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>
</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" "1"  
lcFileGXmessage="/usr/bin/gxmessage"    # current target 
#! begin Source Header
lcMsgSrc="${0}" # "${gcZeroRun}"
lcMsgTrg="/tmp/box_help"   # box_help is required by gtkdialog 
#! begin Source Body
cat ${0} > ${lcMsgTrg}     ### Sbr_Dump_SRC   /tmp/box_help ###
    #!
#! display SOURCE 
gxmessage -title "Sbr_Dump_SRC"  -name "-SRC-" -font bold -bg lightyellow -fg darkblue -center -wrap -file ${lcMsgTrg} 
#!
Sbr_Cbx_ReStart 1
} #
#
export -f Sbr_Dump_SRC
#!
#(: ====================================================================
#(: fx Sbr_Dump_PUP
#(: called by: Main Gui
#(: param:
#(: purpose:  Display PUPSTATE via direct link in Main_GUI , returns to same.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:     gtkdialog/box_help will handle format and embedded color text codes.
#(:     xmessage will NOT interpret markup text codes.
#(:     Method: cat ${lcMsgSrc} > ${lcMsgTrg} & xmessage
#(:
#! ############################################################
function Sbr_Dump_PUP() {    # ACTIVE
    n=0
lcMsgSrcDP="/etc/rc.d/PUPSTATE"
lcMsgTrgDP="/tmp/box_help"  # /tmp/MGR_PUPSTATE
#
echo "# ${gcSysDistroName} = textfile > cat + gxmessage" > ${lcMsgTrgDP}
    #!
echo "# ${lcMsgSrcDP}"  >> ${lcMsgTrgDP}
echo "# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" >> ${lcMsgTrgDP}
echo "# This is Linux "  >> ${lcMsgTrgDP}
echo "#    This is Free Open Source  " >> ${lcMsgTrgDP}
echo "#       So, Read the Code" >> ${lcMsgTrgDP}
echo "# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" >> ${lcMsgTrgDP}
echo "# `date +%y%m%d-%H%M-%S`"  >> ${lcMsgTrgDP}
#
cat ${lcMsgSrcDP} >> ${lcMsgTrgDP}
#
lcMGR_dts="=== MGR  NowDTS  `date +%y%m%d-%H%M-%S`"
echo "${lcMGR_dts}" >> ${lcMsgTrgDP}    #: add string to PUPSTATE Text Output
echo "=== {PUP+} MGR_Pup_Box ============================" >> ${lcMsgTrgDP}
sleep 1
gxmessage -name "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}     ### gxmessage pulls /tmp/box_help ###
gxmessage -title "gxmessage IMG" -name "Sbr_Dump_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="  
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 === GTK 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-NAME:  ${DISTRO_NAME}       DistroVersion: ${DISTRO_VERSION}
Puppy-SUBDIR: ${PSUBDIR}
Symbol: ${gcMgrDistroSymbol}
DistroKernel: ${gcMGRKernVer} 
Distro_PuppyDate: ${DISTRO_PUPPYDATE}
Iso-file-Date: ${gcMgrIsoDate}  
=======================================
Mgr-Run-Date: ${gcSysDevDob}
Mgr-Key-ID: ${gcMgrKey}
Mgr-BashPid: ${gcMgrBashPid} 
=======================================
PUP_HOME: ${PUP_HOME}
: ${PUPSAVE}
Save-Data-Name-Mount="`cat /sys/fs/aufs/si_*/br0 | head -1 | cut -f1 -d'='`"
    Src:/sys/fs/aufs="`cat /sys/fs/aufs/si_*/br1 | head -1 | cut -f1 -d'='`"   RamObj: ${lcPupRamObjMsg}
=======================================
* uname: `uname -a`    
* kernal name: `uname -s`  
* kernel release: `uname -r` 
* kernel verson  `uname -v` 
* system: machine: `uname -m` 
* processor: `uname -p`      * platform: `uname -i` 
* operating sys: `uname -o` 
*gcSysDevDob = ${gcSysDevDob}   *gcMgrDevId = ${gcMgrDevId} 
*gcSysDistroPuppySFS=${gcSysDistroPuppySFS}  
*gcPupSfsFile=${gcPupSfsFile}"
#! -D---
/usr/lib/gtkdialog/box_ok "=== Sys Notes and Var === GTK box_ok" error " ${lcStrUpPop}                                                      "
    RETVAL=$?
    GTKPIDMAIN0=$!
    #
    kill ${GTKPIDMAIN0}
#
#! / tmp / Mgr_Dump_Sys.txt
#! declare sbr used at main ( ) 
#! Sbr_Dump_SYS-Declare used after Sbr_Dump_Sys ( the "A" version ) 
echo "# fx( Sbr_Dump_SYS-Declare )  info ..."  > /tmp/Mgr_Dump_Sys.txt
cat /etc/rc.d/MGR-declare.txt >> /tmp/Mgr_Dump_Sys.txt
lcMsgTrg="/tmp/Mgr_Dump_Sys.txt"
gxmessage -title "gxmessage SYSTEM" -name "Sbr_Dump_SYS-Declare" -font bold -bg lightyellow -fg darkblue -center  -file ${lcMsgTrg}
#!
} # 
#
export -f Sbr_Dump_Sys
#!
#!
#(: =====================================================
#(: fx Sbr_Dump_Declare
#(: called by:
#(: param:
#(: purpose: splash Dev Notes and test var
#(: calls:
#(: method: gtk box_ok
#(: sends:
#(: rationale:
#(: note : line length < 62
#(: note:
#! #####################################################
function Sbr_Dump_Declare() {   # ACTIVE
    n=0
#! / tmp / Mgr_Dump_Declare.txt
#! declare sbr used at main ( ) 
#! Sbr_Dump_Declare used after Sbr_Dump_Sys ( the "A" version ) 
rm -f /tmp/Mgr_Dump_Declare-${gcMgrVer}.txt
echo "# fx( Sbr_Dump_Declare )   Attributes and Values of all Variables ..."  > /tmp/Mgr_Dump_Declare-${gcMgrVer}.txt
declare >> /tmp/Mgr_Dump_Declare-${gcMgrVer}.txt
lcMsgSrc="/tmp/Mgr_Dump_Declare-${gcMgrVer}.txt"
gxmessage -title "gxmessage SYSTEM" -name "Sbr_Dump_Declare  /tmp/Mgr_Dump_Declare-10.txt" -font bold -bg lightyellow -fg darkblue -center  -file "${lcMsgSrc}"
#!
} # 
export -f Sbr_Dump_Declare
#!
#! 
#(: ============================================================
#(: fx Sbr_Dxstro_Window   
#(: called by:  DOX_GUI
#(: param:
#(: purpose:  MGR Help general
#(: calls:
#(: method:  > /tmp/box_help & /usr/lib/gtkdialog/box_help
#(: sends:
#(: rationale:
#(: note :
#(:     gtkdialog/box_help will handle format and embedded color text codes.
#(:     xmessage will NOT handle format and color embedded text codes.
#(:     system gtkdialog "box_help" location is  '/usr/lib/gtkdialog/box_help'
#(:
#(: note: requires /tmp/box_help
#(:  gcMGRDob is declared/assigned at beginning (top) of program
#(:  fx(MGR_SetVerDate) is called at top of '=== MAIN ( ) ==='
#(:  echo this out as one long string, to standard /tmp/help_box
#(:  then call it via Sbr_Box_Message  for '/tmp/box_help'"
#(:
#! ###    #! echo "${gcSysDistroName} = textfile > cat + gxmessage" > ${lcMsgTrgDP}
#########################################################
function Sbr_Dxstro_Window () {   # ACTIVE  
    n=0
    echo "\
<span background='"'brown'"'><span foreground='"'yellow'"'> "========" </span></span>\
<span background='"'yellow'"'><span foreground='"'blue'"'>"     "${gcSysNameBase}" Dxstro_List "</span></span>\
<span background='"'brown'"'><span foreground='"'yellow'"'> "========" </span></span>
<b><span foreground='"'red'"'>". . . . ${gcSysNameBase} 'Puppy Project Manager'"</span></b>
"--- "
<span foreground='"'green'"'>"____________________________________________"</span>
<b><span foreground='"'purple'"'>" Running Tests on 22 Puppy OS, including: "</span></b>
<span foreground='purple'>"#! Each OS is tested via its own original distro BASH ."</span>
<span foreground='purple'>"#! Each OS is tested via its own original distro GTK ."</span>
"--- including: "
<b><span foreground='"'red'"'>"#! iso_NoblePup32-24.04---------------------240907"</span></b>
<b><span foreground='"'blue'"'>"#! iso_BionicPup32-19.03-K5.9--- K:5 __32  231209"</span></b>
<b><span foreground='"'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>
"--- "
......................................................"\
> /tmp/box_help
Sbr_Box_Message "=== Dxstro ==='function Sbr_Dxstro_Window'===/tmp/box_help==="
#
} # end
export -f Sbr_Dxstro_Window
#! ############################################################


#! ### DUMPS ########################################################################
#! ### DUMPS ########################################################################
#! ### DUMPS ########################################################################
#!
#!
#!
        #!
        #! ###################################################
        function MGR_TouchLockFile() {   #: NOT ACTIVE
            n=0
        } #
        #!
        #!
        #! ###################################################
        function MGR_TouchCBXstatus() {   #: NOT ACTIVE
            n=0
        } #
        #!
        #!
        #! ###################################################
        function MGR_TouchE3Rstatus() {   #: NOT ACTIVE
            n=0
        } #
        #!
#!
#!
#(: ======================================================
#(: fx Sbr_Sys_Sync
#(: called by: '/sbin/sync' is a link into 'busybox' binary '/bin/busybox' + splash
#(: param:
#(: purpose:  link into 'busybox' binary '/bin/busybox'
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ######################################################
function Sbr_Sys_Sync() {   # ACTIVE
#!
n=0
#!  clear lingering colors
/bin/echo -en "\\033[0;39m"    #>/dev/console
/bin/echo -en "\\033[60G"      #>/dev/console
/bin/echo -en "\\033[1;33m"    #>/dev/console
/bin/echo -e  "\\033[0;39m"    #>/dev/console
#! 
if [ ! $1  ] ; then   # display
Sbr_Splash_It "< SYNC >  flush buffers" "orange" "purple" "1"    #! -D---
fi # end: [ $1 = "1" ]
#!
    sync    # # '/sbin/sync' is a link into 'busybox' binary '/bin/busybox'
#!
} #
export -f Sbr_Sys_Sync
#!
#!
#(: ======================================================
#(: fx Sbr_S2F1-MI
#(: called by:    EXIT:guiSimReStart, ReBoot, ReQuit
#(: param:
#(: purpose:
#(:
#(: calls:  nice -n ${lcRunNum} snapmergepuppy /initrd/pup_ro1 /initrd/pup_rw
#(: method: code calling handled internal,
#(:     could loop via param
#(:     could call to external S2F-1 multiple times.
#(: sends:
#(: rationale:
#(: note :
#(:     # ## Save-2-Flash...Must.Close.XTerm...to clear buffers.
#(:     # ## purpose: one-shot "SMP"
#(:     # ## nice -19 puts SMP at top of priority stack
#(:     # ## ionice -c 1 puts SMP at #1 priority. 
#(:
#!
#(: ====================================================================
#(: fx Sbr_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
            n=0
            #~ lcMsgStr="PUPMODE=${PUPMODE}" && Sbr_Str2DevTrm "$lcMsgStr" "2" "3"
        fi
    #
    export gcMGRDob="${lcVerDtsTmp}"
    #
    export gcSysDistroLoc="${PDEV1}"    ### from PUPSTATE, from rc.sysinit.
    export gcZeroRun="$0"
    #! "BK ==============================================="
    export gcSysDistroVer="${PUPSFS}"
    export gcSysKernVer=${gcSysKernVer}
    export gcSysVer="${PUPSFS}" #: ${gcSysDistroVer}
    export gcPupSfsFile="`echo "$PUPSFS" | cut -f 3 -d ','`"
    export gcMGRDistroVer="${PUPSFS}"
    export gcMGRKernVer="`uname -r`"
    export lcPupMode=${PUPMODE}
    export lcPupHome=${PUP_HOME}
    export lcPupSave=${PUPSAVE}
    export gcPupSubDir=${PSUBDIR}
    export gcPupSubDirDts="${gcPupSubDir}.BKP-`date +%y%m%d-%H%M-%S`"
    lcPupSaveNameRaw="PUPSAVE : ${lcPupSave}"
    lcPupSaveName="`echo $lcPupSave | cut -f 3 -d "/"`"
    lcPupSaveNameDts="NameDts = ${lcPupSaveName}.BKP-`date +%y%m%d-%H%M-%S`"
    lcPupSaveNameTrg="${lcPupSaveNameDts}.tar.gz"
    lcPupSaveNameSrc="${lcPupSaveName##*/}"
    lcPupSaveData="`echo $lcPupSave | cut -f 2 -d "/"`"
    lcPupSaveData="/initrd${lcPupHome}/${lcPupSaveData}/${lcPupSaveName}"
    lcPupDistroVer="${PUPSFS}"
    #!
    #! "top=RamObj ==============================================="
    #! dev: "calc" if [ zero ]  for "${lcPupRamObjMsg}"
    if [ "${lcPupRamObjMsg}" ] ; then  # NOT ZERO   # do nothing
         n="0"
        #! MGR has been run/initialized the "first" time. So, Will Show "RamObjMsg" Col #1, bottom. 
        sleep .1    
    else    # so must generate . 
    #! "gen=RamObj ==============================================="
        #! ------------------------------------
        aa="$(du -c -m -s ${lcPupSaveData} )"     # error flag on Zero-length file shown inside Geany/XTerm
        read -r b ccc <<< "$aa" # --- saveDATA size calc
        #!
        lcPupRamObj="${b}"
        lcPupRamObjMsg="${lcPupRamObj} MB "
        #!
        ### changed from leading grave [`] to enclosing double-apostrophe ["]
        ### FREERAM="free | grep -o 'Mem: .*' | tr -s ' ' | cut -f 4 -d ' '"
        ### export gcFreeRamNow="${FREERAM}"
        ### export gcFreeRamData="# Ram: ${gcFreeRamNow} Bytes "
    fi
    #! "bot=RamObj ==============================================="
    export gcPupSave="${PUPSAVE}"
    export MGR_CBXstatus="/tmp/MGR_CBX_Status"
    export MGR_LockFile="/tmp/MGR_LockFile"
    export MGR_CBXstatus="/tmp/MGR_CBX_Status"
    #!
    export gcPupSave="${PUPSAVE}"
    export MGR_ReStart_flg="/tmp/MGR_ReStart.flg"
    #!
} #
export -f Sbr_Sys_PupState
#!
#!
#!
#(: ================================================================
#! Check-Box "CBX"  Old Code   ComboBox not implemented in v.8, v.9
#(: ================================================================
#(: fx Sbr_CBXAR3       # NOT ACTIVE  Check-Box "CBX"   # External calls
#(: called by: if [ "${EXIT}" == "CBXARS" ] || [ "${EXIT}" == "CBXARB" ] || [ "${EXIT}" == "CBXARQ" ] ; then
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! begin: ( EXIT:'CBX APPLY+')
#(: begin: check for "APPLY Checks" command   Check-Box "CBX"  # External calls
#(: fx EXIT='APPLY_Checks_All_'
#(: fx EXIT='CBXAR3')
#(: fx EXIT='CBXARS'
#(: fx EXIT='CBXARB'
#(: fx EXIT='CBXAPO'
#!
#! Fall-Thru Method 
#!
#~ #! ========================================================
#~ #(: fx IF EXIT:CBXAR3   #! CBXARS  #! CBXARB #! CBXARQ      #! Old Code for ComboBox #! Not Used 
#~ #!  via ( EXIT:CBX_APPLY+ )
#~ #! if [ "$EXIT" = "CBXARS" ] ; then ; n=0 ; fi   # CBX ARS, ARB, ARQ ComboBox
#~ #!
 #~ if [ ${EXIT} == "CBXARS" ] || [ ${EXIT} == "CBXARB" ] || [ ${EXIT} == "CBXARQ" ] ; then
    #! Old Code for ComboBox #! Not Used 
              #~ n=0     
          # xmessage -timeout 3 -name 'ComboBox' -center -bg brown -fg yellow "${EXIT}"
    #~ Sbr_Splash_It "--- ComboBox --- " "yellow" "black" "3"       #! -D--- 
    #~ #(: 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+')
#!
#! =====================================================================
#!
#!
#!
#! ===========================================================
#! 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 : Bak'One'ArcDts is different from Bak'All'ArcDts
#(: note : Bak'One' into the /initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_MGR
#(: note : Bak'All' into the /root/myapplications 
#! ##########################################################
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 "
     lcTargetSDbase="/mnt/home"
    #!
#! pull from initial code : 
    lcSysFnPre="rc.z_"
    lcSysNameBase="${gcSysNameBase}"  # "MGR"         # ${gcSysNameBase}
    lcSysFnVer="-${gcMgrVer}"   # -8
    lcSysFnVerExt="${gcMgrVerExt}"   # -8.5.0
    lcSysNameExt=".sh"
    lcSysArcFnSrc="${lcSysFnPre}${lcSysNameBase}${lcSysFnVer}"
    #! pull from initial code : 
    #!   
    #! lcMgrRealFnSrc="`echo -n "$0" | cut -f 2 -d '/'`" 
    #! grRealFnsrc="`echo -n "$0" | cut -f -1 -d '/'`"   #  "./MGR-7.sh"
    #! used only in Sbr_BakOneArcDts
    #! *********************************************************
    #!
#! === MGR Arc+DTS === BackGround ============================
#!   Yellow / DarkRed
/usr/lib/gtkdialog/box_splash -fg yellow -bg darkred -border true -close never -text "\
*.    EDIT version :   BakOne  pulls from "EDIT" Shell Script + DTS  
*.   ->  over into "/arc_Common_dts_" 
*.   
*.   
*.
*.
*.      Back-One-DTS
*.
*.
*.
*.
*.   
*________________________________________________________________________________________" &
    pidx=$!
    GTKPIDmgrarcdtsA=$!
    sleep .5
    #!
    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_/${lcSysArcFnSrc}-${lcMgrArcSubName}-${gcMgrVerExt}-${lcMgrArcDtsNow}.sh"
    #! ===============================================
    #!   
    echo  "!:  ${lcSysArcFnSrc}"
    echo  "fr: ${lcFnSrc}"
    echo  "to: ${lcFnTrg}"
     #!   Yellow / Blue
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border true -close never -text "\
    Single MGR file 9_DTS backup
     from:   ${lcFnSrc}
     to:     ${lcFnTrg}
  " &
    pidx=$!
    GTKPIDmgrarcdts=$!
     #!_______________________________
    cp -v ${lcFnSrc} ${lcFnTrg}
    #!_______________________________
    #!
    sleep 3
    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 : Bak'One'ArcDts is different from Bak'All'ArcDts
#(: note : Bak'One' into the /initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_MGR
#(: note : Bak'All' into the /root/myapplications 
#! ########################################################
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 
/usr/lib/gtkdialog/box_splash -fg yellow -bg blue -border true -close never -text "\
  BakOne---RA--- ${lcFnSrc} --- into ${lcFnTrgRA}" &
    pidx=$!
    GTKPIDmgrarcdtsB=$!
        echo "=== ${lcFnTrgRA} ======" 
        cp -v   ${lcFnSrc} ${lcFnTrgRA}
        #! "cp -v  "  is  faster  than  "cp -v -u   "   
        sleep .1     #! major time eater
        kill ${GTKPIDmgrarcdtsB}
    else
        echo "--- ERROR --- ${lcFnSrc}:${lcFnTrgRA} --- NOT FOUND --- " 
        Sbr_Splash_It "--- ERROR --- ${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 : Bak'One'ArcDts is different from Bak'All'ArcDts
#(: note : Bak'One' into the /initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_MGR
#(: note : Bak'All' into the /root/myapplications 
#! =====================================
#!
#! #####################################################
function Sbr_BakAllArcDts() {    #  ACTIVE 
    #! called by < BakAll-RS > < BakAll-RB >
    n=0
    #! === Sbr_BakAllArcDts === into  /mnt/home/MGR-All-Arc-Dts_/MGR-ALL-Arc-Dts-flg.tst
    #! === "IF NOT FILE" CHECK    ;  THEN  make subdir and flag flg ===
 
    lcTargetSD="/mnt/home/MGR-All-Arc-Dts_"
    lcTargetSDbase="/mnt/home"
    lcMgrArcDtsNow="`date +%y%m%d-%H%M-%S`"
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    #! -D---  ### BackGround ###
/usr/lib/gtkdialog/box_splash -fg yellow -bg brown -border true -close never -text "\
*.     Copy ALL major 'EDIT' scripts  + DTS  
*.     Multi:  MGR, + CTX, + et al, geany.config 
*.     into /root/applications 
*.  
*.  
*.      Back-ALL-DTS
  
*.  
*.  
*.
*._____________________________________________________
" &    pidx=$!
    GTKPIDmgrarcdtsA=$!
    sleep 1
    #!     "BakAll-Arc-Dts_"     
    #! ================
    #!     Touch Code used by Sbr_BakOneArcDts
    #! ================
    #!  begin "TOUCH"    ===  'touch' has required a literal 
     lcTargetSD="/mnt/home/MGR-All-Arc-Dts_"
     lcTargetSDbase="/mnt/home"
     lcMgrAllArcDtsSN="MGR-All-Arc-Dts_"  # used by Sbr_BakOneArcDts  and Sbr_BakAllArcDts
    #!
    lcFnTrg="/mnt/home/${lcMgrAllArcDtsSN}/rc.z_${lcMgrArcFnSrcFn}-${lcMgrArcSubName}-${lcMgrArcDtsNow}.sh"
    #!
    #! ===== Sbr_BakAllArcDts ==========================
    #! param:         SubDir , FileName ,   TargetSubdir 
    #! must prefix all file names with "rc.z_" and assume suffix is ".sh"
    #!
    lcMntHomeSubDir="/mnt/home/MGR-All-Arc-Dts_"
    lcTargetSD="/mnt/home/MGR-All-Arc-Dts_"
    #! -                  SDir     Fn           
    Sbr_BakAllArcDts_One "MGR"    "MGR-5"       "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGR"    "MGR-6"       "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGR"    "MGR-7"       "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGR"    "MGR-8"       "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGR"    "MGR-9"       "${lcMntHomeSubDir}"
    #!
    Sbr_BakAllArcDts_One "MCI"     "MCI"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "MGS"     "MGS-8"      "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "S2F"     "S2F"          "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "S2F"     "S2F-1"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "S2F"     "S2F-3"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTX"     "CTX"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTX"     "CTY"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTU"     "CTU"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTA"     "CTA"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTB"     "CTB"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTB"     "CTB-SL"    "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTB"     "CTB-SLX"    "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "CTB"     "CTB-5.2"    "${lcMntHomeSubDir}"
    #! PCB Pup Cold Backup via GlenE77is ... PXB is Internal to MGR
    Sbr_BakAllArcDts_One "PCB"     "PCB-ion"        "${lcMntHomeSubDir}"
    Sbr_BakAllArcDts_One "PCB"     "PCB-ion_Xterm"  "${lcMntHomeSubDir}"
    #! TXN_EXE via GlenE77is
    #~ Sbr_BakAllArcDts_One "TXN"     "TXN_RUN_CALL"  "${lcMntHomeSubDir}"
    #~ Sbr_BakAllArcDts_One "TXN"     "TXN_RUN_EXE"   "${lcMntHomeSubDir}"
    #! GTK_Toggle via GlenE77is
    #~ Sbr_BakAllArcDts_One "GTK"     "GTK_Toggle_Menu" "${lcMntHomeSubDir}"
    #~ Sbr_BakAllArcDts_One "GTK"     "Button_Rounded" "${lcMntHomeSubDir}"

    #! /initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_GTK/GTK_Toggle_Menu.sh
    #! === 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/geany.conf-${lcMgrArcDtsNow}.sh"
    #~ cp -v   ${lcFnSrc} ${lcFnTrg}
    #!
    #! ==================================================================
    #!
    #! ==================================================================
    #! /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
#(: ===========================================================
#!
#!
#!
#!
function Sbr_Sys_LockFile() {
#(: ======================================================
#(: begin LOCK-FILE
#(: Rationale: Lock-File "Soft" Version
#(: MGR is a Master Conrol program.
#(: MGR must have a 'LockFile' to control for "Run-Twice".
#(: ======================================================
#(: fx "LockFile" not written as a "function" LockFile subroutine
#(: called by: main () as "in-line code" ,
#(:     so that "exit 0" is immediate, from top of "0" empty stack.
#(: purpose: provides a "Soft-Lock" method.  IF error, THEN continue .
#(:
#! begin lock-file section ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    #(: generate the name of the 'lock-file' in 'export' section.
    #(: begin Lock-File Section =======================================
    #(: if previous lockfile is found, then throw a flag, cleanup, possibly exit '1'.
    #(: remember, we have written a "Soft-Lock"
    #! ##############################################################
    n=0
    if [ -f ${MGR_LockFile} ]; then      #: this is Main () lockfile
        lcMsgStr=" Error: Soft LockFile Control
          !!! MGR_Running_Already !!!
          ... (1) Quit MGR program
          ... (2) Clear Running MGR window
          ... (3) Re-Start MGR program
          ... (4) however, always, MGR program will continue (Soft Lock)
        #(: IF Hard-Lock code, THEN  ${MGR_LockFile} can prevent re-running program.
        #(: IF Soft-Lock  code, THEN  program allows Continue through a non-fatal error. 
        #(: ideally,
        #(: user will clear lingering lockfile, manually, immediately, 
        #(: then restart program."
        xmessage  -name 'MGR_Soft-Lock-'  -timeout 1  -center   -fg yellow  -bg brown  "${lcMsgStr}"
        #(: Note on "Lock-File" method at end of source code.
        #(:
    else
        n=0
        #! lcMsgStr=" =  Lock File Not Found  :[ -f ${MGR_LockFile} ]: " && Sbr_Str2DevTrm "$lcMsgStr" "3" "3"
    fi
    #!
    #(: ->->-> begin set lock-file
    #(: Always !
    #(: so Otherwise , SET the lock-file, during this program run.
    touch "${MGR_LockFile}"   # Always ! for "Soft Lock" 
    #(: remove this lockfile at end of "QUIT", bottom of code.
    #!
    #! end: Sbr_LockFile
    #(:
    #(: 
    #! #####################################################
    #(: This is the main () level, and 'exit' will drop out of prg.
    #(: but,
    #(: IF 'Lock-File found' 
    #(: THEN check is inside a subroutine,
    #(: THEREFORE 'exit 1' will only exit up to the previous stack level
    #(:    and will not exit program. 
    #(: THEREFORE must pass back a RETVAL flag of '1' to trigger another 'exit'
    #(: Note: This is a BASH system stack '0' concern,
    #(:     Controlled by manually placing 'Check Lock-Flag' at stack base level '0'.
    #(:
} # end Sbr_Sys_LockFile
export -f Sbr_Sys_LockFile
#! ######################################################


#!
function Sbr_Sys_CheckMode() {
#!
n=0
#! Check for installed System Mode
#(: function if [ "$MODE" = "12" ] || [ "$MODE" = "13" ]; then # frugal install
        MODE="`grep PUPMODE /etc/rc.d/PUPSTATE | cut -f 2 -d "="`"
            if [ "$MODE" = "12" ] || [ "$MODE" = "13" ]; then
                n=0 #! initial "Running" splash, yellow/black, quick  !
            else 
                lcMsgStr="ERROR:    MODE is not FRUGAL mode '12' or '13' " 
                lcDialogColor="  -fg black -bg red  "
                #! rolling splash "ERROR"
                Sbr_Splash_It " $lcMsgStr " "red" "blue" "2"   #! -D---
                Sbr_Splash_It " $lcMsgStr " "orange" "green" "3"   #! -D---
                Sbr_Splash_It " $lcMsgStr " "yellow" "red" "5"   #! -D---
                exit 1
            fi
return
} # end Sbr_Sys_CheckMode() 
export -f Sbr_Sys_CheckMode
#!



#!
#! ######################################################
#! ######################################################
#! ######################################################
#!
#!  ## all "function( )" moved to top of code
#!
#(: ## all "GUI EXIT" to "if/fi" Selection are moved to bottom of code enabling "Fall-Thru" method
#(:
#! ######################################################
#! ######################################################
#! ######################################################
#!
#!
#!
#!
#!
#!
#!
#!
    #! function Sbr_Sys_ImgMaster----------------------------
    #! ------------------------------------------------------------------
    #!=====================================================
    #(: fx(MGR_Master_GUI=)   #: A
    #(: called by: main program via fall-thru
    #(: param: only the Fall-Thru <ACTION> sub-name .
    #(: purpose: Master gtkdialog XML Menu structure.
    #(: calls:
    #(:    every thing via gui buttons to [ gui fall-thru "IF/ ft(name) /FI" ]
    #(:
    #(: method:
    #(:   (1) gui <action> "EXIT:ft(name)"
    #(:   (2) 'gui fall-thru to "IF/ ft(name) /FI" (at bottom of source code)
    #(:   (3) call with param to "subroutines"     (at top of source code) .
    #(:
    #(: sends: "EXIT" = choice
    #(: rationale:
    #(: note :
    #(:     this width=1500 works good on UpupBB. Other Distro may require adjustment or default theme.
    #(:
    #(: note:
    #(: Standard Gui Button Call Method is TWO-STEP:
    #(:  (1) gui-Buttons "call" to a "Fall-Thru function written as ft("IF/FI") (in lower part of source).
    #(:  (2) "IF/FI" functions then call regular subroutine function() (at top of code).
    #(: EXAMPLE:  button "MntAll" is <action>'EXIT:MNT+'</action>
    #(: which will exit and fall-thru to "ft( 'EXIT:MNT+' )"
    #(: which will then call "function Sbr_MGR_pMount()" (written in top part of source).
    #(: This is the Standard Method written into this Main Gui,
    #(:   which allows parameters to be sent to complex sub-routines .
    #(:   which avoids lack of parameter passing in the gui Button gtkdialog process.
    #(:
    
#! begin: Test before possible ReStart so MGR is initialized without duplicate loading of images to /tmp .
if [ ! -f ${gcEmGaImgFnTrgTxtMaster} ] ; then   # NO flag " gcEmGaImgFnTrgTxtMaster " 
    #!      so, this is a First-Time-Run  and  Requires TOUCH Flag and ReStart.
    lcMsgStr="->->->=== First Time Run ==="     # && Sbr_Str2DevTrm "$lcMsgStr" "5" "4"
    #! Sbr_Splash_It ${lcMsgStr} "orange" "purple" "1"    #! -D---
    #! Given: not file, Then: touch one. 
    #! Generate a ReStart Message for First Time Run .  ??? MGR_ReStart_flg ???
    #! TOUCH EmGaImg FnTrgTxt Master
    touch ${gcEmGaImgFnTrgTxtMaster}  # make one, so gui lcGuiFrameTitle can test .
    Sbr_Cbx_ReStart 1  # no wait # ReStart so GEANY is initialized proper.
else    # this is NOT a First-Time-Run, we have flag " gcEmGaImgFnTrgTxtMaster "  therefore Do Not ReStart.
    lcMsgStr="->->->=== No ReStart Required ==="
    #! Sbr_Splash_It ${lcMsgStr} "orange" "purple" "1"    #! -D---
    #! sleep .3
fi #
#! end: Test before possible ReStart so MGR is initialized without duplication of images to /tmp
#! export -f Sbr_Sys_ImgMaster



########################################################
#!
#! problem: in some Puppy OS, 
#!    each time the Main Gui XML is run, 
#!    there is a delay ??? until Main Gui <button> are 'active'. 
#!          may be dependent on re-sizing each element of gui.
#! GTK is sensitive to the "theme"  and  "character size" . 
#!      cause: each OS install might have special display pixel count, font size, etc. 
#!      run gui test on each OS:__________Menu # __Distro Sub Name  
#!
#! GTK main XML gui is dependent on system screen-size, theme , font size. 
#!Generally, the"default" theme, and the "default" character size works OK.
########################################################








#!
#(: ================================================================
#(: fx PXB_Splash_It    # ACTIVE  #  copy from "CTB" "MCI" "MGR" 
#! Standard PXB_Splash_It : param "Str" "fg" "bg" "sleep" "opt"
#(: called by:  
#(: param:  "Str" "fg" "bg" "sleep" "opt"
#(: purpose: Standard MGR PXB_Splash_It
#(: method:  /usr/lib/gtkdialog/box_splash
#(: sends:
#(: rationale:
#(: note : 
#(: ================================================================
#(: inside of Sbr_PXB_INT
#=======================================================================
function PXB_Splash_It() {   # ACTIVE  copy from MGR : auth : gae 
    #!  Standard Sbr_Splash_It : param "Str" "fg" "bg" "sleep" "opt"
        n=0 
    lcMsgStr="$1"
    lcMsgColorFg="$2"   # ForeGround
    if [ ! $2  ] ; then lcMsgColorFg="yellow" ; fi  # good default 
    #!
    lcMsgColorBg="$3"   # BackGround
    if [ ! $3  ] ; then lcMsgColorBg="blue"  ; fi  # good default
    #!
    #! gather "sleep" param 
    lcMsgSlp="$4"       
    if [ ! $4 ] ; then  lcMsgSlp="1" ; fi   #!  < 1  usually does not make it to the screen, timing issues. 
    if [ "0" -eq $4 ] ; then  lcMsgSlp=".5"  ; fi  #! < .5  usually does not make it to the screen, timing issues. 
    #! else keep the sleep param as sent originally 
        #! -D---
    /usr/lib/gtkdialog/box_splash -fg ${lcMsgColorFg} -bg ${lcMsgColorBg} -border true  -close never -text "${lcMsgStr}     " &
        RETVAL=$?
        GTKPID_Splash_It=$!
        sleep ${lcMsgSlp}
    if [ ! $5 ] ; then  #! IF   " No Option #5 " ;   THEN   kill pid now. 
        kill ${GTKPID_Splash_It}
    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_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  lcTimeReq32="${lcMBreq} / 3"  
    let  lcTimeReq64="${lcMBreq} / 6"  
    #!
    #! orig: destfile=".${2}"/"`expr "${1}" | awk -F / '{print $NF}'`".${gcPXBBackUpId}-`date +%Y.%m.%d_%H%M.%S`
    #! destfile is the 'base' of the SaveFILE name   "$PBKP_PUPSAVE_PATH"  / "$PXB_BackUp_PATH"
    #! awk $NF prints only the last column in a record
    destfile=".${2}"/"`expr "${1}" | awk -F / '{print $NF}'`"-${gcPXBBackUpId}-`date +%y%m%d_%H%M.%S`
    #! $NF refers to the last field in a given record
    echo  "=== $destfile ==="
        CWDIR=$PWD      # save "P"rocess "W"orking "D"irectory /root  (optional)
        echo "### (TarGz) save 'home dir' PWD is ${PWD} === "   && echo "" #! 
        sync    # now run sync
        #!
        #! >>> CD === 
        cd ${1%/*}  
        echo "###_CD_### (TarGz) running on /saveDATA  ${1%/*} === "  && echo ""  #! change dir to  "/saveDATA"  
        #! PHB_Tar-Var-Set loading 
        TAROPT="-z"
        TAREXT='.tar.gz'
        TAROPT="-c -z --checkpoint=1000" 
        destfile=${destfile}${TAREXT} 
        echo ": PXB_Splash_Wait (${gcPXBRunId}) :  "
#! sequence of these modules is critical in order to provide req var for splash !
#! Splash_Wait is from "mow", thank you !
#! his "Splash-Wait" stays on screen until Tar.Gz is done. 
        PXB_Splash_Wait "(${gcPXBRunId}__${gcPXBDevDob}) 
  .
  .      PXB_Internal_ 
  .    ' ionice -c 1 tar -c -z  '   
  .
  .   --- Creating   Tar.Gz  ---
  .   --- SaveDATA size: ${lcMBreq} MB
  .   --- Please Wait ---
  .   --- ... ${lcTimeReq32} seconds on 32bit
  .   --- ... ${lcTimeReq64} seconds on 64bit
  .
  . Source: 
  ${gcPXBSave} 
  .  
  . Target: (into same subdir as Source)
        ${destfile##*/}
  .  "
        destfile=${destfile}  
        sourcefile=${1##*/}
#;;; ionnice -c 1  realtime     
#;;; ionnice -c 2  best effort  
#=== nice TarGz ======================================================================
   ionice -c 1 tar ${TAROPT} -f  ${destfile##*/}  ${1##*/}/   --checkpoint=1000
#=== nice TarGz ======================================================================
#;;; ionnice -c 1  realtime      
#;;; ionnice -c 2  best effort  
        cd "$CWDIR"  # change dir back to original   (optional) 
        echo "###_CD_### (TarGz) restore 'home dir' $CWDIR ===" && echo ""
        RETVAL=$?
        sleep 3
        kill ${GcPidSplashWait}   # Big Red Background Splash   
} #
export -f PXB_TarGzBackIt
#;;; end TarGzBackIt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#;;; end TarGzBackIt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#;;; end TarGzBackIt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


############################## PCB EXT #! Not Called !!! ##################
############################## Primary Call ###############################
#(: ========================================================
#(: fx IF EXIT:guiSbr_PCB       #! Not Called !!! 
#(: called by: Page "UTIL" for external "/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_PCB/rc.z_PCB-ion.sh"
#(: param:
##(: purpose: Backup/Archive with DTS, PupColdBackup ionice -c 1 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ##############################################################################
#(: fx Sbr_PCB_ion    External Program   called via UTIL        #! Not Called !!! 
function Sbr_PCB_ion() { 
    n=0
    Sbr_Splash_It "---!!! calling  Sbr_PCB_external + ReStart  !!!---" "yellow" "green" "3"       #! -D---
     /mnt/home/MY_/usr-share/My_Dev_/Edit_PCB/rc.z_PCB-ion.sh
    #! direct call to EXTernal prg 
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1    # display and no wait
}  # end: 
export -f Sbr_PCB_ion
#!    

############################## PXB INT ####################################
############################## Primary Call ###############################
#! #########################################################
#! #########################################################
#! #########################################################
#! #########################################################
#(: ========================================================
#(: fx Sbr_PXB_INT 
#(: called by:
#(: param:
#(: purpose: Backup/Archive with DTS, PupColdBackup ionice -c 1 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
function Sbr_PXB_INT() {        #!  ACTIVE
    n=0

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

echo "( main PCB_INT_PXB ) ==="  # > /dev/console
lcMsgStr="(=== running: main PCB_INT_PXB === )"
PXB_Splash_It "${lcMsgStr}" "yellow" "green" "1" ""
    #(: inside of Sbr_PCB_PXB
echo "(Main) ==="  # > /dev/console
#!
#! subroutine "PCB_Back_It" RUNs on SaveDATA DIRECTORY and saveFile.4fx  
            #! if [ "$EXIT" = "PCB_Back_It" ] ; then   #! standard "Fall-Thru" subroutine. 
    n=0
    echo "(M1)"  # > /dev/console
#=== Splash ======================================================
#! Splash 
lcMsgStr="(${gcPXBRunId}__${gcPXBDevDob})
ionice -c 1 snapmergepuppy  ()
PUPMODE -eq 13 "
#! to change to PXB_Splash_It  ### GTKPID_Splash_It
#! Standard Splash_It : param "Msg" "yellow" "blue" "3" ""
PXB_Splash_It "${lcMsgStr}" "yellow" "blue" "3" "0"
#!
#! ========================
ionice -c 1 snapmergepuppy    
#! ionice -c 1 realtime  "first access" to hard-drive    
#! ionice -c 2 snapmergepuppy  is "shared access" with any higher priority    
#! ========================
kill ${GTKPID_Splash_It} #! after snapmergepupp
#=================================================================
#! author's system note:
#!  snapmergepuppy usual parameters:  "/initrd/pup_ro1"  into  "/initrd/pup_rw"     2>/dev/null 
#!  snapmergepuppy message output to terminal is:
#!   "Merging  /initrd/mnt/tmpfs/pup_rw  onto  /initrd/mnt/dev_save/pup_UpupB5B-SDA/upupbbsave-B5B-iso602-b"
#!  description:
#!    * Where "/initrd/mnt/tmpfs/pup_rw" is the current Read/Write layer.
#!    * Where "/initrd/mnt/dev_save/pup_UpupB5B-SDA/upupbbsave-B5B-iso602-b" is the "saveDATA" entity. 
#=================================================================
#!
#! === call =================================================
PXB_TarGzBackIt "$PBKP_PUPSAVE_PATH" "$PCB-BackUp_Path" 
#! === call =================================================
    n=0
    #!
    cd "$CWDIR"  # change dir back to original   (not required) 
    echo "###_CD_### (TarGz) restore original CWDIR ===" && echo ""
#! =====================================
    #! Fall-Thru is a "Trapped EXIT"
    #(: inside of Sbr_PXB_INTernal
    PXB_CleanUp
    #! Final Splash and "OK" wait    #! generates (wd: message
    gxmessage -title "${0}"  -name "${0}" -font bold -timeout 1  -fg yellow -bg blue    -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_PXB_INTernal
### END PCB_INT_PXB #################################################
### END PCB_INT_PXB #################################################
### END PCB_INT_PXB #################################################
#!
#!


### END ###













#! ############################################################################################################
#! ############################################################################################################
#! ######   start  M.A.I.N.(.).  main() system() ##############################################################
#! ############################################################################################################
#! ############################################################################################################
#!
#!
#(: ======================================================
#(: fx MGR_Main    #!  main()  main()  main()
#(: called by:
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#=== MAIN( ) === SYSTEM( )=================================================
clear
!
#!=====================================================
#! ### begin: Fall-Thru  "initz" 
#!=====================================================

    #! here:  setup/prep System values.  
    #! This is prep for  "Sbr_Dump_Sys()" , requires system command "declare" . 
    #! Some Puppy Distro do not have a command "declare" ! 
    # #! declare > /etc/rc.d/MGR-declare.txt  #!  must declare after all initz , before main gui . 
    # #! dialog --help > /dialog-help.txt
    # #! dialog --help >  /etc/rc.d/rc.sh_dialog-help.txt


    #~ echo "ls -lah /dev/console" > /sys-lah.txt
    #~ ls -lah /dev/console >> /sys-lah.txt

    #~ # utilities - get list of all processes, except transport (ntfs-3g, nbd-client)
    #~ all_processes_except_transport() {
        #~ $BB ps | $BB sed -e '/ntfs-3g/ d; /nbd-client/ d; /posixovl/ d; s/^ *//; s/ .*//' | $BB sort -rn
    #~ echo $BB
    #~ }
	#~ for PID in $*; do
		#~ case $PID in
			#~ 1|$$) ;; # echo dont kill init or own process 
			#~ *) $BB  ;;
		#~ esac
	#~ done

#!
#! === Terminal Screen Only === MAIN RUNNING Terminal Screen ===. 
/bin/echo -e "\\033[5G\\033[1;31m"***"\\033[1;33m"=== ${gcMgrKey}==="\\033[1;31m"***"\\033[0;39m" #! terminal 
/bin/echo -e "\\033[20G\\033[1;32m"***"\\033[1;32m"=== ${gcMgrBashPid}==="\\033[1;32m"***"\\033[0;39m" #! terminal 
/bin/echo -e "\\033[20G\\033[1;33m"***"\\033[1;31m"=== ${LOGNAME}==="\\033[1;33m"***"\\033[0;39m" #! terminal 
echo " "
#!
Sbr_Sys_CheckMode
#!
touch /0-MGR-LogIn-DTS  # this call should be first  / in main ( ) 
#!
rm -f ${gcEmGaImgFnTrgTxtMaster}    #! trigger "reload" of images by culling master. 
#! 
Sbr_Sys_SetVerDts # this call should be first  / in main 
#!
#! Sbr_CDW_Embedded_Dialog_Colors      # setup color constants / in Main  #! Not Called 
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.
#!
#! --- main ---
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#(: ARB_init  : Not Used Yet. Developmental. 
#(: purpose:config controls  menu.lst # during main run ( )
#(: method:
#(:    (1) read existing config for OS "Idd",
#(:    (2) install generic "full enough" "SHORT" MENU.lst
#(:         with default "0,1,2,3,4" matching config "Idd"
#! DEV: IF  "C3M CONFIG ARB" ,  under development, not useful yet.
#(: DEV: Not Used "Sbr_ARB_Init"   # # # must be in main ( ) # read config init for "ARB" config
#!
Sbr_Sys_PupState   ### Gather the "state" variables from OS
#!
Sbr_Sys_LockFile
#!
#!=====================================================
#! ### begin Fall-Thru  "initz" 
#!=====================================================
#!
#!
if [ -f ${gcMgrArbCfgFn} ] ; then
    n=0
    gcMgrArbCfgFn="/root/my-applications/bin/C3M_Config_Arb"   # ASSIGNED fx(Sbr_Sys_PupState)
    gcMGRConfigArbIdd=`cat ${gcMgrArbCfgFn}`   #  extract and export Idd
    #! 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  #
#! 
#!
#!
. /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_PXB_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 PBKP_PUPSAVE_PATH="/mnt/home${gcSaveDataName}"
#!
#!=====================================================
#! ### end: Fall-Thru  "initz" 
#!=====================================================
#! ====================================================================
#! FALL-THRU ;;; STANDARD RUN
#! ====================================================================
#!  MAIN GUI was originally in this code paragraph  
#! as if a Gui <button> Selection had been made ! 
#! ====================================================================
#! FALL-THRU ;;; STANDARD RUN
#! ====================================================================






#! ###########################################################################
#! ## top SystemGui  ### MainGUI ### INIT Start  #############################
#! ###########################################################################

#! ${gcMgrDistroName}  
#! Primary "Window" title
#! Secondary "Frame" title 
                    #! System GUI dimensions:
                    #! assumes this default setting at Main Gui : which must be set "literally" ( not ${var} ) !
                    #! assumes     width-request="980"
                    #! assumes     height-request="750"
                    #! === Pre-Set =====================================================
                    #! <window dimensions depend on specific Puppy Distro, and user selected GTK Theme, and selected CharSize. 
                    #! These data are with theme="default", charsize="128", as supplied with each Puppy Distro OS "original". 
                    #!
                    #! Note: Version_6.  all above were developed and tested in V.6, very wide System Gui. Adjustments were needed. 
                    #! Note: Version_7.  all were tested again in V.7, compact/consolidated System Gui, much better.  
                    #! Note: Version_8.  all were tested again in V.8, compact/consolidated System Gui, passed OK.  
                    #! Note: Version_9.  all were tested again in V.9, compact/Toggled System Gui, passed OK.  
                    #!
                    #! <window dimensions must be set according to current system "theme" .
                    #! Theme and Alpha-Size and Screen-size are controlling forces. 
                    #! export lcGuiWindowTitleMain='":${lcGuiWindowTitle}:" 
#!
#!
#!
### MGR
export lcBSS_TrgSubDir="TrgSubDir"          # File Select # Not Used 
export gcPBKP_BACKUP_PATH="BACKUP_PATH"     # File Select # Not Used 
#!
#! 
#! 
#! 
#! 
#! 
#! 
#! ###########################################################################
#! ## MAIN GUI MGR ### Dialog BEGIN ### pageSystemGui ### PageSgui ######
#! ######################################################################


#! Primary "Window" title                   # Active    gui frame inner-title
#! export lcGuiWindowTitle="?:${gcMgrDistroSymbol}:_:MGR:_::${lcGuiSplT3}::${gcSysIdFull}::${gcSysKernName}::${gcSysDevHw}::${gcSysDevDob}::${gcMgrVerExt}"
#! Secondary "Frame" title embeds OK.
export lcGuiFrameTitle="  ${gcMgrDevName} : ${gcSysDevDob}:"    
#!
lcToggleMsg="_Build+ReBoot_New-Menu_"
#!
#! default  "NoteBook_Gui_Position" : top of source code, L:275
#!   gcMrgGuiWid="1250"   
#!   gcMrgGuiHgt="600"   
#!
#!
export  System_GUI_Dialog='
<window  title="MGR_'${gcMgrDevName}...${gcSysDevDob}...MainGui...'"
    window-position="1" 
    width-request="'${gcMrgGuiWid}'"
    height-request="'${gcMrgGuiHgt}'"
    space-expand="false" 
    border-width="3"
    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="
#. - - - - - - - - - - - - - - - - - - -
      Manager  =   ReStart
*.
*.  This is LINUX, 
*.     this is a Free OPEN SOURCE SYSTEM, 
*.     so READ the code and Learn !
" <height-request="27">
    <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 visible="1"   width-request="45" height-request="45"  size="medium"  weight="bold" 
   tooltip-text=" 
#. - - - - - - - - - - - - - - - - - - - - - - - 
* MGR has many Double-Click-Buttons !!!
   buttons with Double-Click will trigger 
   a large tear-drop shaped ICON   ...
   { Red Border : Yellow-filled }   ...
   will pop-up in middle of screen  ...
#. - - - - - - - - - - - - - - - - - - - - - - - - -"
    has-focus="false"  xalign=".5" >
    <input file>"'/tmp/EmGr-img-hash-grn.xpm'"</input><width>45</width><height>45</height>
        <label> "'${lcGuiFrameTitle}'"  </label> 
        <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
        <action>'0-EXIT:guiSimReStart'</action>   </button>
    <hseparator width-request="1"></hseparator>

            <vseparator height-request="3" > </vseparator>
 
    <text visible="0"  xalign=".5"> <label>"'=0===========S=Simple-Screen==========0='" </label> </text>
    <text visible="0"  xalign=".5"> <label>"'=0_mark_the_next_hbox_non-visible_for_Simple_Screen==========0='" </label> </text>
    <hbox  visible="1" homogeneous="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="0" 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>'0-HASH-red-L'</action> </button>
            <text visible="0" editable="false" use-markup="true" xalign=".5">
                <label>"'=0===========Main-System-Select-Page==========0='" </label> </text>



            <button tooltip-text="'-'" has-focus="false" width-request="7"  height-request="7" xalign=".5"  >
                <input file>"'/tmp/EmGr-img-hash-red.xpm'"</input><width>35</width><height>35</height>   
                <label>""</label> <action>'0-MainLeft-red'</action> </button>
            <hseparator width-request="17"></hseparator>
            <hseparator width-request="11"></hseparator>
            <button   visible="1" has-focus="false" height-request="33"  xalign=".5"  
                tooltip-text="''" >
                <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width><height>25</height>
                <label>"'-BACK-----'"</label>
                    <action function="'launch'">     msg_DC_LxgenBack_window_0</action> 
                    <action function="'closewindow'">msg_DC_LxgenBack_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="''" >
                <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="''" >
                <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="''" >
                <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 tooltip-text="'SR'" has-focus="false" width-request="7"  height-request="7" xalign=".5"  >
                <input file>"'/tmp/EmGr-img-hash-red.xpm'"</input><width>35</width><height>35</height>   
                <label>""</label> <action>'0-MainRight-red'</action> </button>



        <hseparator visible="1"  width-request="61"></hseparator>
        <hseparator visible="1"  width-request="61"></hseparator>
        <hseparator visible="1"  width-request="1"></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="0"  xalign=".5">
        <label>"'_____________________?_________________________'" </label> </text>
     <hbox>
        <hseparator width-request="160"></hseparator>
        <text  homogeneous="true" visible="0" editable="false" use-markup="true" xalign=".5">
        <label>"'====================!=========================='" </label> </text>
    <hbox homogeneous="true" 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   color="red" use-markup="true" has-focus="false" height-request="55" width-request="50" xalign=".5"  
            tooltip-text="''" >
            <input file>"'/tmp/EmGr-img-button-text.svg'"</input>
            <label> "" </label><action>'0-SR-1-t1ooo'</action> <variable>'toggle_t1ooo'</variable> </button>

        <button visible="0" has-focus="false" width-request="80" height-request="3"  xalign=".5"  >
                    <label> "'-'" </label><action>'0-t1ooo-measurement-bar'</action></button>
                                
        <button visible="0"   
            tooltip-text="T2ooo->'================================================'" 
            <height-request="3"> <label>"'!!'"</label>  <action>0-T1ooo</action> </button>

        <button  visible="'${lcGuiVert}'" has-focus="false" height-request="7"  xalign=".5"  tooltip-text="''" >
            <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width>  <height>25</height>
            <label> "" </label>  <action>'0-top-bar'</action>  </button>

        <button visible="0"   
            tooltip-text="T2ooo->'================================================'" 
            <height-request="3"> <label>"'!!'"</label>  <action>0-T1ooo</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> <variable>'toggle_t2ooo'</variable></text>

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

        <hbox>
              <hseparator width-request="140"></hseparator>
            <text use-markup="true" xalign=".5">
                <label> "<span color='"'$lcGuiColorbrn'"'> <b>':${gcMgrDistroSymbol}:'</b> </span>" </label> </text>
            <text use-markup="true" xalign=".5">
                <label> "<span color='"'$lcGuiColorbrn'"'> <b>'"''"'</b></span>"</label></text>
            <text use-markup="true" xalign=".5">
                <label> "<span color='"'$lcGuiColorred'"'> <b>'${DISTRO_NAME}'</b> </span>" </label> </text>
            <text use-markup="true" xalign=".5">
                <label> "<span color='"'$lcGuiColorblu'"'> <b>'${gcSysDistroVersion}'</b> </span>" </label> </text>
            <text use-markup="true" xalign=".5">
                <label> "<span color='"'$lcGuiColorbrn'"'> <b>'"''"'</b></span>"</label></text>
            <text use-markup="true" xalign=".5">
                <label> "<span color='"'$lcGuiColorgrn'"'> <b>'K:${gcMGRKernVer}'</b> </span>" </label> </text>
            <text use-markup="true" xalign=".5">
                <label> "<span color='"'$lcGuiColorbrn'"'> <b>'"''"'</b></span>"</label></text>
            <text use-markup="true" xalign=".5">
                <label> "<span color='"'$lcGuiColorbrn'"'> <b>'Data:'</b></span>"</label></text>
            <text use-markup="true" xalign=".5">
                <label> "<span color='"'$lcGuiColorbrn'"'> <b>'${lcPupRamObjMsg}'</b> </span>" </label></text>
            <hseparator width-request="10"></hseparator>
             <text  visible="0" editable="false" use-markup="true" xalign=".5">
                <label> "After-Big-Title-Frame" </label></text>
                
                <hseparator height-request="6" width-request="55"></hseparator>
            <hbox visible="'${gcMrgOutAdj}'">
                <hseparator height-request="3" width-request="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="40"></hseparator>
           <hseparator height-request="3" width-request="40"></hseparator>
           <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
           <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redblu.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
           <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redyel.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
           <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
           <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redblu.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
           <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redyel.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
           <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action> </button>
           <button has-focus="false" height-request="15"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redblu.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action></button>
           <button has-focus="false" height-request="13"  xalign=".5"  tooltip-text="" >
                <input file>"'/tmp/EmGr-img-apple-redyel.svg'"</input><width>25</width>  <height>25</height>
                <label> "" </label><action>0</action></button>
           <hseparator height-request="3" width-request="10"></hseparator>
        </hbox>
    </vbox>





    <vseparator  visible="1" height-request="0"> </vseparator>
        <vseparator  visible="1" height-request="5"> </vseparator>
    <hbox visible="0">   <text> <label>"'########################'"</label> </text>   </hbox>
    <hbox visible="0">   <text> <label>"'--:-Before_Toggle-:--'"</label> </text>   </hbox>

    <vbox visible="1">
    <vbox>
        <hbox>
            <hbox>
                <hseparator width-request="22" ></hseparator>
                <button    tooltip-text="''" has-focus="false" height-request="7"  width-request="7" xalign=".5"  >
                    <input file stock="gtk-about"></input> <width>11</width> <height>11</height> 
                    <label>""</label> 
                    <action>'0-VMB-BullsEye-About'</action> </button>
                <button    tooltip-text="''" has-focus="false" height-request="7"  width-request="7" xalign=".5"  >
                    <input file stock="gtk-about"></input> <width>11</width> <height>11</height> 
                    <label>""</label> 
                    <action>'0-VMB-BullsEye-About'</action> </button>
                <hseparator width-request="11" ></hseparator>
                <button tooltip-text="''" has-focus="false" width-request="7" xalign=".5"  >
                    <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                    <label>""</label> <variable>'toggle_bsb'</variable><action>'0-VMB-BullsEye-Grn'</action> </button>
                <button tooltip-text="''" has-focus="false" width-request="7" xalign=".5"  >
                    <input file stock="gtk-no"></input><width>11</width><height>7</height>   
                    <label>""</label> <variable>'toggle_csa'</variable><action>'0-VMB-BullsEye-Red'</action> </button>
                <hseparator width-request="11" ></hseparator>
            </hbox>
            <vseparator height-request="33"></vseparator>
            <hbox visible="0">   <text> <label>"'########################'"</label> </text>   </hbox>
            <hbox visible="0">   <text> <label>"'--:-Before_Build+ReBoot-:--'"</label> </text>   </hbox>

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

                    <hbox visible="0">   <text> <label>"'###-TOGGLE-BUTTON-####'"</label> </text> </hbox>

                        <togglebutton active="true">
                            <label>"'_${lcToggleMsg}_'" </label>
                            <action>if true show:'toggle_BTN1'</action> <action>if false hide:'toggle_BTN1'</action>
                            <action>if true hide:'toggle_BTN2'</action> <action>if false show:'toggle_BTN2'</action>

                            <action>if true hide:'toggle_Msg0'</action> <action>if false hide:'toggle_Msg0'</action>
                            <action>if true hide:'toggle_Msg1'</action> <action>if false show:'toggle_Msg1'</action>
                            <action>if true show:'toggle_Msg2'</action> <action>if false hide:'toggle_Msg2'</action>
                            <action>if true hide:'toggle_Msg3'</action> <action>if false show:'toggle_Msg3'</action>
                            <action>if true show:'toggle_Msg4'</action> <action>if false hide:'toggle_Msg4'</action>
                            <action>if true show:'toggle_MsgSp1x'</action> <action>if false hide:'toggle_MsgSp1x'</action>
                            <action>if true hide:'toggle_MsgSp2x'</action> <action>if false show:'toggle_MsgSp2x'</action>
                            <action>if false show:'#########0'</action> <action>if true hide:'#########0'</action>
                            <action>if true hide:'toggle_t1ooo'</action> <action>if false show:'toggle_t1ooo'</action>
                            <action>if true show:'toggle_t2ooo'</action> <action>if false hide:'toggle_t2ooo'</action>
                            <action>if true hide:'toggle_t3oo1'</action> <action>if false show:'toggle_t3oo1'</action>
                            <action>if true hide:'toggle_t3oo2'</action> <action>if false show:'toggle_t3oo2'</action>
                            <action>if true hide:'toggle_t3oo3'</action> <action>if false show:'toggle_t3oo3'</action>
                            <action>if true hide:'toggle_t3oo4'</action> <action>if false show:'toggle_t3oo4'</action>
                            <action>if false show:'#########1'</action> <action>if true hide:'#########1'</action>
                            <action>if true show:'toggle_xbsa'</action> <action>if false hide:'toggle_xbsa'</action>
                            <action>if true hide:'toggle_bsb'</action> <action>if false show:'toggle_bsb'</action>
                            <action>if true show:'toggle_csa'</action> <action>if false hide:'toggle_csa'</action>
                            <action>if true hide:'toggle_xcsb'</action> <action>if false show:'toggle_xcsb'</action>
                            <action>if true show:'toggle_dsa'</action> <action>if false hide:'toggle_dsa'</action>
                            <action>if true hide:'toggle_dsb'</action> <action>if false show:'toggle_dsb'</action>
                            <action>if true show:'toggle_esa'</action> <action>if false hide:'toggle_esa'</action>
                            <action>if true hide:'toggle_esb'</action> <action>if false show:'toggle_esb'</action>
                            <action>if true hide:'toggle_cbesa'</action> <action>if false show:'toggle_cbesa'</action>
                            <action>if true hide:'toggle_cbesb'</action> <action>if false show:'toggle_cbesb'</action>
                            <action>if true hide:'toggle_cbesc'</action> <action>if false show:'toggle_cbesc'</action>
                            <action>if true hide:'toggle_cbesd'</action> <action>if false show:'toggle_cbesd'</action>
                            <action>if true hide:'toggle_cbese'</action> <action>if false show:'toggle_cbese'</action>
                            <action>if true hide:'toggle_cbesf'</action> <action>if false show:'toggle_cbesf'</action>
                            <action>if true hide:'toggle_cbesg'</action> <action>if false show:'toggle_cbesg'</action>
                            <action>if true hide:'toggle_cbesh'</action> <action>if false show:'toggle_cbesh'</action>
                            <action>if false show:'#########2'</action> <action>if true hide:'#########2'</action>
                            <action>if false show:'toggle_101a'</action> <action>if true hide:'toggle_101a'</action>
                            <action>if false show:'toggle_102a'</action> <action>if true hide:'toggle_102a'</action>
                            <action>if false show:'toggle_103a'</action> <action>if true hide:'toggle_103a'</action>
                            <action>if false show:'toggle_104a'</action> <action>if true hide:'toggle_104a'</action>
                            <action>if false show:'toggle_105a'</action> <action>if true hide:'toggle_105a'</action>
                            <action>if false show:'toggle_106a'</action> <action>if true hide:'toggle_106a'</action>
                            <action>if false show:'toggle_107a'</action> <action>if true hide:'toggle_107a'</action>
                            <action>if false show:'toggle_108a'</action> <action>if true hide:'toggle_108a'</action>
                            <action>if false show:'toggle_109a'</action> <action>if true hide:'toggle_109a'</action>
                            <action>if false show:'toggle_110a'</action> <action>if true hide:'toggle_110a'</action>
                            <action>if false show:'toggle_111a'</action> <action>if true hide:'toggle_111a'</action>
                            <action>if false show:'toggle_112a'</action> <action>if true hide:'toggle_112a'</action>
                            <action>if false show:'toggle_113a'</action> <action>if true hide:'toggle_113a'</action>
                            <action>if false show:'toggle_114a'</action> <action>if true hide:'toggle_114a'</action>
                            <action>if false show:'toggle_115a'</action> <action>if true hide:'toggle_115a'</action>
                            <action>if false show:'toggle_116a'</action> <action>if true hide:'toggle_116a'</action>
                            <action>if false show:'toggle_117a'</action> <action>if true hide:'toggle_117a'</action>
                            <action>if false show:'toggle_118a'</action> <action>if true hide:'toggle_118a'</action>
                            <action>if false show:'toggle_119a'</action> <action>if true hide:'toggle_119a'</action>
                            <action>if false show:'toggle_120a'</action> <action>if true hide:'toggle_120a'</action>
                            <action>if false show:'toggle_121a'</action> <action>if true hide:'toggle_121a'</action>
                            <action>if false show:'toggle_121b'</action> <action>if true hide:'toggle_121b'</action>
                            <action>if false show:'toggle_122a'</action> <action>if true hide:'toggle_122a'</action>
                            <action>if false show:'toggle_199a'</action> <action>if true hide:'toggle_199a'</action>
                            <action>if false show:'toggle_199b'</action> <action>if true hide:'toggle_199b'</action>
                            <action>if false show:'#########3'</action> <action>if true hide:'#########3'</action>
                            <action>if true show:'toggle_S201'</action> <action>if false hide:'toggle_S201'</action>
                            <action>if true show:'toggle_S202'</action> <action>if false hide:'toggle_S202'</action>
                            <action>if true show:'toggle_S203'</action> <action>if false hide:'toggle_S203'</action>
                            <action>if true show:'toggle_S204'</action> <action>if false hide:'toggle_S204'</action>
                            <action>if true show:'toggle_S205'</action> <action>if false hide:'toggle_S205'</action>
                            <action>if true show:'toggle_S206'</action> <action>if false hide:'toggle_S206'</action>
                            <action>if true show:'toggle_S207'</action> <action>if false hide:'toggle_S207'</action>
                            <action>if false show:'#########4'</action> <action>if true hide:'#########4'</action>
                            <action>if true show:'toggle_S301'</action> <action>if false hide:'toggle_S301'</action>
                            <action>if true show:'toggle_S302'</action> <action>if false hide:'toggle_S302'</action>
                            <action>if true show:'toggle_S303'</action> <action>if false hide:'toggle_S303'</action>
                            <action>if true show:'toggle_S304'</action> <action>if false hide:'toggle_S304'</action>
                            <action>if true show:'toggle_S305'</action> <action>if false hide:'toggle_S305'</action>
                            <action>if true show:'toggle_S306'</action> <action>if false hide:'toggle_S306'</action>
                            <action>if true show:'toggle_S307'</action> <action>if false hide:'toggle_S307'</action>
                            <action>if true show:'toggle_S401'</action> <action>if false hide:'toggle_S401'</action>
                            <action>if true show:'toggle_S402'</action> <action>if false hide:'toggle_S402'</action>
                        </togglebutton>
                           
                        <hseparator width-request="11" ></hseparator>
                        
                    <hbox homogeneous="">
                        <hbox homogeneous="true">
                        <button tooltip-text="''" has-focus="false"  height-request="7" width-request="7" xalign=".5"  >
                            <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                            <label>""</label> <variable>'toggle_dsb'</variable><action>'0-VMB-BullsEye-Grn'</action> </button>
                        <button tooltip-text="''" has-focus="false" width-request="7" xalign=".5"  >
                            <input file stock="gtk-no"></input><width>11</width><height>11</height>   
                            <label>""</label> <variable>'toggle_esa'</variable><action>'0-VMB-BullsEye-Red'</action> </button>
                        </hbox>

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

                        <hbox homogeneous="true">
                        <button tooltip-text="''" has-focus="false" height-request="7"  width-request="7" xalign=".5"  >
                            <input file stock="gtk-about"></input> <width>11</width> <height>11</height> 
                            <label>""</label> <action>'0-VMB-BullsEye-About'</action> </button>
                        <button tooltip-text="''" has-focus="false" height-request="7"  width-request="7" xalign=".5"  >
                            <input file stock="gtk-about"></input> <width>11</width> <height>11</height> 
                            <label>""</label> <action>'0-VMB-BullsEye-About'</action> </button>
                        </hbox>
 
                    </hbox>

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

                </hbox>
            </vbox>
        </hbox>

        <hbox  visible="_ACTIVE_" homogeneous="true">
            <text use-markup="true" xalign=".5"><label> "<span  color='"'blue'"' font-family='"'Comic'"' weight='"'bold'"'><b>'"o"'</b></span><span color='"'red'"' font-family='"'Comic'"' weight='"'bold'"'  ><b>'"ACTIVE"'</b></span><span color='"'blue'"' font-family='"'Comic'"' weight='"'bold'"'>'o'</span>" 
            </label> <variable>'toggle_Msg1'</variable></text>
        </hbox>

    </vbox>

    <hbox visible="0">   <text> <label>"'########################'"</label> </text>   </hbox>
    <hbox visible="0">   <text> <label>"'---Before_MENU_Button-Array---'"</label> </text>   </hbox>

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


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

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

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

            <button> <label>"'_B4B_'"</label><variable>'toggle_101a'</variable>
                    <input file> "'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>17</width><height>17</height>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:ARB_B4B'</action>  </button>
 
            <button> <label>"'_B5B_'"</label><variable>'toggle_102a'</variable>
                    <input file> "'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>15</width><height>15</height>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:ARB_B5B'</action>  </button>
 
            <button> <label>"'_B64B_'"</label><variable>'toggle_103a'</variable>
                    <input file> "'/tmp/EmGr-img-jug-redxyel.svg'"</input><width>15</width><height>15</height>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:ARB_B64B'</action>  </button>
 
            <button> <label>"'_N8N_'" </label><variable>'toggle_104a'</variable>
                    <input file stock="gtk-yes"></input><width>11</width><height>11</height>   
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:ARB_N8N'</action>  </button>

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

            <button> <label>"'generic'" </label><variable>'toggle_122a'</variable>
                    <input file stock="gtk-no"></input><width>11</width><height>11</height>   
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:ARB_00'</action>  </button>

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

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




<hbox visible="0">   <text> <label>"'########################'"</label> </text>   </hbox>
<hbox visible="0">   <text> <label>"'--:-After_Toggle-:--'"</label> </text>   </hbox>
    
    <hbox homogeneous="true" >
        <vbox>
            <vseparator  visible="'0'" height-request="1"></vseparator>
            <button  visible="'1'" has-focus="false" height-request="3"  xalign=".5"   tooltip-text="before-PXB" >
                    <label> "'...'" </label> <action>'0-lxAction:Before-Quit'</action></button>
            <hbox visible="0">   <text> <label>"'########################'"</label> </text>   </hbox>
            <hbox visible="false"> <text> <label>"'---Before_ONE_PXB_ALL---'"</label> </text>  </hbox>
            <hbox homogeneous="1">
                <hseparator width-request="62"></hseparator>
     
                <button has-focus="false" height-request="22"  xalign=".5"> <variable>'toggle_S201'</variable>
                     <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"> <variable>'toggle_S202'</variable>  
                   <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" >  <variable>'toggle_S203'</variable>
                    <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="" > <variable>'toggle_S204'</variable>
                    <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" >  <variable>'toggle_S205'</variable>
                    <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">   <variable>'toggle_S206'</variable>
                   <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">   <variable>'toggle_S207'</variable>
                   <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>
            <button  visible="'1'" has-focus="false" height-request="7"  xalign=".5"   tooltip-text="before-QUIT" >
                    <label> "'...'" </label> <action>0-lxAction:After-Quit</action></button>
            <vseparator height-request="1" > </vseparator>
        </vbox>
    </hbox>
    <vseparator  visible="'1'" height-request="3" > </vseparator>
    <vbox> 
 
         <button  visible="'1'" has-focus="false" height-request="7"  xalign=".5"  
            tooltip-text="C4-/tmp/EmGr-img-apple-redblu.svg" >   <variable>'toggle_S401'</variable>
            <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>15</width>  <height>15</height>
            <label> "..." </label>
            <action>0-lxAction:C4tt</action></button>
    </vbox>
        <hbox visible="0">   <text> <label>"'########################'"</label> </text>   </hbox>
        <hbox visible="0">   <text> <label>"'---Before_SIMPLE---'"</label> </text>   </hbox>
        <hbox homogeneous="true">
           <hseparator width-request="11"></hseparator>
     
            <button tooltip-text="S.I.M.P.L.E._guiSimReStart">   <variable>'toggle_S301'</variable>
                <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>25</width>  <height>25</height>
                <label>'_ReStart__'</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiSimReStart'</action>   </button>
            <button tooltip-text="S.I.M.P.L.E.__guiSimReBoot">    <variable>'toggle_S302'</variable>
                <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>25</width>  <height>25</height>
                <label>'_ReBoot__'</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiSimReBoot'</action> </button>
 
            <button tooltip-text="'Double-Click-Program_EXIT_'" > <variable>'toggle_S303'</variable>
                <input file>"'/tmp/EmGr-img-quit-grnnnn.svg'"</input><width>44</width>  <height>44</height>
                <label>'!__EXIT___!'</label> 
                    <action function="'launch'">msg_DC_Quick_window</action>  <action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiMainQUIT'</action>    </button>
 
            <button tooltip-text="S.I.M.P.L.E.__guiSimPowerOff">  <variable>'toggle_S304'</variable>
                <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>25</width>  <height>25</height>
                <label>'_PwrOff__'</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiSimPowerOff'</action> </button>
           <button tooltip-text="S.I.M.P.L.E.__guiSimHalt">       <variable>'toggle_S305'</variable>
                <input file>"'/tmp/EmGr-img-quit-rednnn.svg'"</input><width>25</width>  <height>25</height>
                <label>'_Halt_It_'</label>
                <action function="'launch'">msg_DC_Quick_window</action><action function="'closewindow'">msg_DC_Quick_window</action>
                <action>'EXIT:guiSimHalt'</action> </button>
             <hseparator width-request="27"></hseparator>
        </hbox>
        <button  visible="'${lcGuiVert}'" has-focus="false" height-request="7"  xalign=".5"  
        tooltip-text="C4-/tmp/EmGr-img-apple-redblu.svg" >  <variable>'toggle_S402'</variable>
            <input file>"'/tmp/EmGr-img-apple-redgrn.svg'"</input><width>25</width>  <height>25</height>
            <label> "..." </label>
            <action>0-lxAction:C4tt</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>'
#!
#! ###########################################################################
#! ## bot SystemGui  ### MainGUI ### Dialog END  #############################
#! ###########################################################################
#!
lcEmGrGuiFnTrg="/tmp/EmGa-Master-GUI.txt"   # BUILD master GUI IMG.txt, for "DUMP" .
echo "${MGR_Master_MAIN_GUI_Dialog}" >> ${lcEmGrGuiFnTrg}
echo "###_end_of_Master_Main_XML_Graphical_User_Interface_Code ############ " >> ${lcEmGrGuiFnTrg}   # title for "Dump" to screen
#
eval "`gtkdialog --center -p System_GUI_Dialog`" 
#(: end: SystemGui eval ===========================================
 
#! ##  bot SystemGui ### INIT ####################################
lcMsgStr="------------------------------------------------------------" && Sbr_Str2DevTrm "$lcMsgStr" "1" "1"
lcMsgStr="---------  Fall-Thru  --- ${EXIT} -------------Fall-Thru----" && Sbr_Str2DevTrm "$lcMsgStr" "1" "1"
lcMsgStr="------------  Fall-Thru  --- ${EXIT} ----------Fall-Thru----" && Sbr_Str2DevTrm "$lcMsgStr" "1" "1"
lcMsgStr="---------------  Fall-Thru  --- ${EXIT} -------Fall-Thru----" && Sbr_Str2DevTrm "$lcMsgStr" "1" "1"
lcMsgStr="------------------------------------------------------------" && Sbr_Str2DevTrm "$lcMsgStr" "1" "1"
#!
#!
#!
#(: begin: Fall-Thru code
#! Fall-Thru Method 
#!
#!
#! Begin: Fall-Thru Method "HEADER" ===========================
#!
#! Each Fall-Thru Block has this "header" with label "#! ft(EXIT:"
#!    which makes it easier to "Find" via  Ctl-C , Ctl-F, Ctl-V , In_Document 
#!    to show a List of these headers. 
#! 
#! ft(EXIT: 
#!
#! End: Fall-Thru Method "HEADER"  ===========================
#!
#! begin: regular "function"
#! Each "if" function has a header that begins with label like this:
#!   function EXIT:??????????  
#!
#! begin: regular "function"
#! Each regular "function" has a header that begins with label like this:
#!      function Sys_??????????() {  
#!          n="0"
#!      } end 
#! end: regular "function"
#!
#!
#!
#!
#! ###########################################################
#! Fall-Thru Method  ===> Local Fall Thru to Terminating Routines:
#! ###########################################################
#!
#!
#(: ================================================================
#(: fx EXIT:Check-Box   # Active   Check-Box "CBX"  # External calls
#(: called by: gui CBX
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
### begin: Check-Box : EXIT:CB --->   EXIT:CBARS+ EXIT:CBARB+ EXIT:CBAPO+
### Design Method : "FALL-THRU"
###
### "ALL" Check-Box will trigger running "ALL", regardless if 'checked' or not .
### EXIT="CBXAPPLY+" triggers running all "checked" selections .
###
#!
#! Check-Box "CBX"  
#(: ========================================================
#(: fx 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 EXIT:C3CS2F       # Active   Check-Box "CBX"  # External calls
#(: called by: gui CBX
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
if [ ${EXIT} = "C3CS2F" ]  ; then
        #! function Sbr_CBXARB() 
        #!
        #! files/subdir to be C3C Cleaned Out will vary Distro-to-Distro .
        #! files/subdir to be C3C Cleaned Out will vary Browser-to-Browser .
        #!
        #! Has Not Been Converted to function Sbr_CBXAR3 () format 
        #!
        #(: If COMBO "BOXApply" button 
        #(: Then check for prior "APPLY Checks" commands
        #!
        #(: function  IF  CBXC3C  CBXS2F  CBXCTU  
        #!  || [ ${CBXS2F} = "true" ]
        #! ======================================================
        Sbr_Splash_It "= begin CBXC3C =" "yellow" "blue" "3"        #! -D---
        n=0
        Sbr_Sys_KillProc   # check for KillProc flag up.
        #!
        #!      #!      #!      #!
        #(: ##=== CheckBox === C3C === Clear 3 Cache
        #! purpose: Clear Large Cache data which lingers 
        #(: function IF CBXC3C
        #! === Clear 3 Cache === plus S2F1 ===
        #!  ========================================
        lcMsgStr="=== C3C" && Sbr_Str2DevTrm "$lcMsgStr" "5" "1"
        n=0
        ### 
        echo "=== Begin === C3C ========================"
        ### Clear 3 Cache, Fast Direct Calls
        #!
        #! Literal Spell-Out locations
        #! purpose: Clear Large Cache data which lingers 
        #!
        #!=== Literal rm -fr  $lcFileSrc for each target ===============
        ### Cache ### FireFox 
        lcFileSrc="/root/.cache/mozilla/firefox/"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It ".cache = rm -fr  $lcFileSrc" "yellow" "green" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        ### Cache ### FireFox 
        lcFileSrc="/root/.cache/mozilla/firefox"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It ".cache = rm -fr  $lcFileSrc" "yellow" "green" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        ### Cache ### Mozilla 
        lcFileSrc="/root/.cache/mozilla"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It ".cache = rm -fr  $lcFileSrc" "yellow" "green" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### Cache ### LIGHT
        lcFileSrc="/root/.light/light/Light.default"
        lcFileSrc="/root/.cache/light/"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It ".cache = rm -fr  $lcFileSrc" "yellow" "green" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### Cache ### Moonchild Productions   Pale Moon     ## must insert "?" 
        lcFileSrc="/root/.cache/moonchild?productions/pale?moon/"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It ".cache = rm -fr  $lcFileSrc" "yellow" "green" "2"    #! -D---
        sleep .1
        rm -fr  ${lcFileSrc}
        #!
        #!==============================================
        ### Cache ###
        lcFileSrc="/root/.cache/event-sound/*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### Cache ###
        lcFileSrc="/root/.cache/mesa_shader_cache/*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### Cache ###
        lcFileSrc="/root/.cache/event-sound-cache*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### CUPS ###
        ###  [06/Mar/2020:04:45:39 +0500] Cleaning out old files in "/var/spool/cups/tmp".
        lcFileSrc="/var/spool/cups/tmp/*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### CUPS ###
        ###  [06/Mar/2020:04:45:39 +0500] Cleaning out old files in "/var/cache/cups".
        lcFileSrc="/var/cache/cups/*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### CUPS ###
        ###  [06/Mar/2020:04:45:39 +0500] Cleaning out old files in "/var/spool/cups/tmp/*".
        lcFileSrc="/var/spool/cups/tmp/*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        #!==============================================
        ### CUPS ###
        ###  [06/Mar/2020:04:45:39 +0500] Cleaning out old files in "/var/spool/cups/*".
        lcFileSrc="/var/spool/cups/*"
        echo "===> execute: rm -fr  $lcFileSrc"
        Sbr_Splash_It "= rm -fr  $lcFileSrc" "orange" "purple" "2"    #! -D---
        sleep .1
        rm -fr  $lcFileSrc
        #!
        Sbr_Splash_It "=== DONE === C3C ===================="  "yellow" "blue" "2"    #! -D---
        Sbr_Splash_It "Save to Flash" "yellow" "blue" "2"       #! -D---
        Sbr_S2F1_MI     # internal SMP  + ReStart
        Sbr_Splash_It "ReBoot" "yellow" "blue" "2"       #! -D---
        Sbr_Cbx_ReBoot 1     #! DONE === C3C 
        #!    
fi
#!==============================================
#!
#!
#! Below: Has Not Been Converted to function Sbr_CBXAR3 () format 
#!
#!
#! Fall-Thru Method  ===> Local Fall Thru to Terminating Routines:
#!
#!
#! function: from E3R-CTALL : RS, RB, RQ
#! function if  [ "$EXIT" = "guiBakAll  ...     # All BakAll??? Internal pass thru here
#! function if [EXIT:guiBakAll()    if  [ "$EXIT" =
#! gui Exits with guiBakAllRS or guiBakAllRB or guiBakAllCRB or guiBakAllCRQ
#! ##################################################
#!
#!
#! =====================================================================
#! begin: if  [ "$EXIT" = "guiBakAllRS" || "guiBakAllCRB 
#! =====================================================================
#! all guiBakAll? enter here to perform main functions.  
#!    final functions RS / RB / RQ are captured via fall-thru. 
#! 
#(: fx IF EXIT:guiBakAllRS        Sbr_BakAllArcDts         # Quick Short version   
#(: fx IF EXIT:guiBakAllCRB       Sbr_BakAllArcDts         # Quick Short Version  
#!
#!  if  guiBakAllRS  guiBakAllRB 
#!  EXIT:guiBakAllRB  ||  EXIT:guiBakAllCRB  ||  EXIT:guiBakAllRQ  ||  EXIT:guiBakAllCRB
if [ "$EXIT" = "guiBakAllRS" ] ||  [ "$EXIT" = "guiBakAllCRB" ]  ; then
    n=0
    Sbr_Sys_KillProc   # dev control 
    export gcE3Rcontrol=${EXIT} # simple, maintain this value,might restore 
    #! 
#!
#! working 250112-0550
#!  Continue "Fall-Thru"  for    guiBakAllRS  guiBakAllRB  
#!
#!### ReStart #######################################################
#! where is guiBakAll RS  ?  Possible: Not Used, just old code. 
#! gui BakAll RS
#(: function EXIT:guiBakAllRS      # BakAll ReStart
    n=0
    lcMsgStr="! BakAll + ReSTART Program !"
    Sbr_Splash_It "${lcMsgStr}" "yellow" "purple" "3" #! -D---  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_BakAllArcDts        # Quick Short version  "Bak All Arc Dts" SubRoutine call 
    Sbr_Cbx_ReStart 1    
fi # end: [ "$EXIT" = "guiBakAllRS" ]
#!
#!
#!
#! where is guiBakAllCR  ?  Not Used, just old code. 
#!### CTB ReBoot ####################################################### Not Used 
#(: function EXIT:guiBakAllCRB       # BakAll + CTA + ScanList + ReBoot 
if [ "$EXIT" = "guiBakAllCRB" ] ; then   # BakAll + CTA + ReBoot 
    n=0
    lcMsgStr="!!! #! Util   BakAll + CTB-SL + ReBoot : guiBakAllCRB !!!"
    Sbr_Splash_It "${lcMsgStr}" "yellow" "purple" "3" #! -D---  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_BakAllArcDts        # Quick Short version    "Bak All Arc Dts"
     #! Expand Verify -f Files : /EDIT vs /root/my-applications
    lcMsgStr="!!! #2 Util   BakAll_CTB-SL + ReBoot : guiBakAllCRB !!!"
    Sbr_Splash_It "${lcMsgStr}" "yellow" "purple" "3" #! -D---  
    #!
    #!  here, testing  for /Dev/Edit
    lcFnRun="${gcMntHomeMyUsrDev}rc.z_CTB-SL.sh"    #!  here, testing  for /Dev/Edit
    if [ -f "$lcFnRun" ] ; then     # CTB-SL    #! CTA has No-Scan-List, 
        [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    else
        lcFnRun="${gcRootApps}rc.z_CTB-SL.sh"  #! run /root/my-apps
        if [ -f "$lcFnRun" ] ; then     # CTB-SL
            [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
            Sbr_FnNotFound "${lcFnRun}"
        fi
    fi
   Sbr_Cbx_ReBoot 1     #! Done guiBakAllCRB
   #!
fi # end: [ EXIT:guiBakAllCRB ]    
#! where is guiBakAllCR  ?  Possible: Not Used, just old code. 
#!
#!
#!
#!###  ReBoot Installed Menu #######################################################
#(: function EXIT:guiMenuRB       # NOT ACTIVE
if [ "$EXIT" = "guiMenuRB" ] ; then   # SAVE and then ReBoot 
   n=0
   Sbr_S2F1-MI    # internal SMP  + ReStart
   Sbr_Cbx_ReBoot 1     #! guiMenuRB
fi # end: [ EXIT:guiMenuRB ]    
#!
#!
#!###  Save + ReBoot Installed Menu ####################################
#(: function EXIT:guiMenuRBS       # NOT ACTIVE
if [ "$EXIT" = "guiMenuRBS" ] ; then   # SAVE and then ReStart  
    n=0
    Sbr_S2F1-MI    # internal SMP  + ReStart
    Sbr_Cbx_ReStart 1
fi # end: [ EXIT:guiMenuRBS ]    
#!
#!
#! =======================================================
#! end: BakAll Ending Routines: "BakAll" ReStart / ReBoot 
#! =======================================================
#!
#!
#!
#! =====================================================================
#! begin: #1 Column  CBX, OneArcDts, AllArcDts , E3R, 
#! =====================================================================
#(: ========================================================
#(: fx IF EXIT:guiPCB_ion_RS       #! #1 # EXTERNAL #! ACTIVE
#(: called by: Page "Main" 
#(: param:
##(: purpose: Backup/Archive with DTS  and  PCB internal PXB
#(: calls: Sbr_PCB_INT_PXB
#(: method:
#(: sends:
#(: rationale:
#(: note :
#! ######################################################################
if [ "$EXIT" = "guiPCB_ion_RS" ] ; then  #! Page Util calls external PCB
    n=0
    #!
    gcMntHomeMyUsrDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/"
    gcRootApps="/root/my-applications/"
    
    lcFnRun="${gcRootApps}/rc.z_PCB-ion.sh"
    Sbr_Splash_It "{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:guiTXN   # ACTIVE UTIL Page
#(: called by: Page "UTL" 
#(: param:
##(: purpose: TXN Format on current MGR source 
#(: calls: /initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_TXN/rc.z_TXN_EXE_!-!-!_.sh
#(: method:
#(: sends:
#(: rationale:
#(: note :
#! ################################################################
if [ "$EXIT" = "guiTXN" ] ; then   #! active on pageUTIL
    n=0
    Sbr_Splash_It "--- EXTERAL xterm ---
    !!! calling  xterm  to  run rc.z_TXN_EXE.sh  + ReStart  !!!---" "yellow" "green" "3"       #! -D---
    #!
    #!erm -e "/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_TXN/rc.z_TXN_EXE-!-!-!_.sh"
    xterm -e "/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_TXN/rc.z_TXN_EXE-RUN.sh"
    #! . /initrd/mnt/dev_save/MY_/usr-share/My_Dev_/Edit_TXN/rc.z_TXN_EXE.sh
    #!
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1    # display and no wait
fi # end [ "$EXIT" = "guiEXIT:guiPXB" ]
#(: =============================================================
#(: fx IF EXIT:guiPXB_ion_RS   # ACTIVE on MAIN and System Page   {{-PXB-}}
#(: called by: Page "Main" and "System" 
#(: param:
##(: purpose: Backup/Archive with DTS  via   PXB internal
#(: calls: Sbr_PCB_INT_PXB
#(: method:
#(: sends:
#(: rationale:
#(: note :
#! ################################################################
if [ "$EXIT" = "guiPXB_ion_RS" ] ; then   # ACTIVE on MAIN and System Page
    n=0
    Sbr_Splash_It "---!!! calling  Sbr_PXB_INT_PXB + ReStart  !!!---" "yellow" "green" "3"       #! -D---
    #!
    Sbr_S2F1-MI    # internal SMP  
    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 DOX Misc and TEST
#! #########################################################
#!
#!
#(: =========================================================
#(: fx IF EXIT:guiAudio
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: play the "startup" music
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
#(: fx IF EXIT:guiAudio    
if [ "$EXIT" = 'guiAudio' ] ; then  # Run Audio Startup Music 
    n=0
    Sbr_Splash_It  "mpv ===guiAudio StartUp-Sound" "yellow" "purple" "1"
    #!
    #! B5B mpv
       mpv  /usr/share/audio/bark.au &
       mpv  /usr/share/audio/2barks.wav &
    sleep 3
        mpv /usr/share/audio/sys-chime.mp3 &
    #!
    #! B4B mplayer
     mplayer /usr/share/audio/bark.au &
    mplayer /usr/share/audio/2barks.wav &
     sleep 3
    mplayer /usr/share/audio/bell.wav    #!
    #!
    Sbr_Cbx_ReStart 1
    #!
fi # end: "$EXIT" = 'guiAudio'
#!
#!
#(: =========================================================
#(: fx IF EXIT:guiBackGround
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: Launch the BackGround Image
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
#(: fx IF EXIT:guiBackGround    #  Not Active
if [ "$EXIT" = 'guiBackGround' ] ; then  # Run Audio Startup Music 
    n=0
    Sbr_Splash_It  "guiBackGround" "yellow" "purple"  "3"
    Sbr_Cbx_ReStart 1
fi # end: "$EXIT" = 'guiBackGround'
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiTest1    # Not Used
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:    TEST
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ########################################################
#(: fx IF EXIT:guiTest1       # Not Used 
if [ "$EXIT" = 'guiTest1' ] ; then n=0  ;
    n=0
    /usr/lib/gtkdialog/box_splash -fg yellow -bg darkred -border true -close never -text "\
    .   guiTest1
    ." &
        sleep 3
        pidx=$!
        GTKPIDT1=$!
        sleep .3
        kill ${GTKPIDT1}
    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.
    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
    #
fi # end: EXIT:guiJWD
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiPPR
#(: called by: Main GUI Fall-Thru
#(: param:
#(: purpose:    lcFnRun="/usr/local/bin/pprocess" 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ########################################################
#(: fx IF EXIT:guiPPR   # Run Sys App
if [ "$EXIT" = "guiPPR" ] ; then    # NOT USED 
    echo "--- PPR Process --- Run System Application  ---"
    n=0
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="/usr/local/bin/pprocess"   # pprocess
    [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    Sbr_Cbx_ReStart 1    # no wait
    exit 0
    #
fi # end: EXIT:guiPPR
#!
#!
#(: ========================================================
#(: fx IF EXIT:gui-P-MntInt 
#(: called by: GUI button
#(: method: Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls: fx(Sys_MGR_Mnt_pMount_sbr)
#(: method: calls internal script
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
if [ "$EXIT" = "gui-P-MntInt" ]  ; then    # NOT USED 
    n=0
    Sbr_Sys_KillProc    # gui-P-MntInt
    #! Sbr_MGR_pMount_All "1"  ### Sbr -> internal
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:gui-P-MntInt (main)
#!
#!
#(: =========================================================
#(: fx IF EXIT:gui-U-MntInt 
#(: called by: GUI button
#(: method: Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls: fx(Sys_MGR_Mnt_uMount_All)
#(: method: calls internal script
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
if [ "$EXIT" = "gui-U-MntInt" ]  ; then    # NOT USED 
    n=0
    Sbr_Sys_KillProc    # gui-U-MntInt
    #! Sbr_Sys_uMount_All "1" ### Sbr -> internal
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:gui-U-MntInt (main)
#!
#!
#! #########################################################
#! end: #2 Column EXTERNAL 
#! #########################################################
#!
#!
#!
#!   Fall-Thru Method 
#!
#!
#! ########################################################
#! begin: # 3 Column
#! ########################################################
#!
#!
#(: ========================================================
#(: fx IF  EXIT:guiS2F1_MI 
#(: called by: Main GUI button  "_S2F1-MI_"
#(: method: Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:   Internal Call for /rc.z_S2F.sh
#(: calls:
#(: method: calls code from /rc.z_S2F.sh,  copied internal
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################################
if [ "$EXIT" = "guiS2F1_MI" ]  ; then  #   ACTIVE
    n=0
        Sbr_Splash_It "--- guiS2F1  --- Close Terminal ---" "yellow" "purple" "3"       #! -D---
    Sbr_S2F1_MI            # internal SMP  + ReStart
        Sbr_ClearFlagsSystem 0      # so that ReStart can run.
        Sbr_Cbx_ReStart 1  # no wait
fi #
#!
#(: ========================================================
#(: fx IF  EXIT:guiS2F3_MI 
#(: called by: Main GUI button  "_S2F-3_"
#(: method: Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:   Internal Call for /rc.z_S2F.sh
#(: calls:
#(: method: calls code from /rc.z_S2F.sh,  copied internal
#(: sends:
#(: rationale:
#(: note :
#(:
#! ########################################################
if [ "$EXIT" = "guiS2F3_MI" ]  ; then  #   ACTIVE
    n=0
        Sbr_Splash_It "--- guiS2F3  --- Close Terminal ---" "yellow" "purple" "3"       #! -D---
        Sbr_S2F3_MI       # IF  EXIT:guiS2F3_MI  + ReStart
        Sbr_ClearFlagsSystem 0      # so that ReStart can run.
        Sbr_Cbx_ReStart 1  # no wait
fi #
#!
#!
#!
#(: ==================================================
#(: fx IF EXIT:guiMCI   
#(: called by: Main GUI Fall-Thru
#(: param:
#(: purpose: EGI Sample Project
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ##################################################
if [ "$EXIT" = "guiMCI" ] ; then    # Run  M.C.I. project EXT  ACTIVE
    n=0
    Sbr_Splash_It "--- Run {RA}  MCI Sample Project  ---" "yellow" "purple" "3"       #! -D---
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="/root/my-applications/rc.z_MCI.sh"
    [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    Sbr_Cbx_ReStart 1    # no wait
fi # end: EXIT:guiMCI
#!
#(: ==================================================
#(: fx IF EXIT:guiMGS-8 
#(: called by: Main GUI Fall-Thru
#(: param:
#(: purpose: EGI Sample Project
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ##################################################
if [ "$EXIT" = "guiMGS-8" ] ; then    # Run  M.G.S.-8 project EXT  ACTIVE
    n=0
    Sbr_Splash_It "--- Run {RA} MGS-8 Sample Project  ---" "yellow" "purple" "3"       #! -D---
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="/root/my-applications/rc.z_MGS-8.sh"
    [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    Sbr_Cbx_ReStart 1    # no wait
fi # end: EXIT:guiMCI
#!
#!   Fall-Thru Method 
#!
#!
#!
#!
#! ########################################################
#! === begin: pageDOX === DUMP =================== 
#! ########################################################
#!
#!
#(: =========================================================
#(: fx IF EXIT:guiDumpHLP
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: dump/display Pup HELP Code
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ########################################################
if [ "$EXIT" = "guiDumpHLP" ] ; then   #  Dump HELP  ACTIVE
    echo "--- HELP --- Sbr_Dump_HLP --- ${gcSysDistroName} ---"
    n=0
    Sbr_Dump_HLP   # MGR_Help_Box    ### local function name
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpHLP
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiDumpProc
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: dump/display Proc Source Code
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! =========================================================
if [ "$EXIT" = "guiDumpProc" ] ; then   #  Dump Proc  ACTIVE
    echo "--- Dump/Display Program Process ---"
    n=0
    Sbr_Dump_Proc   # MGR_Proc_Box    ### local function name
    Sbr_Cbx_ReStart 1  # no wait
fi  # end: EXIT:guiDumpPUP
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiDumpFAQ
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: dump/display Pup FAQ Code
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpFAQ" ] ; then   #  Dump FAQ  ACTIVE
    echo "--- FAQ --- Sbr_Dump_FAQ --- ${gcSysDistroName} ---"
    n=0
    Sbr_Dump_FAQ    # MGR_Faq_Box    ### local function name
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpFAQ
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiDumpPUP
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: dump/display Pup Source Code
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ##############################################################
if [ "$EXIT" = "guiDumpPUP" ] ; then   #  Dump PupState  ACTIVE
    echo "--- Dump/Display Pup State Code ---"
    n=0
    lcMsgStr="--- guiDump---PUP_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "1"  
    Sbr_Dump_PUP    # MGR_Pup_Box    ### local function name
    Sbr_Cbx_ReStart 1  # no wait
fi  # end: EXIT:guiDumpPUP
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpSrc
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Src Code
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
if [ "$EXIT" = "guiDumpSrc" ] ; then   #  Dump SOURCE  ACTIVE
    n=0
    lcMsgStr="--- guiDump---SRC_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "1"  
    Sbr_Dump_SRC   # MGR_Src_Box    ### local function name
    Sbr_Cbx_ReStart 1  # must ReStart else will drop out
fi # end: EXIT:guiDumpSRC
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpGUI
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Dev Notes and test var.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpGUI" ] ; then   #  Dump GUI  ACTIVE
    n=0
    lcMsgStr="--- guiDump---GUI_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dump_GUI    # MGR_Src_Box    ### local function name
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpGUI
#!
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpImg
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Dev Notes and test var.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpImg" ] ; then   #  Dump IMAGE   ACTIVE
    n=0
    lcMsgStr="--- guiDump---Img_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dump_IMG    # MGR_Src_Box    ### local function name
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpIMG
#!
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpUPL
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Legal Notes and test var.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpUPL" ] ; then   #  Dump UpLegal  ACTIVE
    n=0
    lcMsgStr="--- guiDump---UPL_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dump_UPL    # MGR_UPL_Box
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpUPL
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpDeclare
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Declare 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpDeclare" ] ; then   #  Dump System  ACTIVE
    n=0
    lcMsgStr="--- guiDump---DECLARE_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dump_Declare
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpDeclare
#!
#!
#(: =====================================================
#(: fx IF EXIT:guiDumpSys
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: display Dev Notes and test var.
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiDumpSys" ] ; then   #  Dump System  ACTIVE
    n=0
    lcMsgStr="--- guiDump---SYS_---"
    Sbr_Splash_It ">.>.> ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dump_Sys
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDumpSys
#!
#!
#(: =====================================================
#(: fx IF EXIT:gui_Dxstro_window
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "gui_Dxstro_Window" ] ; then   #  Dump DistroList  ACTIVE
    n=0
    lcMsgStr="--- gui_Dxstro_Window_---"
    Sbr_Splash_It "=== ${lcMsgStr}" "green" "yellow" "2"  
    Sbr_Dxstro_Window
    Sbr_Cbx_ReStart 1  # no wait
fi # end: EXIT:guiDxstro_window
#!
#!
#! ########################################################
#! === end: pageDOX === DUMP =================== 
#! ########################################################
#! 
#!
#!
#(: ==========================================================
#(: 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    #! NOT CALLED 
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.
#!
#! === Combo-Boxes Array === not used ==================================
        if [ "$EXIT" = "guiCtxB1B2Rs" ] ; then      #! ReSTART
            Sbr_Splash_It "CTX + ReSTART" "orange" "purple" "1"  
        fi
        if [ "$EXIT" = "guiCtxB1B2Rb" ] ; then      #! ReBOOT   but not B64B !!!
            Sbr_Splash_It "CTX + ReBOOT" "orange" "purple" "1"  
        fi
        if [ "$EXIT" = "guiCtxB1B2Rq" ] ; then      #! ReQUIT   but not B64B ??? 
            Sbr_Splash_It "CTX + ReQUIT" "orange" "purple" "3"  
        fi
#! ===========================================================
        Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run. todo: call CTB-SL
        #! BakOne
        Sbr_BakOneArcDts
        #! BakAll
        Sbr_BakAllArcDts
#! ===========================================================
        Sbr_S2F3_MI    # Save2File MI  via  SMP
#! ===========================================================
#!  Internal PCB is named PXB_I for internal code.  
        Sbr_PXB_INT     #! INT code is "PXB" a copy of PCB_ion.sh  imported from /EDIT/ rc.z_PCB-ion 
#!
#! ===========================================================
        Sbr_Splash_It "CTX + ReQUIT EXIT ..." "orange" "red" "7"  
#!
#! === Combo-Boxes Array === not used ==================================
        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
#!
#!
#!
#!
#! ########################################################
#(: === begin: Page3=== CT? calls to external =============
#! ########################################################
#!
#!
#(: ========================================================
#(: fx EXIT:guiCTX  # ACTIVE
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : Group of CTX buttons on Page Utility Page3
#(:
#! #####################################################
#! function  EXIT:guiCTX   {} Standard "MAIN" {_COLD_TAR_BACKUP_}   ACTIVE 
if [ "$EXIT" = "guiCTX" ] ; then   # CTX  PCBionPXB  ACTIVE   
    n=0 # working CTX "X" mode
    #! Sbr_Splash_It "EXIT:guiCTX " "yellow" "purple" "3"  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run. todo: call CTB-SL
        gcRootApps="/root/my-applications/"
        gcMntHomeMyUsrDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/"
        lcFnRunBaseSd="CTX"
        lcFnRunBaseFn="CTX"
        lcFnRun="${gcMntHomeMyUsrDev}EDIT_${lcFnRunBaseSd}/rc.z_${lcFnRunBaseFn}.sh"    
        #!  here, testing default for /Dev/Edit  "CTX" 
        if [ -f "${lcFnRun}" ] ; then     # ${lcFnRunBase}    
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
                #! here, else testing application subdir  /root/my-applications/rc.z_???.sh
                lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"  
                lcFnRun="/root/my-applications/rc.z_PCB-ion.sh"
                if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}
                    [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
                else
                    Sbr_FnNotFound "${lcFnRun}"
                fi
         fi
    Sbr_Cbx_ReStart 1    # no wait # OK to use here --- CTB ---
    exit 0
fi # end: EXIT:guiCTX
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiCTA
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ###3#################################################
if [ "$EXIT" = "guiCTA" ] ; then   # CTA  # ACTIVE
    n=0
    echo "--- guiCTA Cold Tar Backup Automatic ---"
    #! Sbr_Splash_It "Page 3 Util  : EXIT:guiCTA" "yellow" "purple" "3"  
    #!
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
        gcRootApps="/root/my-applications/"
        gcMntHomeMyUsrDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/"
    lcFnRunBaseSd="CTA"
    lcFnRunBaseFn="CTA"
    lcFnRun="${gcMntHomeMyUsrDev}EDIT_${lcFnRunBaseSd}/rc.z_${lcFnRunBaseFn}.sh"    
    #!  here, testing  for default  /Dev/Edit
    if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
        [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    else
        #! else, here testing for production subdir  /root/my-applications/rc.z_???.sh
        lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"  
        if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}
            [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
            Sbr_FnNotFound "${lcFnRun}"
        fi
    fi
    Sbr_Cbx_ReStart 1    # no wait # OK to use here --- CTB ---
    exit 0
fi # end: EXIT:guiCTA
#!
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiCTB52     # CTB-5.2 # ACTIVE
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #############################################################
if [ "$EXIT" = "guiCTB52" ] ; then   # External 'CTB'  # ACTIVE
    n=0
    #! Sbr_Splash_It "page 3 Util : EXIT:guiCTB-SL " "yellow" "purple" "3"  
    Sbr_Sys_KillProc  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
        gcRootApps="/root/my-applications/"
        gcMntHomeMyUsrDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/"
    lcFnRunBaseSd="CTB"
    lcFnRunBaseFn="CTB-5.2"
    lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"    
    Sbr_Splash_It "${lcFnRun}" "yellow" "purple" "3"  
            #! else, here, testing for production   /root/my-applications/rc.z_???.sh
            lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"  
            if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
            else
                Sbr_FnNotFound "${lcFnRun}"
            fi
    Sbr_Cbx_ReStart 1    
    exit 0
fi # end: EXIT:guiCTB-SL
#!
#!
#(: ========================================================
#(: fx IF EXIT:guiCTB-SL     # ACTIVE
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiCTB-SL" ] ; then   # CTB-SL   # ACTIVE
    n=0
    #! Sbr_Splash_It "page 3 Util : EXIT:guiCTB-SL-4 " "yellow" "purple" "3"  
    Sbr_Sys_KillProc  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="${gcRootApps}rc.z_CTB-SL.sh"
        gcRootApps="/root/my-applications/"
        gcMntHomeMyUsrDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/"
    lcFnRunBaseSd="CTB"
    lcFnRunBaseFn="CTB-SL"
    lcFnRun="${gcMntHomeMyUsrDev}EDIT_${lcFnRunBaseSd}/rc.z_${lcFnRunBaseFn}.sh"    #!  here, testing  for /Dev/Edit
            lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"  
            if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
            else
                Sbr_FnNotFound "${lcFnRun}"
            fi
    Sbr_Cbx_ReStart 1    # no wait # OK to use here --- CTB ---
    exit 0
fi # end: EXIT:guiCTB-SL
#!
#!
#(: ========================================================
#(: fx IF [ EXIT:guiCTB-SLX-RS ] [ EXIT:guiCTB-SLX-RB ][ EXIT:guiCTB-SLX-RQ ] [ EXIT:guiCTB-SLX-PO ] #! ACTIVE  
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :  contains commented code for testing 32/64 bit. Still testing 64bit run. 
#! #################################################################################
if [ "$EXIT" = "guiCTB-SLX-RS" ] || [ "$EXIT" = "guiCTB-SLX-RB" ] \
|| [ "$EXIT" = "guiCTB-SLX-RQ" ] || [ "$EXIT" = "guiCTB-SLX-PO" ] ; then   
    n=0
    #! test gcMgrBit32 = "1"    # gcMrgBit32="1"
    Sbr_Splash_It "=== ${EXIT} ===" "yellow" "darkred" "3"  
    echo ":${gcMrgBit32}:" >  /dev/console
        Sbr_Splash_It "32bit={gcMrgBit32}" "yellow" "green" "3"  
        Sbr_Sys_KillProc  
        Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
            #!
        Sbr_Splash_It "{CTB_}   Sbr_BakAllArcDts" "yellow" "red" "3"  
            #! BakONE
        Sbr_BakOneArcDts
            #! BakALL
        Sbr_BakAllArcDts
            #!
        lcFnRun="${gcRootApps}rc.z_CTB-SLX.sh"
        lcFnRunBaseSd="CTB"
        lcFnRunBaseFn="CTB-SLX"
        #!
# working 
    if [ "$EXIT" = "guiCTB-SLX-RS" ] || [ "$EXIT" = "guiCTB-SLX-RQ" ] ; then   
        n=0
        lcFnRun="/root/my-applications/rc.z_CTA.sh"     #! Only Call Production : /root/my-applications 
        if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
                Sbr_Splash_It "{1}" "yellow" "red" "1"  
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
                Sbr_FnNotFound "${lcFnRun}"
         fi
    fi    

    #~ if [ "$EXIT" = "guiCTB-SLX-RQ" ] ; then   
        #~ n=0
        #~ lcFnRun="/root/my-applications/rc.z_CTA.sh"     #! Only Call Production : /root/my-applications 
        #~ if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
                #~ Sbr_Splash_It "{1}" "yellow" "red" "1"  
                #~ [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        #~ else
                #~ Sbr_FnNotFound "${lcFnRun}"
         #~ fi
    #~ fi    

    if [ "$EXIT" = "guiCTB-SLX-PO" ] ; then   #! Scan List of SubDir via CTB-SLX.sh
        lcFnRun="/root/my-applications/rc.z_CTB-SLX.sh"     #! Only Call Production : /root/my-applications 
        if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
                Sbr_Splash_It "{1}" "yellow" "red" "1"  
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
        else
                Sbr_FnNotFound "${lcFnRun}"
         fi
    fi
    #!
    if [ "$EXIT" = "guiCTB-SLX-RS" ] ; then   
        Sbr_Cbx_ReStart 1   
    fi
    if [ "$EXIT" = "guiCTB-SLX-RQ" ] ; then   
        Sbr_Cbx_ReQuit 1   
    fi
    if [ "$EXIT" = "guiCTB-SLX-RB" ] ; then   
        Sbr_Cbx_ReBoot 1   
    fi
    if [ "$EXIT" = "guiCTB-SLX-RQ" ] ; then   
        Sbr_Cbx_RePowerOff 1   # EXIT:guiSimPowerOff        
    fi
    if [ "$EXIT" = "guiCTB-SLX-PO" ] ; then   
        Sbr_Cbx_RePowerOff 1   # EXIT:guiSimPowerOff        
    fi
    #!
fi # end: EXIT:guiCTB-SLX-R_B_P        # ReStart vs ReBoot vs RePowerOff 
#!
#!
#!
#(: =================================================================
#(: fx IF EXIT:guiPCB_ion_RS      #! #2 # EXTERNAL #! NOT ACTIVE
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :  
#! ######################################################################
if [ "$EXIT" = "guiPCB_ion_RS" ] ; then  #! #2 # EXTERNAL #! NOT ACTIVE
    n=0
    gcRootApps="/root/my-applications/"
    gcMntHomeMyUsrDev="/initrd/mnt/dev_save/MY_/usr-share/My_Dev_/"
    lcFnRun="${gcRootApps}/rc.z_PCB-ion.sh"
    Sbr_Splash_It "{2}--- Process External {PCB-ion} + {RS} ---" "yellow" "red" "3"  
    #!
    lcFnRun="${gcRootApps}rc.z_PCB-ion.sh"
    if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
            Sbr_Splash_It "{RA}   $lcFnRun" "yellow" "red" "5"  
            [ -f "${lcFnRun}" ]  #! &&  ${lcFnRun}
    else        # alternative FnRun
        Sbr_FnNotFound "${lcFnRun}"
    fi
    #!
    Sbr_Splash_It "=== DONE ==={2}--- Process External {PCB-ion} + {RS} --- NOT ACTIVE"  "green" "red" "3"  
    #!
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    Sbr_Cbx_ReStart 1   # EXIT:guiSimPowerOff
    #!
fi # end
#!
#!
#!
#(: ==========================================================
#(: fx EXIT:guiCTUnsmp     # NOT ACTIVE
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:  CTU  NoSnapMergePuppy
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #########################################################
if [ "$EXIT" = "guiCTUnsmp" ] ; then    # CBX ARS ReStart  
    n=0
    #! Sbr_Splash_It "page 3 Util : EXIT:guiCTUnsmp " "yellow" "purple" "3"  
    Sbr_Sys_KillProc  
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRun="${gcRootApps}rc.z_CTU-NSMP.sh"
    lcFnRunBaseSd="CTU"
    lcFnRunBaseFn="CTU-NSMP"
    lcFnRun="${gcMntHomeMyUsrDev}EDIT_${lcFnRunBaseSd}/rc.z_${lcFnRunBaseFn}.sh"    #!  here, testing  for /Dev/Edit
    if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
            [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    else
            #! /root/my-applications/rc.z_.sh
            lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"  
            if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
            else
                Sbr_FnNotFound "${lcFnRun}"
            fi
     fi
    Sbr_Cbx_ReStart 1    # no wait  OK to use after CTU script
    exit 0
fi # end: EXIT:guiCTUnsmp
#!
#!
#(: ================================================================
#(: fx EXIT:guiCTU         # ACTIVE
#(: called by: Main GUI UTIL 
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! #####################################################
if [ "$EXIT" = "guiCTU" ] ; then    
    echo "--- guiCTU ------------"
    n=0
    #! Sbr_Button_Only ${EXIT}   # guiCTU   # NOT ACTIVE
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that ReStart can run.
    lcFnRunBaseSd="CTU"
    lcFnRunBaseFn="CTU"
    lcFnRun="${gcMntHomeMyUsrDev}EDIT_${lcFnRunBaseSd}/rc.z_${lcFnRunBaseFn}.sh"    #!  here, testing  for /Dev/Edit
    if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}    
            #! /Dev/Edit
            [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
    else
            #! /root/apps
            lcFnRun="${gcRootApps}rc.z_${lcFnRunBaseFn}.sh"  
            if [ -f "$lcFnRun" ] ; then     # ${lcFnRunBase}
                [ -f "${lcFnRun}" ]  &&  ${lcFnRun}
            else
                Sbr_FnNotFound "${lcFnRun}"
            fi
     fi
    Sbr_Cbx_ReStart 1    # no wait # OK to use after CTU script
    exit 0
fi # end: EXIT:guiCTU
#!
#!
#! ========================================================
#(: === end: Page3=== calls to external programs
#! ========================================================
#!
#!
#!   Fall-Thru Method 
#!
#!
#! =================================================
#! begin: #4 Column   ;;;  System and QUIT   ;;;
#! =================================================
#!
#!
#(: ================================================
#(: fx EXIT:guiFrameTitle
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose: Top Bar, Quick ReStart
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! ==================================================
#(: fx IF EXIT:guiFrameTitle   ### main GUI 
if [ "$EXIT" = "guiFrameTitle" ] ; then
    n=0
    #! "Re-Start MGR from Top Bar"
    clear
    #! test     if FullScreen = "0"
    #!              then FullScreenVisible="1"
    #!          else
    #!              FullScreenVisible="0"
    #!          fi 
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that Warm Reboot can run.
    Sbr_Cbx_ReStart 1
fi  # end: EXIT:guiFrameTitle
#!
#!
#(: =================================================
#(: fx EXIT:guiSimReStart
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note :
#(:
#! =================================================
if [ "$EXIT" = "guiSimReStart" ]  ; then  
    n=0
    #! Sbr_Splash_It "S.I.M.P.L.E. _Re-Start" "yellow" "green" "1"  #! -D!---
    Sbr_ClearFlagsSystem 0      ### clear lockfile so that Warm Reboot can run.
    Sbr_Cbx_ReStart 1
    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        #! Simple ReBoot
    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
#! ====================================================
#!
#! BEGIN:  Build-Short-Menu []  IF  [ ARB_00, DBW, B64B, B4B, B5B, MM, BW, T6, KK, JJ, S1564, X64, S7, X6 ]  

if [ "$EXIT" = "ARB_00"  ] || [ "$EXIT" = "ARB_B5B" ] || [ "$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_SLK64" ] \
 || [ "$EXIT" = "ARB_N6N"   ] || [ "$EXIT" = "ARB_N7N"   ] || [ "$EXIT" = "ARB_N8N"   ] \
 || [ "$EXIT" = "ARB_DBW32"   ]|| [ "$EXIT" = "ARB_DBW64"   ] ; then
    n=0
    Sbr_Splash_It "[] Build  Menu []" "yellow" "black" "1.5"   #! working
    Sbr_Sys_SDA_Only ": SDA Menu" # control: test "SDA" else  ReStart
    Sbr_Sys_KillProc   # Build Menu permission control 
    Sbr_Menu_ShortList    #  function at top of code
    export gcC3MConfigArbId="${gcC3MConfigArbId}"
    echo "${gcMgrArCfgIdd}" > "${gcMgrArbCfgFn}"  # config of menu
fi # END: Build Short Menu : ARB_00, KK, JJ, B5B, S1564, X64, MM, BW, T6, S7, X6, JF, B4B
#!
#~ 
#~

#! ================================================
#! ## end: 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" ] || [ "$EXIT" = "ARB_00" ]  ; 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_Splash4=$!    
        sleep 3
        #~ kill ${GtkPid_Mnu_Box_Splash}
    #!
    Sbr_Menu_LongList

    #~ kill ${GtkPid_Mnu_Box_Splash4}

    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_Splash_Flip3 "${lcMsgStr}" ".2"
    Sbr_ClearFlagsSystem "0"   ### no display
    Sbr_ClearFlagsQuit  "0"    ### no display
            #! list of flags to kill:
            #! rm -f "${MGR_TouchCBXstatus}"
            #! rm -f "${MGR_BackUpStatus}"
            #! rm -f "${MGR_LockFile}"
            #! rm -f "${MGR_ReStart_flg}"
#! ############################################################
        #!
        #! Main Quit Green Button
        #!
#! ############################################################
    #! not called because main ( ) screen titling is quicker / more important.
    #! must clear two times. 
    clear   #! clears twice from bottom half of Penguin Display
    clear   #! clears twice from bottom half of Penguin Display
    Sbr_Splash_Pup
    #~ Sbr_Splash_Neo 
    #~ Sbr_Splash_Pup_Neo 
    #!
    Sbr_Splash_Pup  
    lcMsgStr="->->->  Hit 'Enter' to clear Terminal" && Sbr_Str2DevTrm "${lcMsgStr}" "3" "0"
    exit 0  
     #!
    #! Main Quit Green Button
    exit 0  
    #! IF Xterm, THEN IF ROX is running, THEN  MGR halts right here, in Xterm. 
    #! System has an orphaned routine (ROX) still on the stack.
fi
#! ft [EXIT:guiMainQUIT]
#!
#!
#!
#!
#(: ====================================================================
#(: fx IF EXIT:guiNoteBookWidget     # NOT USED
#(: called by: Main GUI Fall-Thru and code is INTERNAL to MGR
#(: param:
#(: purpose:  flip +/- 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_Banner "*===Fall-Thru===Loose-Code===Quit===*"
#!
lcMsgStr="  " && Sbr_Str2DevTrm "$lcMsgStr" "2" "5"
lcMsgStr="<-<-<-  FALL-THRU trap for 'loose' code  " && Sbr_Str2DevTrm "$lcMsgStr" "2" "5"
lcMsgStr="-------------------------------------" && Sbr_Str2DevTrm "$lcMsgStr" "2" "5"
    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 " "
    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. 
#! same for MGR-9
#! =========================================================================
#!
#! ************************************************************
#! 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 . 
#! #: ...    normally displays 45 char long, then wraps . 
#! #: ...    user mounse can expand line-length to 72++ .
#! "--- "
# Reset colors and bold.
export gcColorReset="\\e[0m"
export gcColorString="$(trim "${string//$'\\e[0m'}")"
    # if [[ "$(trim "$1")" && "$2" ]]; then
        # string="${1}${2:+: $2}"
    # else
        # string="${2:-$1}"
    # fi
#!
join_by() {
    # Usage:  join_by "||" a b c d
    local arg arr=() sep="$1"
    shift
    for arg in "$@"; do
        if [ 0 -lt "${#arr[@]}" ]; then
            arr+=("${sep}")
        fi
        arr+=("${arg}") || break
    done
    printf "%s" "${arr[@]}"
}
jointox() {
x="$2"
for (( i=3; i <= $#; i++ )); do
    x="$x$1${!i}"
done
}
# demonstration of caller
x() {
sep=,
local x
jointox "$sep" "$@"
}
#  $ x a "b c" d
#     a,b c,d
Sbr_Sys_ya3() {
n=0
liststr=""
for item in list
do
    liststr=$item,$liststr
done
LEN=`expr length $liststr`
LEN=`expr $LEN - 1`
liststr=${liststr:0:$LEN}
}
export -f Sbr_Sys_ya3


#! $ a=(1 "a b" 3)
#! $ b=$(IFS=, ; echo "${a[*]}")
#! $ echo $b
#! 1,a b,3

#!

#(: =====================================================
#(: fx Sbr_Splash_Pup_X   #! 
#(: called by: Main Quit
#(: param:
#(: purpose: 
#(: calls:
#(: method:
#(: sends:
#(: rationale:
#(: note : 
#(:
#! #####################################################
function Sbr_Splash_Pup_X() {  # copy
    echo  " "   #>/dev/console
    #! lcMsgStr="$0" 
    #! && /bin/echo -e "\\033[5G\\033[1;36m *** \\033[1;32m ${lcMsgStr} \\033[1;36m *** \\033[0;39m" #>/dev/console
    #~ echo -e "             " #>/dev/console
    #~ echo -e "             " #>/dev/console
	#~ echo -e "         = = " #>/dev/console
	#~ echo -e "         = = " #>/dev/console
	#~ echo -e "       =     =" #>/dev/console
	#~ echo -e "      =       = " #>/dev/console
    #~ neofetch --ascii_colors 3 4 5  #>/dev/console  && sleep .3
###########################################################
#! echo "   3 1 2   " 
#(: ==================================================
#(: fx Sbr_Sys_yg3()  
#(: name: 
#(: param:
#(: purpose: Puppy Ascii Graphic Image for rc.sysinit and rc.shutdown 
#(: @param #(:  @return #(: call this way: #(: called by: #(: calls to: 
#(: returns: #(: method: #(: rationale: #(: note:
#! function fx Sbr_Sys_yg3()  
#(:
n=0
lcMsgStr1="/     -/osyyyysosyhhhhhyys+-
    -ohmNNmh+/hMMMMMMMMNNNNd+dMMMMNM+
  yMMMMNNmmddo/NMMMNNNNNNNNNo+NNNNNy
.NNNNNNmmmddds:MMNNNNNNNNNNNh:mNNN/
-NNNdyyyhdmmmd dNNNNNmmmmNNmdd/os/"
lcMsgStr2="/
.Nm+shddyooo+/smNNNNmmmmNh.   :mmd.
 NNNNy:    ./hmmmmmmmNNNN:     hNMh
 NMN-    -++- +NNNNNNNNNNm+..-sMMMM-
.MMo    oNNNNo hNNNNNNNNmhdNNNMMMMM+
.MMs    /NNNN/ dNmhs+:-  yMMMMMMMM+
 mMM+     .. sNN+.      hMMMMhhMMM-
 +MMMmo:...:sNMMMMMms:  hMMMMm.hMMy"
lcMsgStr3="/ yMMMMMMMMMMMNdMMMMMM::/+o+/
   sMMMMMMMMMMN+:oyyo:sMMMNNMMMNy
    :mMMMMMMMMMMMmddNMMMMMMMMmh/
      /dMMMMMMMMMMMMMMMMMMNdy/
        .+hNMMMMMMMMMNmdhs/.
            .:/+ooo+/:-." 

lcMsgStr11="'\\033[1G\\033[1;31m ${lcMsgStr1}'"
lcMsgStr12="'\\033[1G\\033[1;37m ${lcMsgStr2}'"
lcMsgStr13="'\\033[1G\\033[1;34m ${lcMsgStr3}'"

/bin/echo -en "${lcMsgStr11}" # > /dev/console 
/bin/echo -en "${lcMsgStr12}" # > /dev/console 
/bin/echo -en "${lcMsgStr13}" # > /dev/console 

/bin/echo -en "${lcMsgStr11}"  > /dev/console 
/bin/echo -en "${lcMsgStr12}"  > /dev/console 
/bin/echo -en "${lcMsgStr13}"  > /dev/console 

echo " "
sleep 1
#! that's all !   gae
#!
} # end 
export -f Sbr_Splash_Pup



#! #####################################################################
#! note 
#!    gxmessage -bo -c -tim 5 -fn 'bold 10' -bg '#285577' -fg '#FFF' -bu '' $'\n\n  A buttonless gxmessage  \n\n'
#!
#! #####################################################################
#! GTK code for "Clear-XXX-Window" 
#! Standard Clear_Current_Window :
#! #####################################################################
