X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fcore%2Flaunch_feisty_meow.sh;h=4a6184e687571f4a8c8404eaa09dd0e334eaa2b1;hb=12d3b0a9a2dae8d187318c52465fd262c74b0c85;hp=631d78e90717f1a5089b25ed6f38c6e72e85354b;hpb=c4834a49e6d157d09d636bcbc80516dd87d62577;p=feisty_meow.git diff --git a/scripts/core/launch_feisty_meow.sh b/scripts/core/launch_feisty_meow.sh index 631d78e9..4a6184e6 100644 --- a/scripts/core/launch_feisty_meow.sh +++ b/scripts/core/launch_feisty_meow.sh @@ -19,7 +19,7 @@ ############## # this script cannot handle figuring out where it lives, so approaches that -# get the WORKDIR will fail. this is a consequence of this always being used +# get the THISDIR will fail. this is a consequence of this always being used # in bash's 'source' directive, which does not pass the script name as # argument 0. instead, we just check for the bad condition of a malconfigured # script system and try to repair it. @@ -44,21 +44,39 @@ if [ ! -d "$FEISTY_MEOW_APEX" ]; then The feisty meow configuration is damaged somehow. Please change to the directory where it is stored, e.g.: - cd /opt/feistymeow.org/feisty_meow + cd /opt/feistymeow.org/feisty_meow -and execute this command: +and run this command (the whole unwieldy multiple line chunk inside the bars): - export FEISTY_MEOW_APEX=\$(pwd); echo \"export FEISTY_MEOW_APEX=\$FEISTY_MEOW_APEX\" \> \$HOME/\$USER.fm-fix ; exec /bin/bash -c 'source \$HOME/\$USER.fm-fix; /bin/bash \$FEISTY_MEOW_APEX/scripts/core/reconfigure_feisty_meow.sh ; source \$FEISTY_MEOW_APEX/scripts/core/launch_feisty_meow.sh ; /bin/bash -i --norc --noprofile ' -Note that this assumes that the .bashrc file could still need editing to fix -an erroneous FEISTY_MEOW_APEX variable, so we skip it when bash runs. Check -\$HOME/.bashrc to see if a change there will fix the above error. +############## + exec bash -i 3<&- <&4 +EOF +############## + + +This code snippet assumes that the .bashrc file could still need editing to +fix an erroneous FEISTY_MEOW_APEX variable, so we skip it above when bash +runs. Check \$HOME/.bashrc to see if a change there will fix the problem. " +else + # apex is good, so let's make the scripts good too. + if [ -z "$FEISTY_MEOW_SCRIPTS" -o ! -d "$FEISTY_MEOW_SCRIPTS" ]; then + export FEISTY_MEOW_SCRIPTS="$FEISTY_MEOW_APEX/scripts" + fi + # check again to test our belief system... + if [ ! -d "$FEISTY_MEOW_SCRIPTS" ]; then + unset NO_REPAIRS_NEEDED + echo -e "The feisty meow scripts cannot be found under the current top:\n FEISTY_MEOW_APEX=$FEISTY_MEOW_APEX" + fi fi -#; source \$FEISTY_MEOW_APEX/scripts/core/launch_feisty_meow.sh - if [ "$NO_REPAIRS_NEEDED" == "true" ]; then # we believe it's safe to run through the rest of this script. @@ -74,6 +92,13 @@ if [ "$NO_REPAIRS_NEEDED" == "true" ]; then if [ -z "$USER" -a ! -z "$CRONUSER" ]; then export USER="$CRONUSER" fi + + # use the xauth info if we were given one in the environment. + # this allows root or other su'd identities to create windows with same + # display variable. + if [ ! -z "$DISPLAY" -a ! -z "$IMPORTED_XAUTH" ]; then + xauth add "$IMPORTED_XAUTH" + fi ############## @@ -104,9 +129,8 @@ if [ "$NO_REPAIRS_NEEDED" == "true" ]; then fi ############## - + if [ -z "$ERROR_OCCURRED" ]; then - # pull in our generated variables that are the minimal set we need to find # the rest of our resources. source "$FEISTY_MEOW_VARIABLES_LOADING_FILE" @@ -120,10 +144,9 @@ if [ "$NO_REPAIRS_NEEDED" == "true" ]; then ############## if [ -z "$ERROR_OCCURRED" ]; then - - # load the larger body of standard feisty meow variables into the environment. - # we actually want this to always run also; it will decide what variables need - # to be set again. + # no error occurred in our tests above, so load the larger body of standard feisty + # meow variables into the environment. we actually want this to always run also; + # it will decide what variables need to be set again. source "$FEISTY_MEOW_SCRIPTS/core/variables.sh" ############## @@ -138,6 +161,7 @@ if [ "$NO_REPAIRS_NEEDED" == "true" ]; then ############## +#hmmm: abstract this to a twiddle shell options method. # check hash table before searching path. shopt -s checkhash # don't check path for sourced files. @@ -188,5 +212,35 @@ if [ "$NO_REPAIRS_NEEDED" == "true" ]; then fi # no error occurred. + if [ ! -z "$FEISTY_MEOW_SHOW_LAUNCH_GREETING" ]; then + echo + echo + echo "welcome to the feisty meow zone of peace, one of many refuges in the uncountably" + echo "infinite multiverses that are hypothetically possible." + echo + echo + unset FEISTY_MEOW_SHOW_LAUNCH_GREETING + fi + + # only run this hello file if the core feisty meow support haven't been loaded already. this + # hopefully guarantees we show the info at most once in one shell continuum. + # this can also be disabled if the NO_HELLO variable has a non-empty value. + type CORE_VARIABLES_LOADED &>/dev/null + if [ $? -ne 0 -a -z "$NO_HELLO" ]; then + # print out a personalized hello file if we find one. + if [ -f ~/hello.txt ]; then + echo + sep 28 + perl $FEISTY_MEOW_SCRIPTS/*/filedump.pl ~/hello.txt + sep 28 + echo + fi + # from now on there should be no extra helloing. + export NO_HELLO=true + fi + + # load the last bits we do here. + source "$FEISTY_MEOW_LOADING_DOCK/fmc_ending_sentinel.sh" + fi # "$NO_REPAIRS_NEEDED" was == "true"