diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2016-12-17 20:39:51 +1300 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2016-12-17 20:39:51 +1300 |
commit | 7be75f06975d7b90792400a2f0d9235e03fa9596 (patch) | |
tree | b6f446b4d70798a1d173333412042803fc4dd007 | |
parent | Merge branch 'master' into openbsd (diff) | |
parent | Still improving ksh-guessing heuristics (diff) | |
download | dotfiles-7be75f06975d7b90792400a2f0d9235e03fa9596.tar.gz dotfiles-7be75f06975d7b90792400a2f0d9235e03fa9596.zip |
Merge branch 'master' into openbsd
-rw-r--r-- | ISSUES.markdown | 10 | ||||
-rw-r--r-- | Makefile | 28 | ||||
-rw-r--r-- | README.markdown | 16 | ||||
-rw-r--r-- | X/xinitrc | 37 | ||||
-rw-r--r-- | X/xinitrc.d/browser.sh | 4 | ||||
-rw-r--r-- | X/xinitrc.d/dunst.sh | 3 | ||||
-rw-r--r-- | X/xinitrc.d/mpdlrc.sh | 3 | ||||
-rw-r--r-- | X/xinitrc.d/redshift.sh | 3 | ||||
-rw-r--r-- | X/xinitrc.d/ssh.sh | 4 | ||||
-rw-r--r-- | X/xinitrc.d/urxvt.sh | 3 | ||||
-rw-r--r-- | X/xinitrc.d/xbackground.sh | 3 | ||||
-rw-r--r-- | X/xinitrc.d/xbindkeys.sh | 3 | ||||
-rw-r--r-- | X/xinitrc.d/xkb.sh | 5 | ||||
-rwxr-xr-x | bin/cf | 32 | ||||
-rwxr-xr-x | bin/cfr | 34 | ||||
-rwxr-xr-x | bin/xrbg | 4 | ||||
-rwxr-xr-x | check/ksh | 6 | ||||
-rwxr-xr-x | check/pdksh | 6 | ||||
-rw-r--r-- | ksh/kshrc (renamed from pdksh/pdkshrc) | 8 | ||||
-rw-r--r-- | ksh/kshrc.d/prompt.ksh (renamed from pdksh/pdkshrc.d/prompt.pdksh) | 41 | ||||
-rw-r--r-- | ksh/shrc.d/ksh.sh | 37 | ||||
-rwxr-xr-x | lint/ksh | 2 | ||||
-rwxr-xr-x | lint/pdksh | 2 | ||||
-rw-r--r-- | man/man1/rnds.1df | 1 | ||||
-rw-r--r-- | man/man1/xrbg.1df | 19 | ||||
-rw-r--r-- | sh/shrc | 3 | ||||
-rw-r--r-- | sh/shrc.d/ksh.sh | 10 | ||||
-rw-r--r-- | vim/after/ftdetect/sh.vim | 2 | ||||
-rw-r--r-- | zsh/zshrc.d/prompt.zsh | 2 |
29 files changed, 171 insertions, 160 deletions
diff --git a/ISSUES.markdown b/ISSUES.markdown index 6808fab3..19375c83 100644 --- a/ISSUES.markdown +++ b/ISSUES.markdown @@ -15,12 +15,6 @@ Known issues * A key binding for importing sections of the screen and optionally uploading it would be great, probably using ImageMagick import(1) * sxhkd(1) might be nicer than xbindkeys; it's in Debian Testing now -* xrbg(1) is likely redundant: - - 13:31:51 <tejr> i pick a random one on startup with a little script - 13:32:41 <cosarara> I run this on startup http://sprunge.us/JFCL - 13:33:06 <tejr> haha i didn't even know about --randomize - 13:33:14 <tejr> p sure that makes my script redundant actually - 13:33:32 <tejr> yep it does - * dr(1df) is probably more practical in awk +* How come commands I fix with the fc builtin always seem to exit 1 even if + they succeed? Did I do that or is it Bash? @@ -23,7 +23,7 @@ install-ncmcpp \ install-newsbeuter \ install-mysql \ - install-pdksh \ + install-ksh \ install-perlcritic \ install-perltidy \ install-psql \ @@ -46,7 +46,7 @@ check-bash \ check-bin \ check-games \ - check-pdksh \ + check-ksh \ check-sh \ check-urxvt \ check-yash \ @@ -54,7 +54,7 @@ lint-bash \ lint-bin \ lint-games \ - lint-pdksh \ + lint-ksh \ lint-yash \ lint-sh \ lint-urxvt @@ -290,11 +290,13 @@ install-newsbeuter : install-mysql : install -pm 0644 -- mysql/my.cnf "$(HOME)"/.my.cnf -install-pdksh : check-pdksh install-sh +install-ksh : check-ksh install-sh install -m 0755 -d -- \ - "$(HOME)"/.pdkshrc.d - install -pm 0644 -- pdksh/pdkshrc "$(HOME)"/.pdkshrc - install -pm 0644 -- pdksh/pdkshrc.d/* "$(HOME)"/.pdkshrc.d + "$(HOME)"/.shrc.d \ + "$(HOME)"/.kshrc.d + install -pm 0644 -- ksh/shrc.d/* "$(HOME)"/.shrc.d + install -pm 0644 -- ksh/kshrc "$(HOME)"/.kshrc + install -pm 0644 -- ksh/kshrc.d/* "$(HOME)"/.kshrc.d install-perlcritic : install -pm 0644 -- perlcritic/perlcriticrc "$(HOME)"/.perlcriticrc @@ -371,10 +373,12 @@ install-wyrd : install-x : install -m 0755 -d -- \ "$(HOME)"/.config \ + "$(HOME)"/.xinitrc.d \ "$(HOME)"/.Xresources.d install -pm 0644 -- X/redshift.conf "$(HOME)"/.config/redshift.conf install -pm 0644 -- X/xbindkeysrc "$(HOME)"/.xbindkeysrc install -pm 0644 -- X/xinitrc "$(HOME)"/.xinitrc + install -pm 0644 -- X/xinitrc.d/* "$(HOME)"/.xinitrc.d install -pm 0644 -- X/Xresources "$(HOME)"/.Xresources install -pm 0644 -- X/Xresources.d/* "$(HOME)"/.Xresources.d @@ -407,8 +411,8 @@ check-games : check-man : check/man -check-pdksh : - check/pdksh +check-ksh : + check/ksh check-sh : check/sh @@ -423,7 +427,7 @@ lint : check \ lint-bash \ lint-bin \ lint-games \ - lint-pdksh \ + lint-ksh \ lint-sh \ lint-urxvt \ lint-yash @@ -437,8 +441,8 @@ lint-bin : lint-games : lint/games -lint-pdksh : - lint/pdksh +lint-ksh : + lint/ksh lint-sh : lint/sh diff --git a/README.markdown b/README.markdown index f4c73817..fb517bad 100644 --- a/README.markdown +++ b/README.markdown @@ -53,13 +53,12 @@ Configuration is included for: * [GTK+](http://www.gtk.org/) -- GIMP Toolkit, for graphical user interface elements * [i3](https://i3wm.org/) -- Tiling window manager +* [Korn shell](http://www.kornshell.com/) -- Korn shell and its derivatives * [less](https://www.gnu.org/software/less/) -- Terminal pager * [Mutt](http://www.mutt.org/) -- Terminal mail user agent * [`mysql(1)`](http://linux.die.net/man/1/mysql) -- Command-line MySQL client * [Ncmpcpp](https://rybczak.net/ncmpcpp/) -- ncurses music player client * [Newsbeuter](https://www.newsbeuter.org/) -- Terminal RSS/Atom feed reader -* [`pdksh(1)`](http://www.cs.mun.ca/~michael/pdksh/) -- public domain fork - of the Korn shell * [`psql(1)`](http://linux.die.net/man/1/psql) -- Command-line PostgreSQL client * [Perl::Critic](http://perlcritic.com/) -- static source code analysis @@ -254,12 +253,13 @@ I also add completions for my own scripts and functions where useful. The completions are dynamically loaded if Bash is version 4.0 or greater. Otherwise, they're all loaded on startup. -#### pdksh +#### Korn shell -The pdksh configuration files and functions are not nearly as featureful as the -Bash ones. They're tested on OpenBSD and FreeBSD pdksh implementations, but the -former is the primary system for which I'm maintaining them, and there are some -feature differences. +These are experimental; they are mostly used to tinker with MirBSD `mksh`, AT&T +`ksh93`, and OpenBSD `pdksh`. + +`ksh`, `ksh93`, `pdksh`, and `mksh` shells default to having a prompt coloured +yellow. #### Yash @@ -270,6 +270,8 @@ Just enough configuration to coax it into reading `~/.profile` and `~/.shrc`. These are experimental; I do not like Zsh much at the moment. The files started as a joke (`exec bash`). +`zsh` shells default to having a prompt coloured cyan. + ### GnuPG The configuration for GnuPG is intended to follow [RiseUp's OpenPGP best @@ -1,41 +1,14 @@ -# Browser within X is Firefox -BROWSER=firefox -export BROWSER - -# Set SSH_ASKPASS if we can find one -if command -v ssh-askpass >/dev/null 2>&1 ; then - SSH_ASKPASS=$(command -v ssh-askpass) - export SSH_ASKPASS -fi - # Read X resources xrdb "$HOME"/.Xresources # Faster mouse acceleration with a natural threshold xset m 5/2 0 -# Start dunst(1) to display libnotify messages -dunst & - -# Start mpdlrc-notify-send <https://sanctum.geek.nz/cgit/mpdlrc.git/about/> -mpdlrc-notify-send & - -# Start redshift(1) -redshift & - -# Map Caps Lock as a Ctrl key, use right alt as Compose, kill X server with -# Ctrl+Alt+Backspace -# <https://en.wikipedia.org/wiki/Compose_key#Common_compose_combinations> -setxkbmap -option compose:ralt,ctrl:nocaps,terminate:ctrl_alt_bksp - -# Start urxvtd(1) -urxvtd -o -q & - -# Start xbindkeys(1) -xbindkeys -n & - -# Apply a random background image -xrbg +# Load all supplementary scripts in ~/.xinitrc.d +for sh in "$HOME"/.xinitrc.d/*.sh ; do + [ -e "$sh" ] && . "$sh" +done +unset -v sh # Start window manager exec i3 diff --git a/X/xinitrc.d/browser.sh b/X/xinitrc.d/browser.sh new file mode 100644 index 00000000..cdb9b8c0 --- /dev/null +++ b/X/xinitrc.d/browser.sh @@ -0,0 +1,4 @@ +# Browser within X is Firefox +command -v firefox >/dev/null 2>&1 || return +BROWSER=firefox +export BROWSER diff --git a/X/xinitrc.d/dunst.sh b/X/xinitrc.d/dunst.sh new file mode 100644 index 00000000..bddaa1fe --- /dev/null +++ b/X/xinitrc.d/dunst.sh @@ -0,0 +1,3 @@ +# Start dunst(1) to display libnotify messages +command -v dunst >/dev/null 2>&1 || return +dunst & diff --git a/X/xinitrc.d/mpdlrc.sh b/X/xinitrc.d/mpdlrc.sh new file mode 100644 index 00000000..98f2d92a --- /dev/null +++ b/X/xinitrc.d/mpdlrc.sh @@ -0,0 +1,3 @@ +# Start mpdlrc-notify-send <https://sanctum.geek.nz/cgit/mpdlrc.git/about/> +command -v mpdlrc-notify-send >/dev/null 2>&1 || return +mpdlrc-notify-send & diff --git a/X/xinitrc.d/redshift.sh b/X/xinitrc.d/redshift.sh new file mode 100644 index 00000000..d5d58d8a --- /dev/null +++ b/X/xinitrc.d/redshift.sh @@ -0,0 +1,3 @@ +# Start redshift(1) +command -v redshift >/dev/null 2>&1 || return +redshift & diff --git a/X/xinitrc.d/ssh.sh b/X/xinitrc.d/ssh.sh new file mode 100644 index 00000000..005743fe --- /dev/null +++ b/X/xinitrc.d/ssh.sh @@ -0,0 +1,4 @@ +# Set SSH_ASKPASS if we can find one +command -v ssh-askpass >/dev/null 2>&1 || return +SSH_ASKPASS=$(command -v ssh-askpass) +export SSH_ASKPASS diff --git a/X/xinitrc.d/urxvt.sh b/X/xinitrc.d/urxvt.sh new file mode 100644 index 00000000..a5eb0940 --- /dev/null +++ b/X/xinitrc.d/urxvt.sh @@ -0,0 +1,3 @@ +# Start urxvtd(1) +command -v urxvtd >/dev/null 2>&1 || return +urxvtd -o -q & diff --git a/X/xinitrc.d/xbackground.sh b/X/xinitrc.d/xbackground.sh new file mode 100644 index 00000000..7f2bc8c3 --- /dev/null +++ b/X/xinitrc.d/xbackground.sh @@ -0,0 +1,3 @@ +# Apply a random background image +command -v feh >/dev/null 2>&1 || return +feh --bg-scale --no-fehbg --randomize -- "${XBACKGROUNDS:-"$HOME"/.xbackgrounds}" diff --git a/X/xinitrc.d/xbindkeys.sh b/X/xinitrc.d/xbindkeys.sh new file mode 100644 index 00000000..a21bd995 --- /dev/null +++ b/X/xinitrc.d/xbindkeys.sh @@ -0,0 +1,3 @@ +# Start xbindkeys(1) +command -v xbindkeys >/dev/null 2>&1 || return +xbindkeys -n & diff --git a/X/xinitrc.d/xkb.sh b/X/xinitrc.d/xkb.sh new file mode 100644 index 00000000..a5142398 --- /dev/null +++ b/X/xinitrc.d/xkb.sh @@ -0,0 +1,5 @@ +# Map Caps Lock as a Ctrl key, use right alt as Compose, kill X server with +# Ctrl+Alt+Backspace +# <https://en.wikipedia.org/wiki/Compose_key#Common_compose_combinations> +command -v setxkbmap >/dev/null 2>&1 || return +setxkbmap -option compose:ralt,ctrl:nocaps,terminate:ctrl_alt_bksp @@ -5,32 +5,20 @@ # directory if none given for dir in "${@:-.}" ; do - # Strip a trailing slash - dir=${dir%/} + # Attempt to count the files in a subshell + if count=$( + cd -- "$dir" || exit + find . ! -name . -prune -exec printf %.sx {} + | + wc -c + ) ; then - # If the path is not absolute or already pre-dotted, tack a ./ to - # the front so that find(1) doesn't choke; otherwise juse use it - # as-is - case $dir in - /*|./*) fdir=$dir ;; - *) fdir=./$dir ;; - esac + # If it worked, print the count + printf '%u\t%s\n' "$count" "$dir" + else - # Warn if a non-directory was given, flag errors, but continue - if ! [ -d "$dir" ] ; then - printf >&2 'cf: %s: not a directory\n' "$dir" + # If not, set the error flag and continue ex=1 - continue fi - - # Count the files - count=$( - find "$fdir" -path "$fdir"'/*' -prune -exec printf %.sx {} + | - wc -c - ) - - # Print the count and the dirname - printf '%u\t%s\n' "$count" "$dir" done # Exit non-zero if a non-directory was given as an argument @@ -1,36 +1,24 @@ #!/bin/sh -# Count all descendants of given directories; don't follow symlinks +# Count entries in a given set of directories # Iterate over remaining non-option arguments (directories); default to current # directory if none given for dir in "${@:-.}" ; do - # Strip a trailing slash - dir=${dir%/} + # Attempt to count the files in a subshell + if count=$( + cd -- "$dir" || exit + find . ! -name . -exec printf %.sx {} + | + wc -c + ) ; then - # If the path is not absolute or already pre-dotted, tack a ./ to - # the front so that find(1) doesn't choke; otherwise juse use it - # as-is - case $dir in - /*|./*) fdir=$dir ;; - *) fdir=./$dir ;; - esac + # If it worked, print the count + printf '%u\t%s\n' "$count" "$dir" + else - # Warn if a non-directory was given, flag errors, but continue - if ! [ -d "$dir" ] ; then - printf >&2 'cfr: %s: Not a directory\n' "$dir" + # If not, set the error flag and continue ex=1 - continue fi - - # Count the files recursively - count=$( - find "$fdir" -path "$fdir"'/*' -exec printf %.sx {} + | - wc -c - ) - - # Print the count and the dirname - printf '%u\t%s\n' "$count" "$dir" done # Exit non-zero if a non-directory was given as an argument diff --git a/bin/xrbg b/bin/xrbg deleted file mode 100755 index 801bf078..00000000 --- a/bin/xrbg +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Apply a random background image. Requires rndf(1df) and feh(1). -bg=$(rndf "${XBACKGROUNDS:-"$HOME"/.xbackgrounds}") || exit -feh --bg-scale --no-fehbg -- "$bg" diff --git a/check/ksh b/check/ksh new file mode 100755 index 00000000..3136c413 --- /dev/null +++ b/check/ksh @@ -0,0 +1,6 @@ +#!/bin/sh +for ksh in ksh/* ksh/kshrc.d/* ; do + [ -f "$ksh" ] || continue + ksh -n "$ksh" || exit +done +printf 'All ksh scripts parsed successfully.\n' diff --git a/check/pdksh b/check/pdksh deleted file mode 100755 index fd1d55b7..00000000 --- a/check/pdksh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -for pdksh in pdksh/* pdksh/pdkshrc.d/* ; do - [ -f "$pdksh" ] || continue - ksh -n "$pdksh" || exit -done -printf 'All pdksh scripts parsed successfully.\n' diff --git a/pdksh/pdkshrc b/ksh/kshrc index 48799c2e..cf7812d6 100644 --- a/pdksh/pdkshrc +++ b/ksh/kshrc @@ -3,11 +3,11 @@ set -o braceexpand set -o emacs # Save history -HISTFILE=$HOME/.pdksh_history +HISTFILE=$HOME/.ksh_history HISTSIZE=$((1 << 10)) # Load any supplementary scripts -for pdkshrc in "$HOME"/.pdkshrc.d/*.pdksh ; do - [[ -e $pdkshrc ]] && . "$pdkshrc" +for kshrc in "$HOME"/.kshrc.d/*.ksh ; do + [[ -e $kshrc ]] && . "$kshrc" done -unset -v pdkshrc +unset -v kshrc diff --git a/pdksh/pdkshrc.d/prompt.pdksh b/ksh/kshrc.d/prompt.ksh index 63e965f9..942868a5 100644 --- a/pdksh/pdkshrc.d/prompt.pdksh +++ b/ksh/kshrc.d/prompt.ksh @@ -1,6 +1,3 @@ -# All of this is only known to work on OpenBSD's fork of pdksh -[[ $(uname -s) == OpenBSD ]] || return - # Frontend to controlling prompt prompt() { @@ -18,12 +15,19 @@ prompt() { # Basic prompt shape depends on whether we're in SSH or not PS1= if [[ -n $SSH_CLIENT ]] || [[ -n $SSH_CONNECTION ]] ; then - PS1=$PS1'\u@\h:' + PS1=$PS1'$USER@${HOSTNAME%%.*}:' fi - PS1=$PS1'\w' - # Add sub-commands; VCS, job, and return status checks - PS1=$PS1'$(prompt vcs)$(prompt job)$(prompt ret "$?")' + # Add sub-commands; working directory with ~ abbreviation, VCS, + # job, and return status checks + PS1=$PS1'$(prompt pwd)$(prompt vcs)$(prompt job)' + + # If this is PDKSH, add the exit code of the previous command; this + # doesn't seem to work on ksh93, probably different timing for when + # $? is set + case $KSH_VERSION in + *'PD KSH'*) PS1=$PS1'$(prompt ret "$?")' + esac # Add prefix and suffix PS1='${PROMPT_PREFIX}'$PS1'${PROMPT_SUFFIX}' @@ -31,6 +35,17 @@ prompt() { # Add terminating "$" or "#" sign PS1=$PS1'\$' + # Add > signs at the front of the prompt to show the current shell + # level, taking tmux sessions into account, assuming this version + # of ksh does SHLVL; I think only ksh93t+ does it from what I can + # tell + typeset shlvl + ((shlvl = SHLVL - TMUX_SHLVL)) + while ((shlvl > 1)); do + PS1='>'$PS1 + ((shlvl--)) + done + # Declare variables to contain terminal control strings typeset format reset @@ -70,7 +85,7 @@ prompt() { } >/dev/null 2>&1 # String it all together - PS1='\['"$format"'\]'"$PS1"'\['"$reset"'\] ' + PS1="${format}${PS1}${reset}"' ' PS2='> ' PS3='? ' PS4='+<$?> $LINENO:' @@ -159,6 +174,14 @@ prompt() { PS4='+ ' ;; + # Abbreviated working directory + pwd) + case $PWD in + "$HOME"|"$HOME"/*) printf ~%s "${PWD#"$HOME"}" ;; + *) printf %s "$PWD" ;; + esac + ;; + # VCS wrapper prompt function; print the first relevant prompt, if any vcs) typeset vcs @@ -169,7 +192,7 @@ prompt() { # Show return status of previous command in angle brackets, if not zero ret) - local ret=$2 + typeset ret=$2 ((ret)) && printf '<%u>' "$ret" ;; diff --git a/ksh/shrc.d/ksh.sh b/ksh/shrc.d/ksh.sh new file mode 100644 index 00000000..0045a470 --- /dev/null +++ b/ksh/shrc.d/ksh.sh @@ -0,0 +1,37 @@ +# If we're running some kind of ksh, we'll need to source its specific +# configuration if it was defined or if we can find it. Bash and Zsh invoke +# their own rc files first, which I've written to then look for ~/.shrc; ksh +# does it the other way around. + +# Unfortunately, this isn't very simple, because KSH_VERSION is set by PDKSH +# and derivatives, and in ksh93t+ and above, but not in earlier versions of +# ksh93. To make matters worse, the best way I can find for testing the version +# makes other shells throw tantrums. + +# Does the name of our shell have "ksh" in it at all? This is in no way +# guaranteed. It's just a heuristic that e.g. Bash and Yash shouldn't pass. +case $0 in + *ksh*) ;; + *) return ;; +esac + +# If KSH_VERSION is not already set, we'll try hard to set it to something +# before we proceed ... +if [ -z "$KSH_VERSION" ] ; then + + # Test whether we have content in the .sh.version variable. Suppress errors + # and run it in a subshell to work around parsing error precedence. + ( test -n "${.sh.version}" ) 2>/dev/null || return + + # If that peculiarly named variable was set, then that's our KSH_VERSION + KSH_VERSION=${.sh.version} +fi + +# If KSH_ENV isn't already set, set it +[ -n "$KSH_ENV" ] || KSH_ENV=$HOME/.kshrc + +# Check the file named in KSH_ENV exists +[ -f "$KSH_ENV" ] || return + +# Source it (finally) +. "$KSH_ENV" diff --git a/lint/ksh b/lint/ksh new file mode 100755 index 00000000..5c5445fc --- /dev/null +++ b/lint/ksh @@ -0,0 +1,2 @@ +#!/bin/sh +find ksh -type f -print -exec shellcheck -e SC1090 -s ksh -- {} \; diff --git a/lint/pdksh b/lint/pdksh deleted file mode 100755 index 03745b3d..00000000 --- a/lint/pdksh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -find pdksh -type f -print -exec shellcheck -e SC1090 -s ksh -- {} \; diff --git a/man/man1/rnds.1df b/man/man1/rnds.1df index 04e905d7..0a4dbc15 100644 --- a/man/man1/rnds.1df +++ b/man/man1/rnds.1df @@ -4,6 +4,7 @@ \- try to get a random seed .SH SYNOPSIS .B rnds +.br .B rnds 1024 .SH DESCRIPTION diff --git a/man/man1/xrbg.1df b/man/man1/xrbg.1df deleted file mode 100644 index 481c9185..00000000 --- a/man/man1/xrbg.1df +++ /dev/null @@ -1,19 +0,0 @@ -.TH XRBG 1df "March 2016" "Manual page for xrbg" -.SH NAME -.B xrbg -\- apply a random X background image with feh(1) -.SH SYNOPSIS -.B xrbg -.br -XBACKGROUNDS=/path/to/images -.B xrbg -.SH DESCRIPTION -.B xrbg -searches for images in the directory named in the XBACKGROUNDS environment -variable (defaults to ~/.xbackgrounds), chooses a random one with rndf(1df), -and applies it with feh(1). It's designed for use in ~/.xinitrc, but it seems -to work when called manually from within an X session too. -.SH SEE ALSO -feh(1), rndf(1df) -.SH AUTHOR -Tom Ryder <tom@sanctum.geek.nz> @@ -7,6 +7,9 @@ command -p stty -ixon -ctlecho 2>/dev/null # Keep around 4K lines of history in memory HISTSIZE=$((1 << 12)) +# If HOSTNAME isn't set by this shell, we'll do it +[ -n "$HOSTNAME" ] || HOSTNAME=$(uname -n) + # Don't warn me about new mail unset -v MAILCHECK diff --git a/sh/shrc.d/ksh.sh b/sh/shrc.d/ksh.sh deleted file mode 100644 index 046cd6c4..00000000 --- a/sh/shrc.d/ksh.sh +++ /dev/null @@ -1,10 +0,0 @@ -# If we're running some kind of ksh, we'll need to source its specific -# configuration if it was defined or if we can find it. Bash and Zsh invoke -# their own rc files first, which I've written to then look for ~/.shrc; ksh -# does it the other way around. -case $KSH_VERSION in - *'PD KSH '*|*'MIRBSD KSH '*) - [ -f "${KSH_ENV:="$HOME"/.pdkshrc}" ] || return - . "$KSH_ENV" - ;; -esac diff --git a/vim/after/ftdetect/sh.vim b/vim/after/ftdetect/sh.vim index 3bc10ba7..c974e293 100644 --- a/vim/after/ftdetect/sh.vim +++ b/vim/after/ftdetect/sh.vim @@ -9,7 +9,7 @@ augroup dfsh " Names/paths of things that are Korn shell script autocmd BufNewFile,BufRead - \ **/.dotfiles/pdksh/**,.pdkshrc,*.pdksh + \ **/.dotfiles/ksh/**,.kshrc,*.ksh \ let b:is_kornshell = 1 | \ setlocal filetype=sh diff --git a/zsh/zshrc.d/prompt.zsh b/zsh/zshrc.d/prompt.zsh index 0ac2be55..4b98c125 100644 --- a/zsh/zshrc.d/prompt.zsh +++ b/zsh/zshrc.d/prompt.zsh @@ -41,7 +41,7 @@ prompt() { # Bold and color the prompt if it looks like we can if (( $({ tput colors || tput Co ; } 2>/dev/null) >= 8 )) ; then - PS1='%B%F{green}'$PS1'%f%b' + PS1='%B%F{cyan}'$PS1'%f%b' fi # Add a space and define the rest of the prompts |