return $?
}
+ ##############
+
# displays the value of a variable in bash friendly format.
function var() {
HOLDIFS="$IFS"
IFS="$HOLDIFS"
}
+ ##############
+
# when passed a list of things, this will return the unique items from that list as an echo.
function uniquify()
{
fi
}
+ ##############
+
function success_sound()
{
if [ ! -z "$CLAM_FINISH_SOUND" ]; 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.
fi
}
+ ##############
+
# wraps secure shell with some parameters we like, most importantly to enable X forwarding.
function ssh()
{
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
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.
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
# 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.
{
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))
# 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