diff --git a/bin/generate_ssh_key b/bin/generate_ssh_key new file mode 100755 index 0000000..be745e2 --- /dev/null +++ b/bin/generate_ssh_key @@ -0,0 +1,7 @@ +#! /usr/bin/env bash + +function main { + ssh-keygen -m PEM -t rsa -b 4096 -C "$1" +} + +main diff --git a/bin/tmux-imgcat b/bin/tmux-imgcat deleted file mode 100755 index 0347122..0000000 --- a/bin/tmux-imgcat +++ /dev/null @@ -1,153 +0,0 @@ -#!/bin/bash - -# tmux requires unrecognized OSC sequences to be wrapped with DCS tmux; -# ST, and for all ESCs in to be replaced with ESC ESC. It -# only accepts ESC backslash for ST. We use TERM instead of TMUX because TERM -# gets passed through ssh. -function print_osc() { - if [[ $TERM == screen* ]] ; then - printf "\033Ptmux;\033\033]" - else - printf "\033]" - fi -} - -# More of the tmux workaround described above. -function print_st() { - if [[ $TERM == screen* ]] ; then - printf "\a\033\\" - else - printf "\a" - fi -} - -function load_version() { - if [ -z ${IMGCAT_BASE64_VERSION+x} ]; then - export IMGCAT_BASE64_VERSION=$(base64 --version 2>&1) - fi -} - -function b64_encode() { - load_version - if [[ "$IMGCAT_BASE64_VERSION" =~ GNU ]]; then - # Disable line wrap - base64 -w0 - else - base64 - fi -} - -function b64_decode() { - load_version - if [[ "$IMGCAT_BASE64_VERSION" =~ fourmilab ]]; then - BASE64ARG=-d - elif [[ "$IMGCAT_BASE64_VERSION" =~ GNU ]]; then - BASE64ARG=-di - else - BASE64ARG=-D - fi - base64 $BASE64ARG -} - -# print_image filename inline base64contents print_filename -# filename: Filename to convey to client -# inline: 0 or 1 -# base64contents: Base64-encoded contents -# print_filename: If non-empty, print the filename -# before outputting the image -function print_image() { - print_osc - printf '1337;File=' - if [[ -n "$1" ]]; then - printf 'name='`printf "%s" "$1" | b64_encode`";" - fi - - printf "%s" "$3" | b64_decode | wc -c | awk '{printf "size=%d",$1}' - printf ";inline=$2" - printf ":" - printf "%s" "$3" - print_st - printf '\n' - if [[ -n "$4" ]]; then - echo $1 - fi -} - -function error() { - echo "ERROR: $*" 1>&2 -} - -function show_help() { - echo "Usage: imgcat [-p] filename ..." 1>& 2 - echo " or: cat filename | imgcat" 1>& 2 -} - -function check_dependency() { - if ! (builtin command -V "$1" > /dev/null 2>& 1); then - echo "imgcat: missing dependency: can't find $1" 1>& 2 - exit 1 - fi -} - -## Main - -if [ -t 0 ]; then - has_stdin=f -else - has_stdin=t -fi - -# Show help if no arguments and no stdin. -if [ $has_stdin = f -a $# -eq 0 ]; then - show_help - exit -fi - -check_dependency awk -check_dependency base64 -check_dependency wc - -# Look for command line flags. -while [ $# -gt 0 ]; do - case "$1" in - -h|--h|--help) - show_help - exit - ;; - -p|--p|--print) - print_filename=1 - ;; - -u|--u|--url) - check_dependency curl - encoded_image=$(curl -s "$2" | b64_encode) || (error "No such file or url $2"; exit 2) - has_stdin=f - print_image "$2" 1 "$encoded_image" "$print_filename" - set -- ${@:1:1} "-u" ${@:3} - if [ "$#" -eq 2 ]; then - exit - fi - ;; - -*) - error "Unknown option flag: $1" - show_help - exit 1 - ;; - *) - if [ -r "$1" ] ; then - has_stdin=f - print_image "$1" 1 "$(b64_encode < "$1")" "$print_filename" - else - error "imgcat: $1: No such file or directory" - exit 2 - fi - ;; - esac - shift -done - -# Read and print stdin -if [ $has_stdin = t ]; then - print_image "" 1 "$(cat | b64_encode)" "" -fi - -exit 0 \ No newline at end of file diff --git a/zsh/zshrc.symlink b/zsh/zshrc.symlink index 057c2ac..9a57aa7 100644 --- a/zsh/zshrc.symlink +++ b/zsh/zshrc.symlink @@ -194,4 +194,9 @@ function select_session { fi } +if [ -z "$TMUX" ] +then + neofetch +fi + select_session