Compare commits

...

2 commits

Author SHA1 Message Date
Bradley M. Kuhn
a8d485a2cd Change acceleration speed on HHKB trackpoint. 2026-03-01 19:27:50 -08:00
Bradley M. Kuhn
277bd298f2 Finally begin the work to separate private & public parts of bashrc 2026-03-01 19:27:30 -08:00
2 changed files with 316 additions and 0 deletions

314
bashrc Normal file
View file

@ -0,0 +1,314 @@
# -*- sh -*-
# Copyright © 1991-2026, Bradley M. Kühn
# License: AGPLv3.0-or-later
HISTSIZE=33554432
HISTFILESIZE=33554432
set histappend=true
umask 077
export LANG="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LC_TIME="en_GB.UTF-8"
export PERL_BADLANG=0
linksopts=""
GPG_TTY=$(tty)
export GPG_TTY
if [ ! -z "$http_proxy" ]; then
export HTTP_PROXY="$http_proxy"
fi
if [ ! -z "$ftp_proxy" ]; then
export FTP_PROXY="$ftp_proxy"
fi
# I will need $HOST later
if [ -z "$HOST" ]; then
HOST=`/bin/hostname`
fi
MY_UID=`id -u`
# Enviornmemnt variables, which really shouldn't be living here but are
# tells cp, mv etc. to do VERSION_CONTROL (if you use the -b option)
export VERSION_CONTROL="numbered"
export CVS_RSH="/usr/bin/ssh"
export EDITOR="/usr/bin/vi"
export VISUAL="/usr/bin/vi"
alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1])"'
alias urldecode='python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])"'
export PAGER="/usr/bin/less"
export LESS="-FXRe"
export MAILER="/usr/bin/mutt"
export TEX4HTINPUTS=/etc/tex4ht
export T4HTINPUTS=/etc/tex4ht
export RT_SUMMARY_FORMAT="%id7%queue7%subject40%requestor16"
if [ -f "/THIS_IS_SID" ]; then
export __THIS_IS_SID=1
fi
if [ `id -u` -eq 0 ]; then
PROMPT_CHAR='#'
export PATH=/bin:/usr/bin:/sbin:/usr/sbin
else
if [ ! -z "$__THIS_IS_SID" ]; then
if [ -z "$UNMODIFIED_PATH" ]; then
UNMODIFIED_PATH=$PATH
fi
export PATH=$HOME/bin:/usr/lib/ccache:${UNMODIFIED_PATH}:~/.local/bin
export PATH=$HOME/bin:/usr/lib/ccache:${UNMODIFIED_PATH}:~/.local/bin
else
export UNMODIFIED_PATH=$PATH
export PATH=HOME/bin:/usr/lib/ccache:${PATH}:~/.local/bin
fi
PROMPT_CHAR='$'
fi
# If running interactively, then:
if [ "$PS1" ]; then
# FIXME: I should patch bash to make this a function
export HISTTIMEFORMAT="%R on %a (%F) "
export HISTCONTROL=ignoreboth
# This is often in /etc/bash.bashrc already, BTW...
if [ -z "$BASH_COMPLETION_VERSINFO" -a -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
INPUTRC="~/.inputrc"
bind -f $INPUTRC
# stty crtscts
# stty -ixon
stty werase undef kill undef stop undef start undef quit undef
FIGNORE=".o:~:#"
# set up special bash variables
set bell-style=visible
# enable color support of ls
eval `dircolors -b ${HOME}/.dircolors`
function dategrok {
if [ ! -z "$2" ]; then
timezone=$2
else
if [ -z "$TZ" ]; then
timezone="US/Pacific"
else
timezone=$TZ
fi
fi
/usr/bin/perl -e 'use Date::Manip; Date_Init("TZ=$ARGV[0]"); $x = ParseDate($ARGV[1]); Date_Init("TZ=$ARGV[3]") if (defined $ARGV[3] and $ARGV[3] !~ /^\s*$/); print UnixDate($x, $ARGV[2]), "\n";' -- "$timezone" "$1" "%a %Y-%m-%d %H:%M:%S %Z%z" "$3"
}
function epoch {
dategrok "epoch $1"
}
alias gco="git checkout"
function ev {
evince "$@" 2>/dev/null
}
alias ls='/bin/ls -Bh --color=auto '
alias ll='/bin/ls -lBh --color=auto '
alias dir="ls -lFhp --color=auto"
alias dirp="dir \!*| less"
function scanletter {
if [ ! -z "$1" ]; then
startOpt="--batch-start=$1"
shift
fi
scanimage $startOpt -d 'hp5590' -x 215.889 -y 279.4 -v -p --batch="page%3.3d.tiff" --wait-for-button=yes --resolution 300 --source 'ADF' --mode Color --format tiff
}
function scanletternofeed {
if [ ! -z "$1" ]; then
startOpt="--batch-start=$1"
shift
fi
scanimage $startOpt -d 'hp5590' -x 215.889 -y 279.4 -v -p --batch="page%3.3d.tiff" --wait-for-button=yes --resolution 300 --source 'Flatbed' --mode Color --format tiff
}
function scanreceiptnofeed {
if [ ! -z "$1" ]; then
startOpt="--batch-start=$1"
shift
fi
scanimage $startOpt -d 'hp5590' -x 215.889 -y 226 -v -p --batch="page%3.3d.tiff" --wait-for-button=yes --resolution 300 --source 'Flatbed' --mode Color --format tiff
}
function scana4 {
if [ ! -z "$1" ]; then
startOpt="--batch-start=$1"
shift
fi
scanimage $startOpt -d 'hp5590' -x 210 -y 297 -v -p --batch="page%3.3d.tiff" --wait-for-button=yes --resolution 300 --source 'ADF' --mode Color --format tiff
}
function scana4nofeeder {
if [ ! -z "$1" ]; then
startOpt="--batch-start=$1"
shift
fi
scanimage $startOpt -d 'hp5590' -x 210 -y 297 -v -p --batch="page%3.3d.tiff" --wait-for-button=yes --resolution 300 --source 'Flatbed' --mode Color --format tiff
}
function colortiffstopdf {
if [ -z "$1" ]; then
output=final.pdf
else
output=$1
fi
for ii in page*.tiff; do
num=`echo $ii | /usr/bin/perl -pe 's/^page(\d+)\.tiff/$1/;'`
tiff2pdf -f -p letter -j $ii -o page${num}.pdf
done
set -x
pdftk page*pdf output $output
set +x
rm page*pdf
}
alias f=finger
alias j=jobs
alias h=history
alias pd=pushd
# force backups
alias cp="cp -b"
alias mv="mv -b"
alias rmtex="rm -f *.log *.dvi *.aux x.ps *.bak *.blg *.bbl *.idx *.ing *.ilg *.ind *.toc"
alias sq="ssh localhost -p 2222"
function supernice {
set -x
for i in $*; do
renice 19 $i
ionice -c3 -p $i
done
set +x
}
function xtermSetTitleBar {
if [ -z "$OVERRIDE_XTERM_TITLE" ]; then
$BKUHN_HOME/bin/xtermChangeName -t "${PROMPT_LEAD}:$abbrevPWD" -i $HOST
fi
}
function overrideTitleBar {
export OVERRIDE_XTERM_TITLE="$*"
$BKUHN_HOME/bin/xtermChangeName -t $* -i $HOST
}
function restoreTitleBar {
export OVERRIDE_XTERM_TITLE=
}
LAST_HISTORY_WRITE=$SECONDS
DEFAULT_PROMPT_PWD_LENGTH=35
function prompt_command {
if [ $(($SECONDS - $LAST_HISTORY_WRITE)) -gt 300 ]; then
history -a
LAST_HISTORY_WRITE=$SECONDS
fi
# quick check to see if we need compute abbrevPWD again
if [ "$LAST_CACHE_PWD" == "$PWD" ]; then
return
fi
local resizableTerm
if [ $TERM == "xterm" -o $TERM == "xterm-color" ]; then
resizableTerm=$TERM
fi
if [ -z "$resizableTerm" -o ! -x /bin/stty ]; then
PROMPT_PWD_LENGTH=$DEFAULT_PROMPT_PWD_LENGTH
else
local cols
cols=`/bin/stty -a | /usr/bin/perl -ne 'print if s/^.*;\s+columns\s+(\d+)\s*;.*$/$1/';`
PROMPT_PWD_LENGTH=$[$cols/3]
fi
LAST_CACHE_PWD=$PWD
echo $LAST_CACHE_PWD | /bin/grep "^$HOME" >> /dev/null
if [ $? -eq 0 ]; then
PROMPT_PWD_LENGTH=$(($PROMPT_PWD_LENGTH - 2))
abbrevPWD=`echo $LAST_CACHE_PWD | awk -F$HOME '{print $2}'`
if [ $(echo -n $abbrevPWD | wc -c | tr -d " ") -gt $PROMPT_PWD_LENGTH ]; then
abbrevPWD="@@$(echo -n $abbrevPWD | sed -e "s/.*\(.\{$PROMPT_PWD_LENGTH\}\)/\1/")"
abbrevPWD="~/...$(echo -n $abbrevPWD | sed -e "s/@@[^\/]*\(.*\)/\1/")"
else
abbrevPWD="~$abbrevPWD"
fi
elif [ "$LAST_CACHE_PWD" == "$HOME" ]; then
abbrevPWD="~"
elif [ $(echo -n $PWD | wc -c | tr -d " ") -gt $PROMPT_PWD_LENGTH ]; then
abbrevPWD="@@$(echo -n $PWD | sed -e "s/.*\(.\{$PROMPT_PWD_LENGTH\}\)/\1/")"
abbrevPWD="...$(echo -n $abbrevPWD | sed -e "s/@@[^\/]*\(.*\)/\1/")"
else
abbrevPWD="$(echo -n $PWD)"
fi
# Next if handles case where last dir is longer than PROMPT_PWD_LENGTH, just use the
# last dir.
if [ $abbrevPWD == "~/..." -o $abbrevPWD == "..." ]; then
abbrevPWD="$(echo -n $LAST_CACHE_PWD | /usr/bin/perl -pe 's%^.*/([^/]+)%.../$1%;')"
fi
if [ ! -z "$resizableTerm" ]; then
xtermSetTitleBar
fi
}
PROMPT_COMMAND=prompt_command
function wh {
ps auxww | /bin/grep -F $*
}
function latexps {
local fileBase sourceFile psFile dvipsOpts
# Find the file base from $1 -- it could be a latex or tex file
fileBase=`basename "$1" .latex`
if [ "$fileBase" == "$1" ]; then
fileBase=`basename "$fileBase" .tex`
if [ "$fileBase" == "$1" ]; then
fileBase=`basename "$fileBase" .`
fi
fi
# $2 will be the name of the Postscript file, otherwise it's x.ps
if [ -z "$2" ]; then
psFile="x.ps"
else
psFile="$2"
fi
# $3 is options to dvips if it is there, otherwise, -t letter is used
if [ -z "$2" ]; then
dvipsOpts="-t letter"
else
dvipsOpts="$3"
fi
if [ -f "${fileBase}.latex" ]; then
sourceFile="${fileBase}.latex"
elif [ -f "${fileBase}.tex" ]; then
sourceFile="${fileBase}.tex"
else
echo "latexps: no LaTeX file matching your input: \"$1\""
return 1
fi
latex $sourceFile
makeindex $fileBase
dvips $dvipsOpts "${fileBase}.dvi" -o $psFile
}
fi
trap - INT TERM EXIT

View file

@ -21,5 +21,7 @@ fi
chmod 640 $HOME/.Xauthority
/usr/bin/xinput --set-prop "HHKB-Studio1 Mouse" 'libinput Accel Speed' -0.80
export GDK_USE_XFT=1
export QT_XFT=1