new examples
[feisty_meow.git] / scripts / core / functions.sh
index 94591263a954886d82ea216854163ea74aa371b3..86d8999158c41a6f5df37ea10c13b0f219464272 100644 (file)
@@ -244,8 +244,15 @@ if [ -z "$skip_all" ]; then
     done
   }
   
-  function fix_alsa() {
-    sudo /etc/init.d/alsasound restart
+#  function fix_alsa() {
+#    sudo /etc/init.d/alsasound restart
+#  }
+
+  function screen() {
+    save_terminal_title
+#hmmm: ugly absolute path here.
+    /usr/bin/screen $*
+    restore_terminal_title
   }
   
   # switches from a /X/path form to an X:/ form.  this also processes cygwin paths.
@@ -315,20 +322,19 @@ if [ -z "$skip_all" ]; then
       # or at least suse doesn't, which is the other one we've tested on.
       /bin/su -l $*
     fi
-  
-    # relabel the console after returning.
-    bash $FEISTY_MEOW_SCRIPTS/tty/label_terminal_with_infos.sh
   }
   
   # sudo function wraps the normal sudo by ensuring we replace the terminal
   # label if they're doing an su with the sudo.
   function sudo() {
-    local first_command="$1"
+#    local first_command="$1"
+    save_terminal_title
     /usr/bin/sudo "$@"
-    if [ "$first_command" == "su" ]; then
-      # yep, they were doing an su, but they're back now.
-      bash $FEISTY_MEOW_SCRIPTS/tty/label_terminal_with_infos.sh
-    fi
+    restore_terminal_title
+#    if [ "$first_command" == "su" ]; then
+#      # yep, they were doing an su, but they're back now.
+#      label_terminal_with_info
+#    fi
   }
   
   # trashes the .#blah files that cvs and svn leave behind when finding conflicts.
@@ -354,37 +360,42 @@ if [ -z "$skip_all" ]; then
   # recreates all the generated files that the feisty meow scripts use.
   function regenerate() {
     # do the bootstrapping process again.
+    save_terminal_title
     echo "regenerating feisty meow script environment."
     bash $FEISTY_MEOW_SCRIPTS/core/reconfigure_feisty_meow.sh
     echo
     # force a full reload by turning off sentinel variables and methods.
     unset -v CORE_VARIABLES_LOADED FEISTY_MEOW_LOADING_DOCK USER_CUSTOMIZATIONS_LOADED
-    unalias CORE_ALIASES_LOADED
+    unalias CORE_ALIASES_LOADED &>/dev/null
     unset -f function_sentinel 
     # reload feisty meow environment in current shell.
     source $FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh
     # run nechung oracle to give user a new fortune.
     nechung
+    restore_terminal_title
   }
 
   # copies a set of custom scripts into the proper location for feisty meow
   # to merge their functions and aliases with the standard set.
   function recustomize()
   {
-    user="$1"; shift
-    if [ -z "$user" ]; then
+    local custom_user="$1"; shift
+    if [ -z "$custom_user" ]; then
       # use our default example user if there was no name provided.
-      user=fred
+      custom_user=fred
     fi
-    if [ ! -d "$FEISTY_MEOW_APEX/customize/$user" ]; then
-      echo "The customization folder provided for $user should be:"
-      echo "  '$FEISTY_MEOW_APEX/customize/$user'"
+
+    save_terminal_title
+
+    if [ ! -d "$FEISTY_MEOW_SCRIPTS/customize/$custom_user" ]; then
+      echo "The customization folder provided for $custom_user should be:"
+      echo "  '$FEISTY_MEOW_SCRIPTS/customize/$custom_user'"
       echo "but that folder does not exist.  Skipping customization."
       return 1
     fi
     regenerate >/dev/null
     pushd "$FEISTY_MEOW_LOADING_DOCK/custom" &>/dev/null
-    incongruous_files="$(bash "$FEISTY_MEOW_SCRIPTS/files/list_non_dupes.sh" "$FEISTY_MEOW_APEX/customize/$user" "$FEISTY_MEOW_LOADING_DOCK/custom")"
+    incongruous_files="$(bash "$FEISTY_MEOW_SCRIPTS/files/list_non_dupes.sh" "$FEISTY_MEOW_SCRIPTS/customize/$custom_user" "$FEISTY_MEOW_LOADING_DOCK/custom")"
     
     #echo "the incongruous files list is: $incongruous_files"
     # disallow a single character result, since we get "*" as result when nothing exists yet.
@@ -394,15 +405,17 @@ if [ -z "$skip_all" ]; then
       echo
     fi
     popd &>/dev/null
-    echo "copying custom overrides for $user"
+    echo "copying custom overrides for $custom_user"
     mkdir -p "$FEISTY_MEOW_LOADING_DOCK/custom" 2>/dev/null
-    perl "$FEISTY_MEOW_SCRIPTS/text/cpdiff.pl" "$FEISTY_MEOW_APEX/customize/$user" "$FEISTY_MEOW_LOADING_DOCK/custom"
-    if [ -d "$FEISTY_MEOW_APEX/customize/$user/scripts" ]; then
-      echo "copying custom scripts for $user"
-      \cp -R "$FEISTY_MEOW_APEX/customize/$user/scripts" "$FEISTY_MEOW_LOADING_DOCK/custom/"
+    perl "$FEISTY_MEOW_SCRIPTS/text/cpdiff.pl" "$FEISTY_MEOW_SCRIPTS/customize/$custom_user" "$FEISTY_MEOW_LOADING_DOCK/custom"
+    if [ -d "$FEISTY_MEOW_SCRIPTS/customize/$custom_user/scripts" ]; then
+      echo "copying custom scripts for $custom_user"
+      \cp -R "$FEISTY_MEOW_SCRIPTS/customize/$custom_user/scripts" "$FEISTY_MEOW_LOADING_DOCK/custom/"
     fi
     echo
     regenerate
+
+    restore_terminal_title
   }
 
   # generates a random password where the first parameter is the number of characters
@@ -640,6 +653,17 @@ return 0
 
   ##############
 
+#hmmm: this points to an extended functions file being needed; not all of these are core.
+
+  # displays documentation in "md" formatted files.
+  function show_md()
+  {
+    local file="$1"; shift
+    pandoc "$file" | lynx -stdin
+  }
+
+  ##############
+
   # just shows a separator line for an 80 column console, or uses the first
   # parameter as the number of columns to expect.
   function separator()