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
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"
|
|
|