You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

313 lines
7.1 KiB

function big-chromium () {
chromium --force-device-scale-factor=$1
}
function big-new-chromium () {
chromium-snapshot-bin --force-device-scale-factor=$1
}
# make xclip work as I would expect. Copy to clipboard if piped data. Paste from otherwise
function clip(){
if command -v /usr/bin/xclip 1>/dev/null; then
if [[ -p /dev/stdin ]] ; then
# stdin is a pipe
# stdin -> clipboard
/usr/bin/xclip -i -selection clipboard
else
# stdin is not a pipe
# clipboard -> stdout
/usr/bin/xclip -o -selection clipboard
fi
else
echo "Remember to install xclip"
fi
}
#Swap two files
function swap() {
mv $1 $1._tmp;
mv $2 $1;
mv $1._tmp $2;
}
function old() {
mv "$1" "$1.old"
}
function mycd() {
cd "$@" 2> /dev/null
if [ $? = 0 ]; then
# If we get here cd was successful
#if [ ! $TMUX ]; then
# pwd > ~/.current-folder
#fi
ls
else
# If we get here, cd was not successful
if [ -f "$1" ]; then
$EDITOR "$1"
else
echo "Can't cd"
fi
fi
updatePath
}
alias cd="mycd"
function mkcd() {
mkdir -p "$1"
cd "$1"
}
function createLetter(){
if [ "$1" ]; then
if [ "$2" ]; then
newFile="$2"
else
newFile="$1"
newFile="${newFile%.*}.pdf"
fi
pandoc --template template-letter.tex $1 -o $newFile
else
echo "Oops. You need to suply a file"
return 1
fi
}
function createFPLreport(){
if [ "$1" ]; then
if [ "$2" ]; then
newFile="$2"
else
newFile="$1"
newFile="${newFile%.*}.pdf"
fi
pandoc --template fellowship.latex --listings --highlight-style=pygments --pdf-engine=xelatex $1 -o $newFile
else
echo "Oops. You need to suply a file"
return 1
fi
}
#Takes you to the parent theme
function ptheme() {
public_html=${${PWD%/public_html*}%/wiki*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
domain="$(basename $(dirname $public_html ) ).local.jh"
theme=$(dirname $(wp --path="$wpPath" --url="$domain" theme path $(wp --path="$wpPath" --url="$domain" theme list 2> /dev/null | grep "parent" | awk '{print $1}') 2> /dev/null ))
if [ -d $theme ]; then
if [ -d "$theme" ]; then
cd $theme
else
echo " Can't find theme folder "
fi
else
echo " Can't find theme folder "
fi
else
echo " Can't find public_html folder."
fi
}
#Takes you to the child theme
function theme() {
if [ ! -z "$1" ]; then
ctheme=$(getthemepath "$1" 2> /dev/null)
else
ctheme=$(getthemepath 2> /dev/null)
fi
if [ ! -z "$ctheme" ]; then
cd $ctheme
fi
}
#Takes you to the js folder child theme
function js() {
ctheme=$(getthemepath)
if [ ! -z "$ctheme" ]; then
cd $ctheme/js
fi
}
#Takes you to the css folder child theme
function css() {
ctheme=$(getthemepath)
if [ ! -z "$ctheme" ]; then
cd $ctheme/css
fi
}
#Takes you to the plugin directory
function plugins() {
public_html=${${PWD%/public_html*}%/wiki*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
cd $(wp --path="$wpPath" plugin path)
else
echo " Can't find public_html folder."
fi
}
#Takes you to the woocommece plugin directory
function woo() {
public_html=${${PWD%/public_html*}%/wiki*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
cd $(dirname $(wp --path="$wpPath" plugin path woocommerce))
else
echo " Can't find public_html folder."
fi
}
#Takes you to the woocommerce templates plugin directory
function wooTemplates() {
public_html=${${PWD%/public_html*}%/wiki*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
cd $(dirname $(wp --path="$wpPath" plugin path woocommerce))/templates
else
echo " Can't find public_html folder."
fi
}
#Takes you to the theme directory
function themes() {
public_html=${${PWD%/public_html*}%/wiki*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
cd $(wp --path="$wpPath" theme path)
else
echo " Can't find public_html folder."
fi
}
function todo() {
wikidir=${${PWD%/public_html*}%/wiki*}/wiki
if [ -d "$wikidir" ]; then
$EDITOR "$wikidir/ToDo.md"
fi
}
#This function toggles debug in wp-config
function debugToggle(){
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
current=$(egrep "'WP_DEBUG'" "$public_html/wp-config.php" | egrep -o "(true|false)")
[[ $current == true ]] && newvalue=false || newvalue=true
sed -i "s/'WP_DEBUG'.*/'WP_DEBUG', $newvalue\)\;/g" "$public_html/wp-config.php"
echo "WP_DEBUG is now $newvalue";
fi
}
# Adds sub folders in by .bin directory to the PATH if they are not already in it
# Also adds .bin to the path adjacent to any public_html folder
function updatePath(){
# Reset the path
PATH=$(echo $PATH | sed -E "s/:\/home\/jonathan\/\.bin\/.*//g")
for d in ~/.bin/*/; do
if [[ :$PATH: != *:"$d":* ]] ; then
PATH+=":$d"
fi
done
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
PATH+=":${PWD%/public_html*}/.bin"
fi
}
function reset_colourscheme(){
if [ -L $HOME/.dotfiles/shells/zsh/current-color-scheme ]; then
source $HOME/.dotfiles/shells/zsh/current-color-scheme
fi
exit 2
}
function ssh(){
if [ -L $HOME/.dotfiles/shells/zsh/ssh-color-scheme ]; then
source $HOME/.dotfiles/shells/zsh/ssh-color-scheme
fi
trap "reset_colourscheme" 2
command /usr/bin/ssh "$@"
if [ -L $HOME/.dotfiles/shells/zsh/current-color-scheme ]; then
source $HOME/.dotfiles/shells/zsh/current-color-scheme
fi
}
function proxy_on() {
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
if (( $# > 0 )); then
valid=$(echo $@ | sed -n 's/\([0-9]\{1,3\}.\?\)\{4\}:\([0-9]\+\)/&/p')
if [[ $valid != $@ ]]; then
>&2 echo "Invalid address"
return 1
fi
local proxy=$1
export http_proxy="$proxy" \
https_proxy=$proxy \
ftp_proxy=$proxy \
rsync_proxy=$proxy
echo "Proxy environment variable set."
return 0
fi
echo -n "username: "; read username
if [[ $username != "" ]]; then
echo -n "password: "
read -es password
local pre="$username:$password@"
fi
echo -n "server: "; read server
echo -n "port: "; read port
local proxy=$pre$server:$port
export http_proxy="$proxy" \
https_proxy=$proxy \
ftp_proxy=$proxy \
rsync_proxy=$proxy \
HTTP_PROXY=$proxy \
HTTPS_PROXY=$proxy \
FTP_PROXY=$proxy \
RSYNC_PROXY=$proxy
}
function proxy_off(){
unset http_proxy https_proxy ftp_proxy rsync_proxy \
HTTP_PROXY HTTPS_PROXY FTP_PROXY RSYNC_PROXY
echo -e "Proxy environment variable removed."
}
function man(){
MAN="/usr/bin/man"
if [ -n "$1" ]; then
$MAN "$@"
return $?
else
$MAN -k . | fzf --reverse --preview="echo {1,2} | sed 's/ (/./' | sed -E 's/\)\s*$//' | xargs $MAN" | awk '{print $1 "." $2}' | tr -d '()' | xargs -r "$MAN"
return $?
fi
}
#alias man="myman"