abstracted get_maxcols as new function
authorChris Koeritz <fred@gruntose.com>
Tue, 14 Nov 2017 14:53:07 +0000 (14:53 +0000)
committerChris Koeritz <fred@gruntose.com>
Tue, 14 Nov 2017 14:53:07 +0000 (14:53 +0000)
scripts/core/functions.sh
scripts/core/inventory.sh
scripts/files/remove_here_if_not_there.sh
scripts/rev_control/version_control.sh

index 6797708525179750e9e84c5de98e4b211c44c2de..7068cc9c0a12292a4b413f6613eac2d62f097270 100644 (file)
@@ -49,6 +49,8 @@ if [ -z "$skip_all" ]; then
     return $?
   }
 
+  ##############
+
   # displays the value of a variable in bash friendly format.
   function var() {
     HOLDIFS="$IFS"
@@ -84,6 +86,8 @@ if [ -z "$skip_all" ]; then
     IFS="$HOLDIFS"
   }
 
+  ##############
+
   # when passed a list of things, this will return the unique items from that list as an echo.
   function uniquify()
   {
@@ -104,6 +108,8 @@ if [ -z "$skip_all" ]; then
     fi
   }
 
+  ##############
+
   function success_sound()
   {
     if [ ! -z "$CLAM_FINISH_SOUND" ]; then
@@ -118,6 +124,20 @@ if [ -z "$skip_all" ]; then
     fi
   }
 
+  ##############
+
+  # echoes the maximum number of columns that the terminal supports.  usually
+  # anything you print to the terminal with length less than (but not equal to)
+  # maxcols will never wrap.
+  function get_maxcols()
+  {
+    # calculate the number of columsn in the terminal.
+    local cols=$(stty size | awk '{print $2}')
+    echo $cols
+  }
+
+  ##############
+
   # checks the result of the last command that was run, and if that failed,
   # then this complains and exits from bash.  the function parameters are
   # used as the message to print as a complaint.
@@ -139,6 +159,8 @@ if [ -z "$skip_all" ]; then
     fi
   }
 
+  ##############
+
   # wraps secure shell with some parameters we like, most importantly to enable X forwarding.
   function ssh()
   {
@@ -152,6 +174,8 @@ if [ -z "$skip_all" ]; then
     restore_terminal_title
   }
 
+  ##############
+
   # locates a process given a search pattern to match in the process list.
   # supports a single command line flag style parameter of "-u USERNAME";
   # if the -u flag is found, a username is expected afterwards, and only the
@@ -267,6 +291,9 @@ if [ -z "$skip_all" ]; then
     fi
   }
   
+  ##############
+
+#hmmm: holy crowbars, this is an old one.  do we ever still have any need of it?
   # an unfortunately similarly named function to the above 'ps' as in process
   # methods, but this 'ps' stands for postscript.  this takes a postscript file
   # and converts it into pcl3 printer language and then ships it to the printer.
@@ -280,9 +307,15 @@ if [ -z "$skip_all" ]; then
     done
   }
   
-#  function fix_alsa() {
-#    sudo /etc/init.d/alsasound restart
-#  }
+  # restarts the sound driver.
+  function fix_sound_driver() {
+#if something
+#    sudo service alsasound restart
+#else
+    sudo service pulseaudio restart
+#fi
+
+  }
 
   function screen() {
     save_terminal_title
index eeb77039ad4cacc95c434ceeec771214b76370d3..db33f74cf5b0afddab17b93f6fd0e5b96f3ebaa6 100644 (file)
@@ -38,7 +38,7 @@ fi
 # decide whether they've got splitter available or not.
 if [ -f "$FEISTY_MEOW_BINARIES/splitter" -o -f "$FEISTY_MEOW_BINARIES/splitter.exe" ]; then
   # calculate the number of columsn in the terminal.
-  cols=$(stty size | awk '{print $2}')
+  cols=$(get_maxcols)
   splitter="$FEISTY_MEOW_BINARIES/splitter --maxcol $(($cols - 1))"
 else
   # not available, so just emit as huge overly long string.
index ba0d8dff1fff4d8e37edc929d5612911eb4c72b5..403a0f7c7b11c05bec8a3b6b37b4b0efd0a7b183 100644 (file)
@@ -4,9 +4,8 @@ function print_instructions()
 {
   echo -e "\n$(basename $0 .sh):\n"
 
-#hmmm: extract to a terminal size function.
-# calculate the number of columsn in the terminal.
-cols=$(stty size | awk '{print $2}')
+  # calculate the number of columsn in the terminal.
+  local cols=$(get_maxcols)
 
   echo -e 'this script takes two parameters, a "here" folder and a "there" folder, almost as if it were a copy command.  but instead, this removes any file from under the "here" location if it cannot be found in the "there" location.  so the "there" location is considered a more definitive template of what should be in "here", such that we strip out what "there" does not have.\n\n
 the most" useful way to use this script is for a "here" hierarchy that is a copy of an older version of another "there" hierarchy.  the "there" hierarchy may have changed a lot, including new files, changed files, and deleted files.  it is a simple operation to copy everything from "there" into "here" (such as by using the command [ cp -R "$there"/* "$here" ] ) , but it is a lot harder to determine what stuff in "here" is out of date and should be removed.  that is where this script comes in; it can be run to flush out any older things in "here", rather than requiring the user to manually find all those files.  ' | splitter --maxcol $(($cols - 1))
index 08a9a07c1f0880bb33b07e1eb7cac00fd56f8ad8..e36aaf8ab371e04d3279ffee65b2bf1ce092a4f8 100644 (file)
@@ -17,10 +17,8 @@ export MAX_DEPTH=5
 # use our splitter tool for lengthy output if it's available.
 if [ ! -z "$(which splitter)" ]; then
   TO_SPLITTER="$(which splitter)"
-
-#hmmm: another reusable chunk here, getting terminal size.
   # calculate the number of columsn in the terminal.
-  cols=$(stty size | awk '{print $2}')
+  cols=$(get_maxcols)
   TO_SPLITTER+=" --maxcol $(($cols - 1))"
 else
   TO_SPLITTER=cat