commit 09aeb9f1ca9bf6a350811fe151141357e175a35e Author: Jonathan Bernard Date: Tue Jan 19 15:10:51 2016 -0600 Initial commit. diff --git a/.Xdefaults/dark b/.Xdefaults/dark new file mode 100755 index 0000000..8a4ed00 --- /dev/null +++ b/.Xdefaults/dark @@ -0,0 +1,58 @@ +!Terminal theme: Theme Nine +*xterm*background: rgb:10/10/10 +rxvt*background: rgb:10/10/10 +*xterm*foreground: rgb:d6/d6/d6 +*xterm*color0: rgb:00/00/00 +*xterm*color1: rgb:9e/18/28 +*xterm*color2: rgb:00/88/00 +*xterm*color3: rgb:96/8a/38 +*xterm*color4: rgb:41/41/71 +*xterm*color5: rgb:96/3c/59 +*xterm*color6: rgb:41/81/79 +*xterm*color7: rgb:be/be/be +*xterm*color8: rgb:66/66/66 +*xterm*color9: rgb:cf/61/71 +*xterm*color10: rgb:7c/bc/8c +*xterm*color11: rgb:ff/f7/96 +*xterm*color12: rgb:41/86/be +*xterm*color13: rgb:cf/9e/be +*xterm*color14: rgb:71/be/be +*xterm*color17: rgb:ff/ff/ff + +!Light color theme +!*background: rgb:ff/ff/dd +!rxvt*background: rgb:ff/ff/dd +!*foreground: rgb:0f/00/00 +!Black +!*color0: rgb:0f/00/00 +!*color8: rgb:0f/00/00 +!Red/Light Red +!*color1: rgb:80/00/00 +!*color9: rgb:80/00/00 +!Green/Light Green +!*color2: rgb:00/80/00 +!*color10: rgb:00/80/00 +!Orange/Yellow +!*color3: rgb:99/55/00 +!*color11: rgb:AA/AA/00 +!Blue/Light Blue +!*color4: rgb:00/00/80 +!*color12: rgb:00/00/80 +!Magenta/Pink +!*color5: rgb:80/00/80 +!*color13: rgb:CC/80/80 +!Turqoise/Cyan +!*color6: rgb:00/80/80 +!*color14: rgb:00/A0/A0 +!Light Grey/White +!*color7: rgb:80/80/80 +!*color15: rgb:ff/ff/dd + +*xterm*faceName: ProggySquareTTSZ +!*xterm*faceName: ProggyTinyTTSZ +*xterm*faceSize: 12 + +!Cursor theme + +opera*background: rgb: ff/ff/ff +opera*foreground: rgb: 10/10/10 diff --git a/.Xdefaults/dark-large b/.Xdefaults/dark-large new file mode 100755 index 0000000..4ccee03 --- /dev/null +++ b/.Xdefaults/dark-large @@ -0,0 +1,58 @@ +!Terminal theme: Theme Nine +*xterm*background: rgb:10/10/10 +rxvt*background: rgb:10/10/10 +*xterm*foreground: rgb:d6/d6/d6 +*xterm*color0: rgb:00/00/00 +*xterm*color1: rgb:9e/18/28 +*xterm*color2: rgb:00/88/00 +*xterm*color3: rgb:96/8a/38 +*xterm*color4: rgb:41/41/71 +*xterm*color5: rgb:96/3c/59 +*xterm*color6: rgb:41/81/79 +*xterm*color7: rgb:be/be/be +*xterm*color8: rgb:66/66/66 +*xterm*color9: rgb:cf/61/71 +*xterm*color10: rgb:7c/bc/8c +*xterm*color11: rgb:ff/f7/96 +*xterm*color12: rgb:41/86/be +*xterm*color13: rgb:cf/9e/be +*xterm*color14: rgb:71/be/be +*xterm*color17: rgb:ff/ff/ff + +!Light color theme +!*background: rgb:ff/ff/dd +!rxvt*background: rgb:ff/ff/dd +!*foreground: rgb:0f/00/00 +!Black +!*color0: rgb:0f/00/00 +!*color8: rgb:0f/00/00 +!Red/Light Red +!*color1: rgb:80/00/00 +!*color9: rgb:80/00/00 +!Green/Light Green +!*color2: rgb:00/80/00 +!*color10: rgb:00/80/00 +!Orange/Yellow +!*color3: rgb:99/55/00 +!*color11: rgb:AA/AA/00 +!Blue/Light Blue +!*color4: rgb:00/00/80 +!*color12: rgb:00/00/80 +!Magenta/Pink +!*color5: rgb:80/00/80 +!*color13: rgb:CC/80/80 +!Turqoise/Cyan +!*color6: rgb:00/80/80 +!*color14: rgb:00/A0/A0 +!Light Grey/White +!*color7: rgb:80/80/80 +!*color15: rgb:ff/ff/dd + + +!*xterm*faceName: "PT Mono" +!*xterm*faceSize: 14 +*xterm*font: -xos4-terminus-medium-r-normal--18-180-72-72-c-100-iso10646-1 +!Cursor theme + +opera*background: rgb: ff/ff/ff +opera*foreground: rgb: 10/10/10 diff --git a/.Xdefaults/dark-medium b/.Xdefaults/dark-medium new file mode 100755 index 0000000..f1362cc --- /dev/null +++ b/.Xdefaults/dark-medium @@ -0,0 +1,56 @@ +!Terminal theme: Theme Nine +*background: rgb:1a/1a/1a +rxvt*background: rgb:1a/1a/1a +*foreground: rgb:d6/d6/d6 +*color0: rgb:00/00/00 +*color1: rgb:9e/18/28 +*color2: rgb:00/88/00 +*color3: rgb:96/8a/38 +*color4: rgb:41/41/71 +*color5: rgb:96/3c/59 +*color6: rgb:41/81/79 +*color7: rgb:be/be/be +*color8: rgb:66/66/66 +*color9: rgb:cf/61/71 +*color10: rgb:7c/bc/8c +*color11: rgb:ff/f7/96 +*color12: rgb:41/86/be +*color13: rgb:cf/9e/be +*color14: rgb:71/be/be +*color17: rgb:ff/ff/ff + +!Light color theme +!*background: rgb:ff/ff/dd +!rxvt*background: rgb:ff/ff/dd +!*foreground: rgb:0f/00/00 +!Black +!*color0: rgb:0f/00/00 +!*color8: rgb:0f/00/00 +!Red/Light Red +!*color1: rgb:80/00/00 +!*color9: rgb:80/00/00 +!Green/Light Green +!*color2: rgb:00/80/00 +!*color10: rgb:00/80/00 +!Orange/Yellow +!*color3: rgb:99/55/00 +!*color11: rgb:AA/AA/00 +!Blue/Light Blue +!*color4: rgb:00/00/80 +!*color12: rgb:00/00/80 +!Magenta/Pink +!*color5: rgb:80/00/80 +!*color13: rgb:CC/80/80 +!Turqoise/Cyan +!*color6: rgb:00/80/80 +!*color14: rgb:00/A0/A0 +!Light Grey/White +!*color7: rgb:80/80/80 +!*color15: rgb:ff/ff/dd + + +xterm*font: -misc-fixed-medium-r-*-*-14-*-*-*-c-*-iso10646-* +!Cursor theme + +opera*background: rgb: ff/ff/ff +opera*foreground: rgb: 10/10/10 diff --git a/.Xdefaults/light b/.Xdefaults/light new file mode 100755 index 0000000..d9546c6 --- /dev/null +++ b/.Xdefaults/light @@ -0,0 +1,57 @@ +!Terminal theme: Theme Nine +!*background: rgb:1a/1a/1a +!rxvt*background: rgb:1a/1a/1a +!*foreground: rgb:d6/d6/d6 +!*color0: rgb:00/00/00 +!*color1: rgb:9e/18/28 +!*color2: rgb:00/88/00 +!*color3: rgb:96/8a/38 +!*color4: rgb:41/41/71 +!*color5: rgb:96/3c/59 +!*color6: rgb:41/81/79 +!*color7: rgb:be/be/be +!*color8: rgb:66/66/66 +!*color9: rgb:cf/61/71 +!*color10: rgb:7c/bc/8c +!*color11: rgb:ff/f7/96 +!*color12: rgb:41/86/be +!*color13: rgb:cf/9e/be +!*color14: rgb:71/be/be +!*color17: rgb:ff/ff/ff + +!Light color theme +*background: rgb:ff/ff/dd +rxvt*background: rgb:ff/ff/dd +*foreground: rgb:0f/00/00 +!Black +*color0: rgb:0f/00/00 +*color8: rgb:0f/00/00 +!Red/Light Red +*color1: rgb:80/00/00 +*color9: rgb:80/00/00 +!Green/Light Green +*color2: rgb:00/80/00 +*color10: rgb:00/80/00 +!Orange/Yellow +*color3: rgb:99/55/00 +*color11: rgb:AA/AA/00 +!Blue/Light Blue +*color4: rgb:00/00/80 +*color12: rgb:00/00/80 +!Magenta/Pink +*color5: rgb:80/00/80 +*color13: rgb:CC/80/80 +!Turqoise/Cyan +*color6: rgb:00/80/80 +*color14: rgb:00/A0/A0 +!Light Grey/White +*color7: rgb:80/80/80 +*color15: rgb:ff/ff/dd + + +*xterm*faceName: ProggySquareTTSZ +!*xterm*faceName: ProggyTinyTTSZ +*xterm*faceSize: 12 + +opera*background: rgb: ff/ff/ff +opera*foreground: rgb: 10/10/10 diff --git a/.Xdefaults/light-large b/.Xdefaults/light-large new file mode 100755 index 0000000..f9294ef --- /dev/null +++ b/.Xdefaults/light-large @@ -0,0 +1,57 @@ +!Terminal theme: Theme Nine +!*background: rgb:1a/1a/1a +!rxvt*background: rgb:1a/1a/1a +!*foreground: rgb:d6/d6/d6 +!*color0: rgb:00/00/00 +!*color1: rgb:9e/18/28 +!*color2: rgb:00/88/00 +!*color3: rgb:96/8a/38 +!*color4: rgb:41/41/71 +!*color5: rgb:96/3c/59 +!*color6: rgb:41/81/79 +!*color7: rgb:be/be/be +!*color8: rgb:66/66/66 +!*color9: rgb:cf/61/71 +!*color10: rgb:7c/bc/8c +!*color11: rgb:ff/f7/96 +!*color12: rgb:41/86/be +!*color13: rgb:cf/9e/be +!*color14: rgb:71/be/be +!*color17: rgb:ff/ff/ff + +!Light color theme +*background: rgb:ff/ff/dd +rxvt*background: rgb:ff/ff/dd +*foreground: rgb:0f/00/00 +!Black +*color0: rgb:0f/00/00 +*color8: rgb:0f/00/00 +!Red/Light Red +*color1: rgb:80/00/00 +*color9: rgb:80/00/00 +!Green/Light Green +*color2: rgb:00/80/00 +*color10: rgb:00/80/00 +!Orange/Yellow +*color3: rgb:99/55/00 +*color11: rgb:AA/AA/00 +!Blue/Light Blue +*color4: rgb:00/00/80 +*color12: rgb:00/00/80 +!Magenta/Pink +*color5: rgb:80/00/80 +*color13: rgb:CC/80/80 +!Turqoise/Cyan +*color6: rgb:00/80/80 +*color14: rgb:00/A0/A0 +!Light Grey/White +*color7: rgb:80/80/80 +*color15: rgb:ff/ff/dd + + +*xterm*font: -xos4-terminus-medium-r-normal--18-180-72-72-c-100-iso10646-1 +!*xterm*font: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1 +!Cursor theme + +opera*background: rgb: ff/ff/ff +opera*foreground: rgb: 10/10/10 diff --git a/.Xdefaults/light-medium b/.Xdefaults/light-medium new file mode 100755 index 0000000..8e2e3d4 --- /dev/null +++ b/.Xdefaults/light-medium @@ -0,0 +1,56 @@ +!Terminal theme: Theme Nine +!*background: rgb:1a/1a/1a +!rxvt*background: rgb:1a/1a/1a +!*foreground: rgb:d6/d6/d6 +!*color0: rgb:00/00/00 +!*color1: rgb:9e/18/28 +!*color2: rgb:00/88/00 +!*color3: rgb:96/8a/38 +!*color4: rgb:41/41/71 +!*color5: rgb:96/3c/59 +!*color6: rgb:41/81/79 +!*color7: rgb:be/be/be +!*color8: rgb:66/66/66 +!*color9: rgb:cf/61/71 +!*color10: rgb:7c/bc/8c +!*color11: rgb:ff/f7/96 +!*color12: rgb:41/86/be +!*color13: rgb:cf/9e/be +!*color14: rgb:71/be/be +!*color17: rgb:ff/ff/ff + +!Light color theme +*background: rgb:ff/ff/dd +rxvt*background: rgb:ff/ff/dd +*foreground: rgb:0f/00/00 +!Black +*color0: rgb:0f/00/00 +*color8: rgb:0f/00/00 +!Red/Light Red +*color1: rgb:80/00/00 +*color9: rgb:80/00/00 +!Green/Light Green +*color2: rgb:00/80/00 +*color10: rgb:00/80/00 +!Orange/Yellow +*color3: rgb:99/55/00 +*color11: rgb:AA/AA/00 +!Blue/Light Blue +*color4: rgb:00/00/80 +*color12: rgb:00/00/80 +!Magenta/Pink +*color5: rgb:80/00/80 +*color13: rgb:CC/80/80 +!Turqoise/Cyan +*color6: rgb:00/80/80 +*color14: rgb:00/A0/A0 +!Light Grey/White +*color7: rgb:80/80/80 +*color15: rgb:ff/ff/dd + + +xterm*font: -misc-fixed-medium-r-*-*-14-*-*-*-c-*-iso10646-* +!Cursor theme + +opera*background: rgb: ff/ff/ff +opera*foreground: rgb: 10/10/10 diff --git a/.Xdefaults/light-small b/.Xdefaults/light-small new file mode 100644 index 0000000..16c0e07 --- /dev/null +++ b/.Xdefaults/light-small @@ -0,0 +1,56 @@ +!Terminal theme: Theme Nine +!*background: rgb:1a/1a/1a +!rxvt*background: rgb:1a/1a/1a +!*foreground: rgb:d6/d6/d6 +!*color0: rgb:00/00/00 +!*color1: rgb:9e/18/28 +!*color2: rgb:00/88/00 +!*color3: rgb:96/8a/38 +!*color4: rgb:41/41/71 +!*color5: rgb:96/3c/59 +!*color6: rgb:41/81/79 +!*color7: rgb:be/be/be +!*color8: rgb:66/66/66 +!*color9: rgb:cf/61/71 +!*color10: rgb:7c/bc/8c +!*color11: rgb:ff/f7/96 +!*color12: rgb:41/86/be +!*color13: rgb:cf/9e/be +!*color14: rgb:71/be/be +!*color17: rgb:ff/ff/ff + +!Light color theme +*background: rgb:ff/ff/dd +rxvt*background: rgb:ff/ff/dd +*foreground: rgb:0f/00/00 +!Black +*color0: rgb:0f/00/00 +*color8: rgb:0f/00/00 +!Red/Light Red +*color1: rgb:80/00/00 +*color9: rgb:80/00/00 +!Green/Light Green +*color2: rgb:00/80/00 +*color10: rgb:00/80/00 +!Orange/Yellow +*color3: rgb:99/55/00 +*color11: rgb:AA/AA/00 +!Blue/Light Blue +*color4: rgb:00/00/80 +*color12: rgb:00/00/80 +!Magenta/Pink +*color5: rgb:80/00/80 +*color13: rgb:CC/80/80 +!Turqoise/Cyan +*color6: rgb:00/80/80 +*color14: rgb:00/A0/A0 +!Light Grey/White +*color7: rgb:80/80/80 +*color15: rgb:ff/ff/dd + + +xterm*font: -windows-proggytinysz-medium-r-normal--10-80-96-96-c-60-iso8859-1 +!Cursor theme + +opera*background: rgb: ff/ff/ff +opera*foreground: rgb: 10/10/10 diff --git a/.Xdefaults/standard b/.Xdefaults/standard new file mode 100755 index 0000000..8a4ed00 --- /dev/null +++ b/.Xdefaults/standard @@ -0,0 +1,58 @@ +!Terminal theme: Theme Nine +*xterm*background: rgb:10/10/10 +rxvt*background: rgb:10/10/10 +*xterm*foreground: rgb:d6/d6/d6 +*xterm*color0: rgb:00/00/00 +*xterm*color1: rgb:9e/18/28 +*xterm*color2: rgb:00/88/00 +*xterm*color3: rgb:96/8a/38 +*xterm*color4: rgb:41/41/71 +*xterm*color5: rgb:96/3c/59 +*xterm*color6: rgb:41/81/79 +*xterm*color7: rgb:be/be/be +*xterm*color8: rgb:66/66/66 +*xterm*color9: rgb:cf/61/71 +*xterm*color10: rgb:7c/bc/8c +*xterm*color11: rgb:ff/f7/96 +*xterm*color12: rgb:41/86/be +*xterm*color13: rgb:cf/9e/be +*xterm*color14: rgb:71/be/be +*xterm*color17: rgb:ff/ff/ff + +!Light color theme +!*background: rgb:ff/ff/dd +!rxvt*background: rgb:ff/ff/dd +!*foreground: rgb:0f/00/00 +!Black +!*color0: rgb:0f/00/00 +!*color8: rgb:0f/00/00 +!Red/Light Red +!*color1: rgb:80/00/00 +!*color9: rgb:80/00/00 +!Green/Light Green +!*color2: rgb:00/80/00 +!*color10: rgb:00/80/00 +!Orange/Yellow +!*color3: rgb:99/55/00 +!*color11: rgb:AA/AA/00 +!Blue/Light Blue +!*color4: rgb:00/00/80 +!*color12: rgb:00/00/80 +!Magenta/Pink +!*color5: rgb:80/00/80 +!*color13: rgb:CC/80/80 +!Turqoise/Cyan +!*color6: rgb:00/80/80 +!*color14: rgb:00/A0/A0 +!Light Grey/White +!*color7: rgb:80/80/80 +!*color15: rgb:ff/ff/dd + +*xterm*faceName: ProggySquareTTSZ +!*xterm*faceName: ProggyTinyTTSZ +*xterm*faceSize: 12 + +!Cursor theme + +opera*background: rgb: ff/ff/ff +opera*foreground: rgb: 10/10/10 diff --git a/.Xdefaults/startup b/.Xdefaults/startup new file mode 100755 index 0000000..a50e191 --- /dev/null +++ b/.Xdefaults/startup @@ -0,0 +1,58 @@ +!Terminal theme: Theme Nine +xterm*background: rgb:1a/1a/1a +rxvt*background: rgb:1a/1a/1a +xterm*foreground: rgb:d6/d6/d6 +xterm*color0: rgb:00/00/00 +xterm*color1: rgb:9e/18/28 +xterm*color2: rgb:00/88/00 +xterm*color3: rgb:96/8a/38 +xterm*color4: rgb:41/41/71 +xterm*color5: rgb:96/3c/59 +xterm*color6: rgb:41/81/79 +xterm*color7: rgb:be/be/be +xterm*color8: rgb:66/66/66 +xterm*color9: rgb:cf/61/71 +xterm*color10: rgb:7c/bc/8c +xterm*color11: rgb:ff/f7/96 +xterm*color12: rgb:41/86/be +xterm*color13: rgb:cf/9e/be +xterm*color14: rgb:71/be/be +xterm*color17: rgb:ff/ff/ff + +!Light color theme +!*background: rgb:ff/ff/dd +!rxvt*background: rgb:ff/ff/dd +!*foreground: rgb:0f/00/00 +!Black +!*color0: rgb:0f/00/00 +!*color8: rgb:0f/00/00 +!Red/Light Red +!*color1: rgb:80/00/00 +!*color9: rgb:80/00/00 +!Green/Light Green +!*color2: rgb:00/80/00 +!*color10: rgb:00/80/00 +!Orange/Yellow +!*color3: rgb:99/55/00 +!*color11: rgb:AA/AA/00 +!Blue/Light Blue +!*color4: rgb:00/00/80 +!*color12: rgb:00/00/80 +!Magenta/Pink +!*color5: rgb:80/00/80 +!*color13: rgb:CC/80/80 +!Turqoise/Cyan +!*color6: rgb:00/80/80 +!*color14: rgb:00/A0/A0 +!Light Grey/White +!*color7: rgb:80/80/80 +!*color15: rgb:ff/ff/dd + +xterm*faceName: ProggySquareTTSZ +!xterm*faceName: ProggyTinyTTSZ +xterm*faceSize: 24 + +!Cursor theme + +opera*background: rgb: ff/ff/ff +opera*foreground: rgb: 10/10/10 diff --git a/.bash_aliases b/.bash_aliases new file mode 100644 index 0000000..75a21d9 --- /dev/null +++ b/.bash_aliases @@ -0,0 +1 @@ +alias screen="echo 'Use tmux.'" diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..d3785fb --- /dev/null +++ b/.bashrc @@ -0,0 +1,109 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# If not running interactively, don't do anything +[ -z "$PS1" ] && return + +# don't put duplicate lines or lines starting with space in the history. +# See bash(1) for more options +HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# If set, the pattern "**" used in a pathname expansion context will +# match all files and zero or more directories and subdirectories. +#shopt -s globstar + +# make less more friendly for non-text input files, see lesspipe(1) +[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, unless we know we "want" color) +case "$TERM" in + xterm-color) color_prompt=yes;; +esac + +# enable color support of ls and also add handy aliases +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + alias ls='ls --color=auto' + #alias dir='dir --color=auto' + #alias vdir='vdir --color=auto' + + alias grep='grep --color=auto' + alias fgrep='fgrep --color=auto' + alias egrep='egrep --color=auto' +fi + +# some more ls aliases +alias ll='ls -alF' +alias la='ls -A' +alias l='ls -CF' + +# Add an "alert" alias for long running commands. Use like so: +# sleep 10; alert +alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' + +# Alias definitions. +# You may want to put all your additions into a separate file like +# ~/.bash_aliases, instead of adding them here directly. +# See /usr/share/doc/bash-doc/examples in the bash-doc package. + +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if [ -f /etc/bash_completion ] && ! shopt -oq posix; then + . /etc/bash_completion +fi + +prompt_command() { + retval=$? + branch=""; + clean=""; + + numcolor="\[\e[0;33m\]" + red="\[\e[0;31m\]" + sepcolor="\[\e[1;30m\]" + yellow="\[\e[0;33m\]" + brightyellow="\[\e[1;33m\]" + brightblue="\[\e[1;34m\]" + default="\[\e[0m\]" + green="\[\e[0;32m\]" + + if [[ $retval != 0 ]]; then + numcolor="\[\e[1;41;33m\]" + fi + + if git branch &>/dev/null; then + branch=" $green$(git branch 2>/dev/null | grep \* | cut -d ' ' -f 2-)" + clean=$(git status | grep clean) + if [ -z "$clean" ]; then clean="${red}✗"; else clean=""; fi + fi + + PS1="${debian_chroot:+($debian_chroot)}$numcolor\!$red \u$sepcolor@${brightBlue}\h${default}: ${branch}${clean} $default\w$green\$${default} " + + unset clean numcolor branch retval +} + +PROMPT_COMMAND=prompt_command + +eval "$(thefuck --alias fixit)" +set -o vi diff --git a/.conkyrc b/.conkyrc new file mode 100644 index 0000000..2df7717 --- /dev/null +++ b/.conkyrc @@ -0,0 +1,52 @@ +#by endel /endel@tlen.pl/ +background yes + +use_xft yes +# xft font when Xft is enabled +xftfont kroeger 05_55 caps:size=9 +override_utf8_locale yes + +# Text alpha when using Xft +xftalpha 1 + +update_interval 1 +use_xft yes +draw_shades no +draw_outline no +draw_borders no +stippled_borders no +border_outer_margin 1 +border_width 1 +default_bar_size 50 5 +default_color 779dae +default_shade_color black +default_outline_color grey +own_window yes +own_window_transparent no +own_window_type normal +own_window_hints undecorate,sticky,skip_taskbar,skip_pager +own_window_colour 000000 +#alignment top_left +#alignment top_right +alignment bottom_left +#alignment bottom_right +gap_x 0 +gap_y 1 +no_buffers yes +uppercase no +double_buffer yes +use_spacer none +minimum_size 1920 18 + +#| Net: ${color E7E7E7}${font} ${downspeed eth0}${color} | ${color E7E7E7}${upspeed eth0}${color} +#${totaldown eth3} down${color} \ +#${totalup eth0} up${color} \ +#Battery: ${color E7E7E7}${font} ${battery_bar 4,50 BAT0}${color}${font} \ +#Home: ${color E7E7E7}${font}${fs_free /home} ${color}| \ +#| Top: ${color E7E7E7}${font}${top name 1}${top name 2}${color}\ +#| Root: ${color E7E7E7}${font}${fs_free /}${color} \ +TEXT + ${font} Cpu: ${color E7E7E7}${font} ${voffset -3}${cpubar cpu1 4,50}${voffset 6}${offset -50}${cpubar cpu2 4,50} \ +${color E7E7E7}${font} ${voffset -6}${cpubar cpu3 4,50}${voffset 6}${offset -50}${cpubar cpu4 4,50} \ +${voffset -3}${color} M/B: ${color E7E7E7}${font} ${voffset -3}${membar 4,50}${voffset 6}${offset -50}${battery_bar BAT0}${color} \ + ${font} ${voffset -5} ${alignr 18}(${battery_time BAT0}) ${color}${time %B %e} ${color E7E7E7}${time %H:%M} diff --git a/.fluxbox/init b/.fluxbox/init new file mode 100644 index 0000000..1f0c5b8 --- /dev/null +++ b/.fluxbox/init @@ -0,0 +1,75 @@ +session.screen0.window.focus.alpha: 255 +session.screen0.window.unfocus.alpha: 255 +session.screen0.tabs.usePixmap: true +session.screen0.tabs.maxOver: false +session.screen0.tabs.intitlebar: true +session.screen0.iconbar.alignment: Relative +session.screen0.iconbar.iconTextPadding: 10 +session.screen0.iconbar.mode: {static groups} (workspace) +session.screen0.iconbar.usePixmap: true +session.screen0.iconbar.iconWidth: 128 +session.screen0.titlebar.left: Stick +session.screen0.titlebar.right: Minimize Maximize Close +session.screen0.toolbar.autoHide: false +session.screen0.toolbar.widthPercent: 65 +session.screen0.toolbar.layer: Dock +session.screen0.toolbar.tools: prevworkspace, workspacename, nextworkspace, clock, prevwindow, nextwindow, iconbar, systemtray +session.screen0.toolbar.placement: BottomCenter +session.screen0.toolbar.onhead: 1 +session.screen0.toolbar.height: 0 +session.screen0.toolbar.maxOver: false +session.screen0.toolbar.visible: true +session.screen0.toolbar.alpha: 255 +session.screen0.tab.placement: TopLeft +session.screen0.tab.width: 64 +session.screen0.slit.autoHide: false +session.screen0.slit.onhead: 0 +session.screen0.slit.maxOver: false +session.screen0.slit.acceptKdeDockapps: true +session.screen0.slit.placement: RightBottom +session.screen0.slit.alpha: 255 +session.screen0.slit.layer: Dock +session.screen0.clientMenu.usePixmap: true +session.screen0.menu.alpha: 255 +session.screen0.windowMenu: /home/jdbernard/.fluxbox/windowmenu +session.screen0.allowRemoteActions: false +session.screen0.maxDisableMove: false +session.screen0.autoRaise: true +session.screen0.tabFocusModel: ClickToTabFocus +session.screen0.noFocusWhileTypingDelay: 0 +session.screen0.focusNewWindows: true +session.screen0.strftimeFormat: %d %b, %a %02k:%M:%S +session.screen0.rowPlacementDirection: LeftToRight +session.screen0.colPlacementDirection: TopToBottom +session.screen0.menuDelay: 200 +session.screen0.focusSameHead: false +session.screen0.windowPlacement: RowMinOverlapPlacement +session.screen0.fullMaximization: false +session.screen0.maxDisableResize: false +session.screen0.workspaceNames: Workspace 1,Workspace 2,Workspace 3,Workspace 4, +session.screen0.clickRaises: true +session.screen0.workspaces: 4 +session.screen0.edgeSnapThreshold: 10 +session.screen0.workspacewarping: true +session.screen0.maxIgnoreIncrement: true +session.screen0.showwindowposition: false +session.screen0.opaqueMove: true +session.screen0.focusModel: ClickFocus +session.screen0.tooltipDelay: 500 +session.screen0.defaultDeco: NORMAL +session.appsFile: /home/jdbernard/.fluxbox/apps +session.autoRaiseDelay: 250 +session.tabsAttachArea: Window +session.styleOverlay: /home/jdbernard/.fluxbox/overlay +session.doubleClickInterval: 250 +session.tabPadding: 0 +session.keyFile: ~/.fluxbox/keys +session.ignoreBorder: false +session.cacheMax: 200 +session.styleFile: /usr/share/fluxbox/styles/Nyz +session.cacheLife: 5 +session.forcePseudoTransparency: false +session.configVersion: 13 +session.colorsPerChannel: 4 +session.slitlistFile: /home/jdbernard/.fluxbox/slitlist +session.menuFile: ~/.fluxbox/menu diff --git a/.fluxbox/keys b/.fluxbox/keys new file mode 100644 index 0000000..6339320 --- /dev/null +++ b/.fluxbox/keys @@ -0,0 +1,177 @@ +# click on the desktop to get menus +OnDesktop Mouse1 :HideMenus +OnDesktop Mouse2 :WorkspaceMenu +OnDesktop Mouse3 :RootMenu + +# scroll on the desktop to change workspaces +OnDesktop Mouse4 :PrevWorkspace +OnDesktop Mouse5 :NextWorkspace + +# scroll on the toolbar to change current window +OnToolbar Mouse4 :PrevWindow {static groups} (iconhidden=no) +OnToolbar Mouse5 :NextWindow {static groups} (iconhidden=no) + +# alt + left/right click to move/resize a window +OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving} +OnWindowBorder Move1 :StartMoving + +OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner} +OnLeftGrip Move1 :StartResizing bottomleft +OnRightGrip Move1 :StartResizing bottomright + +# alt + middle click to lower the window +OnWindow Mod1 Mouse2 :Lower + +# control-click a window's titlebar and drag to attach windows +OnTitlebar Control Mouse1 :StartTabbing + +# double click on the titlebar to shade +OnTitlebar Double Mouse1 :Shade + +# left click on the titlebar to move the window +OnTitlebar Mouse1 :MacroCmd {Raise} {Focus} {ActivateTab} +OnTitlebar Move1 :StartMoving + +# middle click on the titlebar to lower +OnTitlebar Mouse2 :Lower + +# right click on the titlebar for a menu of options +OnTitlebar Mouse3 :WindowMenu + +# alt-tab +Mod1 Tab :NextWindow {groups} (workspace=[current]) +Mod1 Shift Tab :PrevWindow {groups} (workspace=[current]) + +# cycle through tabs in the current window +Mod4 Tab :NextTab +Mod4 Shift Tab :PrevTab + +# go to a specific tab in the current window +#Mod4 1 :Tab 1 +#Mod4 2 :Tab 2 +#Mod4 3 :Tab 3 +#Mod4 4 :Tab 4 +#Mod4 5 :Tab 5 +#Mod4 6 :Tab 6 +#Mod4 7 :Tab 7 +#Mod4 8 :Tab 8 +#Mod4 9 :Tab 9 + +# open a terminal +Mod4 t :Exec st +Mod1 F1 :Exec x-terminal-emulator + +# open a file browser +#Mod4 e :Exec nautilus --no-desktop +Mod4 e :Exec thunar + +Mod4 l :Exec gnome-screensaver-command -l +# open a dialog to run programs +Mod4 r :Exec fbrun +Mod1 F2 :Exec fbrun + +# Other application shortcuts +Mod4 k :Exec keepassx +Mod4 Shift f :Exec firefox +Mod4 Shift g :Exec google-chrome + +# volume settings, using common keycodes +# if these don't work, use xev to find out your real keycodes +123 :Exec amixer -c 1 sset Master,0 5+ +122 :Exec amixer -c 1 sset Master,0 5- +121 :Exec amixer -c 1 sset Master,0 toggle + +# current window commands +Mod1 F4 :Close +Mod4 q :Close +Mod1 F5 :Kill +Mod4 m :Minimize +Mod4 Down :Minimize +Mod1 F9 :Minimize +Mod4 Shift m :Maximize +Mod4 Up : Maximize +Mod1 F10 :Maximize +Mod4 f :Fullscreen +Mod1 F11 :Fullscreen + +Mod4 Left :MacroCmd {ResizeTo 960 *} {MaximizeVertical} {MoveTo 0 0 TopLeft} +Mod4 Right :MacroCmd {ResizeTo 960 *} {MaximizeVertical} {MoveTo 0 0 TopRight} + +Mod4 1 :MacroCmd {SetDecor NONE} {ResizeTo 600 *} { MaximizeVertical} {MoveTo 0 0 TopLeft} +Mod4 2 :MacroCmd {SetDecor NONE} {ResizeTo 600 *} { MaximizeVertical} {MoveTo 600 0 TopLeft} +Mod4 3 :MacroCmd {SetDecor NONE} {ResizeTo 720 *} { MaximizeVertical} {MoveTo 1200 0 TopLeft} +Mod4 4 :MacroCmd {SetDecor NONE} {ResizeTo 1200 *} { MaximizeVertical} {MoveTo 0 0 TopLeft} +Mod4 5 :MacroCmd {SetDecor NONE} {ResizeTo 1320 *} { MaximizeVertical} {MoveTo 600 0 TopLeft} + +Mod4 Shift 1 :MacroCmd {SetDecor TOOL} {ResizeTo 600 *} { MaximizeVertical} {MoveTo 0 0 TopLeft} +Mod4 Shift 2 :MacroCmd {SetDecor TOOL} {ResizeTo 600 *} { MaximizeVertical} {MoveTo 600 0 TopLeft} +Mod4 Shift 3 :MacroCmd {SetDecor TOOL} {ResizeTo 720 *} { MaximizeVertical} {MoveTo 1200 0 TopLeft} +Mod4 Shift 4 :MacroCmd {SetDecor TOOL} {ResizeTo 1200 *} { MaximizeVertical} {MoveTo 0 0 TopLeft} +Mod4 Shift 5 :MacroCmd {SetDecor TOOL} {ResizeTo 1320 *} { MaximizeVertical} {MoveTo 600 0 TopLeft} + +Mod4 Mod1 Shift 1 :MacroCmd {SetDecor NORMAL} {ResizeTo 600 *} { MaximizeVertical} {MoveTo 0 0 TopLeft} +Mod4 Mod1 Shift 2 :MacroCmd {SetDecor NORMAL} {ResizeTo 600 *} { MaximizeVertical} {MoveTo 604 0 TopLeft} +Mod4 Mod1 Shift 3 :MacroCmd {SetDecor NORMAL} {ResizeTo 712 *} { MaximizeVertical} {MoveTo 1208 0 TopLeft} +Mod4 Mod1 Shift 4 :MacroCmd {SetDecor NORMAL} {ResizeTo 1204 *} { MaximizeVertical} {MoveTo 0 0 TopLeft} +Mod4 Mod1 Shift 5 :MacroCmd {SetDecor NORMAL} {ResizeTo 1346 *} { MaximizeVertical} {MoveTo 572 0 TopLeft} + +# open568 the window menu +Mod1 space :WindowMenu + +# exit fluxbox +Mod4 Shift q :Exit +Control Mod1 Delete :Exit + +# change to previous/next workspace +Mod1 Mod4 Left :PrevWorkspace +Mod1 Mod4 Right :NextWorkspace + +# send the current window to previous/next workspace +Shift Mod4 Left :SendToPrevWorkspace +Shift Mod4 Right :SendToNextWorkspace + +# send the current window and follow it to previous/next workspace +Control Mod4 Left :TakeToPrevWorkspace +Control Mod4 Right :TakeToNextWorkspace + +# change to a specific workspace +Mod4 F1 :Workspace 1 +Mod4 F2 :Workspace 2 +Mod4 F3 :Workspace 3 +Mod4 F4 :Workspace 4 +Mod4 F5 :Workspace 5 +Mod4 F6 :Workspace 6 +Mod4 F7 :Workspace 7 +Mod4 F8 :Workspace 8 +Mod4 F9 :Workspace 9 +Mod4 F10 :Workspace 10 +Mod4 F11 :Workspace 11 +Mod4 F12 :Workspace 12 + +# send the current window to a specific workspace +#Mod4 F1 :SendToWorkspace 1 +#Mod4 F2 :SendToWorkspace 2 +#Mod4 F3 :SendToWorkspace 3 +#Mod4 F4 :SendToWorkspace 4 +#Mod4 F5 :SendToWorkspace 5 +#Mod4 F6 :SendToWorkspace 6 +#Mod4 F7 :SendToWorkspace 7 +#Mod4 F8 :SendToWorkspace 8 +#Mod4 F9 :SendToWorkspace 9 +#Mod4 F10 :SendToWorkspace 10 +#Mod4 F11 :SendToWorkspace 11 +#Mod4 F12 :SendToWorkspace 12 + +# send the current window and change to a specific workspace +#Control Mod4 F1 :TakeToWorkspace 1 +#Control Mod4 F2 :TakeToWorkspace 2 +#Control Mod4 F3 :TakeToWorkspace 3 +#Control Mod4 F4 :TakeToWorkspace 4 +#Control Mod4 F5 :TakeToWorkspace 5 +#Control Mod4 F6 :TakeToWorkspace 6 +#Control Mod4 F7 :TakeToWorkspace 7 +#Control Mod4 F8 :TakeToWorkspace 8 +#Control Mod4 F9 :TakeToWorkspace 9 +#Control Mod4 F10 :TakeToWorkspace 10 +#Control Mod4 F11 :TakeToWorkspace 11 +#Control Mod4 F12 :TakeToWorkspace 12 diff --git a/.fluxbox/startup b/.fluxbox/startup new file mode 100644 index 0000000..8609943 --- /dev/null +++ b/.fluxbox/startup @@ -0,0 +1,68 @@ +#!/bin/sh +# +# fluxbox startup-script: +# +# Lines starting with a '#' are ignored. + +# You can set your favourite wallpaper here if you don't want +# to do it from your style. +# +# fbsetbg -f /home/jdbernard/pictures/wallpaper.png +# +# This sets a black background + +#/usr/bin/fbsetroot -solid black + +# This shows the fluxbox-splash-screen +# fbsetbg -C /usr/share/fluxbox/splash.jpg + +# Other examples. Check man xset for details. +# +# Turn off beeps: +# xset -b +# +# Increase the keyboard repeat-rate: +# xset r rate 195 35 +# +# Your own fonts-dir: +# xset +fp "/home/jdbernard/.fonts" +# +# Your favourite mouse cursor: +# xsetroot -cursor_name right_ptr +# +# Change your keymap: +xmodmap "/home/jdbernard/.Xmodmap" + +# Applications you want to run with fluxbox. +# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END. +# +source ~/.profile +xset +fp $HOME/.fonts +xrdb ~/.Xdefaults/standard +sleep 0.2s +gnome-settings-daemon & +gnome-keyring-daemon --start --components=ssh,secrets,pkcs11 & +sleep 0.2s +sync-now & +ng-start & +nm-applet & +gnome-sound-applet & +/opt/extras.ubuntu.com/touchpad-indicator/bin/touchpad-indicator & +#ng-start +conky + +st & +# Debian-local change: +# - fbautostart has been added with a quick hack to check to see if it +# exists. If it does, we'll start it up by default. +which fbautostart > /dev/null +if [ $? -eq 0 ]; then + fbautostart +fi + +# And last but not least we start fluxbox. +# Because it is the last app you have to run it with ''exec'' before it. + +exec fluxbox +# or if you want to keep a log: +# exec fluxbox -log "/home/jdbernard/.fluxbox/log" diff --git a/.fonts/Inconsolata.otf b/.fonts/Inconsolata.otf new file mode 100755 index 0000000..3488898 Binary files /dev/null and b/.fonts/Inconsolata.otf differ diff --git a/.fonts/JDBMono1.otb b/.fonts/JDBMono1.otb new file mode 100644 index 0000000..d6edf7a Binary files /dev/null and b/.fonts/JDBMono1.otb differ diff --git a/.fonts/JDBMono2.otb b/.fonts/JDBMono2.otb new file mode 100644 index 0000000..926a504 Binary files /dev/null and b/.fonts/JDBMono2.otb differ diff --git a/.fonts/JDBMono3.otb b/.fonts/JDBMono3.otb new file mode 100644 index 0000000..e37dbe2 Binary files /dev/null and b/.fonts/JDBMono3.otb differ diff --git a/.fonts/JDBMono3Condensed.otb b/.fonts/JDBMono3Condensed.otb new file mode 100644 index 0000000..8d9b60b Binary files /dev/null and b/.fonts/JDBMono3Condensed.otb differ diff --git a/.fonts/JDBMonoTiny.otb b/.fonts/JDBMonoTiny.otb new file mode 100644 index 0000000..472d2bd Binary files /dev/null and b/.fonts/JDBMonoTiny.otb differ diff --git a/.fonts/MavenPro-Black.ttf b/.fonts/MavenPro-Black.ttf new file mode 100644 index 0000000..f808a1b Binary files /dev/null and b/.fonts/MavenPro-Black.ttf differ diff --git a/.fonts/MavenPro-Bold.ttf b/.fonts/MavenPro-Bold.ttf new file mode 100644 index 0000000..40c3359 Binary files /dev/null and b/.fonts/MavenPro-Bold.ttf differ diff --git a/.fonts/MavenPro-Medium.ttf b/.fonts/MavenPro-Medium.ttf new file mode 100644 index 0000000..75a388e Binary files /dev/null and b/.fonts/MavenPro-Medium.ttf differ diff --git a/.fonts/MavenPro-Regular.ttf b/.fonts/MavenPro-Regular.ttf new file mode 100644 index 0000000..6442c2b Binary files /dev/null and b/.fonts/MavenPro-Regular.ttf differ diff --git a/.fonts/ProggyClean.pcf.gz b/.fonts/ProggyClean.pcf.gz new file mode 100755 index 0000000..fe29965 Binary files /dev/null and b/.fonts/ProggyClean.pcf.gz differ diff --git a/.fonts/ProggyCleanSZ.ttf b/.fonts/ProggyCleanSZ.ttf new file mode 100644 index 0000000..6d5b8e2 Binary files /dev/null and b/.fonts/ProggyCleanSZ.ttf differ diff --git a/.fonts/ProggySquare.pcf.gz b/.fonts/ProggySquare.pcf.gz new file mode 100755 index 0000000..2ee9ddc Binary files /dev/null and b/.fonts/ProggySquare.pcf.gz differ diff --git a/.fonts/ProggySquareSZ.pcf.gz b/.fonts/ProggySquareSZ.pcf.gz new file mode 100755 index 0000000..e271b83 Binary files /dev/null and b/.fonts/ProggySquareSZ.pcf.gz differ diff --git a/.fonts/ProggySquareSZ.ttf b/.fonts/ProggySquareSZ.ttf new file mode 100644 index 0000000..bfff77e Binary files /dev/null and b/.fonts/ProggySquareSZ.ttf differ diff --git a/.fonts/ProggyTinyBold.pcf.gz b/.fonts/ProggyTinyBold.pcf.gz new file mode 100755 index 0000000..04da886 Binary files /dev/null and b/.fonts/ProggyTinyBold.pcf.gz differ diff --git a/.fonts/ProggyTinySZ.pcf.gz b/.fonts/ProggyTinySZ.pcf.gz new file mode 100755 index 0000000..e92c5ef Binary files /dev/null and b/.fonts/ProggyTinySZ.pcf.gz differ diff --git a/.fonts/ProggyTinySZ.ttf b/.fonts/ProggyTinySZ.ttf new file mode 100644 index 0000000..bc4a1ad Binary files /dev/null and b/.fonts/ProggyTinySZ.ttf differ diff --git a/.fonts/SimplexMono-Condensed.otb b/.fonts/SimplexMono-Condensed.otb new file mode 100644 index 0000000..09a08ff Binary files /dev/null and b/.fonts/SimplexMono-Condensed.otb differ diff --git a/.fonts/SimplexMono.otb b/.fonts/SimplexMono.otb new file mode 100644 index 0000000..9cbfa5b Binary files /dev/null and b/.fonts/SimplexMono.otb differ diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..24e9bec --- /dev/null +++ b/.gitconfig @@ -0,0 +1,12 @@ +[user] + name = Jonathan Bernard + email = jdb@jdb-labs.com +[color] + branch = auto + diff = auto + interactive = auto + status = auto +[alias] + lol = log --graph --decorate --oneline + lola = log --graph --decorate --oneline --all + diff --git a/.gradle/gradle.properties b/.gradle/gradle.properties new file mode 100644 index 0000000..1a644c7 --- /dev/null +++ b/.gradle/gradle.properties @@ -0,0 +1 @@ +org.gradle.daemon=true diff --git a/.screenrc b/.screenrc new file mode 100644 index 0000000..0fd600f --- /dev/null +++ b/.screenrc @@ -0,0 +1,6 @@ +defscrollback 10000 +startup_message off +termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007' +hardstatus on +hardstatus alwayslastline +hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]' diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..136279c --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,20 @@ +#set -g utf8 +#set-window-option -g utf8 on + +set -g prefix C-a +unbind C-b +bind C-a send-prefix + +bind | split-window -h +bind - split-window -v +bind a last-window + +set -g history-limit 5000 + +set -g status-bg black +set -g status-fg white +set -g status-justify centre +set -g status-left '#[fg=green][ #[fg=blue,bright]jdb-hp#[fg=green,nobright] ][' +set -g status-left-length 70 +set -g status-right '#[fg=green]][ #[fg=brightblue]%m-%d #[fg=brightgreen]%H:%M #[fg=green]]' +set -g status-right-length 20 diff --git a/.vim/ftdetect/gradle.vim b/.vim/ftdetect/gradle.vim new file mode 100644 index 0000000..c7a0561 --- /dev/null +++ b/.vim/ftdetect/gradle.vim @@ -0,0 +1,2 @@ +au BufRead,BufNewFile *.gradle set filetype=groovy +au BufRead,BufNewFile *.gradle setfiletype groovy diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..675ac39 --- /dev/null +++ b/.vimrc @@ -0,0 +1,82 @@ +execute pathogen#infect() +set ruler +set autoindent +set tabstop=4 +set shiftwidth=4 +set expandtab +syntax enable +set number +set hlsearch +set incsearch +set autochdir +set textwidth=79 + +set guifont=SimplexMono\ Light\ Condensed\ 10 +filetype plugin on +filetype indent on + +highlight Folded term=standout ctermfg=5 ctermbg=0 + +let mapleader=" " + +autocmd BufRead *.java set makeprg=ant +autocmd BufRead *.java set efm=%A\ %#[javac]\ %f:%l:\ %m,%-Z\ %#[javac]\ %p^,%-C%.%# + +"source ~/.vim/.jdb_java.vim + +autocmd BufWinEnter *.* silent loadview +autocmd BufWinLeave *.* mkview! + +autocmd BufRead *.java set foldnestmax=2 +autocmd BufRead *.java set foldmethod=syntax + +inoremap + +" Search for selected text, forwards or backwards. +vnoremap * : + \let old_reg=getreg('"')let old_regtype=getregtype('"') + \gvy/=substitute( + \escape(@", '/\.*$^~['), '\_s\+', '\\_s\\+', 'g') + \gV:call setreg('"', old_reg, old_regtype) +vnoremap # : + \let old_reg=getreg('"')let old_regtype=getregtype('"') + \gvy?=substitute( + \escape(@", '?\.*$^~['), '\_s\+', '\\_s\\+', 'g') + \gV:call setreg('"', old_reg, old_regtype) + +"Highlight lines past 80 characters long +"highlight OverLength ctermbg=red ctermfg=white guibg=#592929 +"match OverLength /\%80v.\+/ +"autocmd BufAdd .* match OverLength /\%80v.\+/ + +let g:solarized_contrast="high" +let g:ctrlp_max_files = 0 +let g:ctrlp_custom_ignore = { + \ 'dir': '\v\.git$|\.hg$|\.svn$|build$|target$', + \ 'file': '\v\.(class|exe|so|dll|sw.)$' + \ } + +let groovy_space_errors = 1 +let groovy_allow_cpp_keywords = 1 + +" Generate Java Getter and Setter for one property. +" Expects property lines to match /private \w\+ \w\+/ +" Requires mark A to be set at the current property line start and mark B to +" be set where the getter and setter should be inserted. The marks are updated +" so that the command can be immediately invoked again for a subsequent +" property. +" nmap gs wve"tywve"py'bo public void set "ppbvUhxA("tpA "ppA) { this."ppA = "ppA; } public "tpA get "ppbvUhxA() { return this."ppA; }mb'a/private \w+\+ \w\+; ma +nmap jgs :let @t='':let @n='''a0v$:s/\v^\s*(private\|public\|protected)? ?(\w+(\<[^>]+\>)?) (\w+);/\=setreg('T', submatch(2))/n0v$:s/\v^\s*(private\|public\|protected)? ?(\w+(\<[^>]+\>)?) (\w+);/\=setreg('N', submatch(4))/n'bopublic "tpA get "npbvUhxA() { return this."npA;}<public void set "npbvUhxA("tpA "npA) { this."npA = "npA;}<jci :w:%!clean_imports.sh % + +" Format the file using java-file-formatter. java-file-formatter should be a +" command that takes a file path as the first argument and either alters the +" file in place or prints out the altered file on STDOUT. +nmap jsf :!java-file-formatter %:p + +nmap wo :vsplit /home/jdbernard/projects/worklog/worklog.txtL200<43> +nmap ws :w:silent !git add %:!git commit diff --git a/bin/clean_imports.sh b/bin/clean_imports.sh new file mode 100755 index 0000000..68292f2 --- /dev/null +++ b/bin/clean_imports.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# Author: Paul Bourke +# Version: 0.1 + +# Find line numbers of unused imports, concatenate into a single line, and +# delete those lines from the file +OUT=$(eval "sed '`checkstyle -c /usr/share/checkstyle/sun_checks.xml $1 2>&1 \ + | grep -i 'unused import' | awk -F: '{ print $2 }' \ + | sed ':a;{N;s/\n/d;/;ba}'`d' $1") + +# If we get no output from the above, there are no unused imports, just return +# the original file +if [ -z "$OUT" ] +then + /bin/cat $1 +else + echo "$OUT" +fi + diff --git a/bin/java-file-formatter b/bin/java-file-formatter new file mode 100755 index 0000000..5b320b5 --- /dev/null +++ b/bin/java-file-formatter @@ -0,0 +1 @@ +/home/jdbernard/programs/eclipse/eclipse -nosplash -vm $JAVA_HOME/bin -application org.eclipse.jdt.core.JavaCodeFormatter -config /home/jdbernard/projects/3m-tolling-host/host-formatter-prefs.properties "$@" diff --git a/bin/link-ssh-agent b/bin/link-ssh-agent new file mode 100755 index 0000000..7e0fa10 --- /dev/null +++ b/bin/link-ssh-agent @@ -0,0 +1,32 @@ +#!/bin/bash + +# Check to see if we at least have an agent running, and have previously +# saved exports. +if [ ! `pgrep -n ssh-agent` ] || [ ! -f ~/temp/ssh-agent-exports.sh ] +then + # If not, create a new agent and save the details. + echo $(ssh-agent) > ~/temp/ssh-agent-exports.sh + chmod +x ~/temp/ssh-agent-exports.sh + +# If we do have previous details and a running agent, make sure that +# the details match an available agent (and not one that was killed). +elif [[ `(source ~/temp/ssh-agent-exports.sh; ssh-add -l 2>&1)` =~ "Could not open" ]] +then + # If the current details are for a dead agent, create a new agent and + # save the details. + echo $(ssh-agent) > ~/temp/ssh-agent-exports.sh + chmod +x ~/temp/ssh-agent-exports.sh +fi + +# Finally, if we were called without an argument, echo the current settings. +if [ "$1" = "" ] +then + cat ~/temp/ssh-agent-exports.sh +# If we do have an argument then evaluate that argument in a new shell which +# has the SSH agent defined. +else + ( + source ~/temp/ssh-agent-exports.sh + eval $1 + ) +fi diff --git a/bin/video2ogg b/bin/video2ogg new file mode 100755 index 0000000..16f489e --- /dev/null +++ b/bin/video2ogg @@ -0,0 +1,61 @@ +#!/bin/bash +# +# EDWARDS RESEARCH +# www.edwards-research.com +# +# This converts the audio from .mp4 files that include video (e.g. youtube.com streams) to +# .mp3 files. +# + + +# If file exists, set $FILE +# I know this is a sloppy way to handle command line arguments -- I'm ok with that. (I +# was going to provide for options, blah blah...) +if [[ -e ${1} ]] ; then + FILE=${1} +fi + + +# Ensure input file exits +if [[ -z $FILE ]] ; then + echo "File not found -- exiting." + exit +fi + +# Extract Filename +base=$(basename "${FILE}" .mp4) + + + +# Dump audio from .mp4 to .wav with mplayer +# So, it looks as if it doesn't make a difference in terms of the output (at least from +# my small test group) whether you pick pcm:waveheader or pcm:fast. pcm:waveheader takes +# more than twice as long to convert but pcm:fast complains. I'm going to leave it at +# waveheader because I'm not in a rush and I'd rather not have the warnings. Feel free +# to change this to pcm:fast and experiment. +# -ao pcm:waveheader -> 59 seconds, 4625553 byte .mp3 +# -ao pcm:fast -> 22 seconds, 4625553 byte .mp3 +# +mplayer -vc null -vo null -nocorrect-pts -ao pcm:fast "${FILE}" +# +# mplayer -vc null -vo null -nocorrect-pts -ao pcm:waveheader "${FILE}" +RV=$? +if [[ $RV != 0 ]] ; then + echo "mplayer completed unsuccessfully -- exiting." + exit +fi + + +# Convert .wav to .ogg +oggenc -q 5 -o "${base}.ogg" audiodump.wav +#lame -h -b 192 audiodump.wav "${base}.mp3" ${VERB} +RV=$? +if [[ $RV != 0 ]] ; then + echo "oggenc completed unsuccessfully -- exiting." + exit +fi + +# Cleanup Temporary File +rm audiodump.wav + +echo "Conversion complete." diff --git a/st/config.h b/st/config.h new file mode 100644 index 0000000..2b66b88 --- /dev/null +++ b/st/config.h @@ -0,0 +1,377 @@ +/* See LICENSE file for copyright and license details. */ + +/* + * appearance + * + * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html + */ +//static char font[] = "ProggySquareTTSZ:pixelsize=16:antialias=false:autohint=false"; +//static char font[] = "SimplexMono:pixelsize=12:antialias=false:autohint=false"; +static char font[] = "SimplexMono:pixelsize=12:antialias=false:autohint=false"; +static int borderpx = 2; +static char shell[] = "/bin/sh"; +static char *utmp = NULL; + +/* identification sequence returned in DA and DECID */ +static char vtiden[] = "\033[?6c"; + +/* Kerning / character bounding-box multipliers */ +static float cwscale = 1.0; +static float chscale = 1.0; + +/* + * word delimiter string + * + * More advanced example: " `'\"()[]{}" + */ +static char worddelimiters[] = " "; + +/* selection timeouts (in milliseconds) */ +static unsigned int doubleclicktimeout = 300; +static unsigned int tripleclicktimeout = 600; + +/* alt screens */ +static bool allowaltscreen = true; + +/* frames per second st should at maximum draw to the screen */ +static unsigned int xfps = 120; +static unsigned int actionfps = 30; + +/* + * blinking timeout (set to 0 to disable blinking) for the terminal blinking + * attribute. + */ +static unsigned int blinktimeout = 800; + +/* + * bell volume. It must be a value between -100 and 100. Use 0 for disabling + * it + */ +static int bellvolume = 0; + +/* TERM value */ +static char termname[] = "xterm-256color"; + +static unsigned int tabspaces = 4; + + +/* Terminal colors (16 first used in escape sequence) */ +static const char *colorname[] = { + /* 8 normal colors */ + "#101010", // black + "#9e1828", // red + "#008800", // green + "#968a38", // yellow + "#414171", // blue + "#963c59", // magenta + "#418179", // cyan + "#d6d6d6", // white + + /* 8 bright colors */ + "#666666", // grey (bright black) + "#cf6171", // bright red + "#7cbc8c", // bright green + "#fff796", // bright yellow + "#4186be", // bright blue + "#cf9ebe", // bright magenta + "#71bebe", // bright cyan + "#ffffff", // bright white + + [255] = 0, + + /* more colors can be added after 255 to use with DefaultXX */ + "#cccccc", +}; + + +/* + * Default colors (colorname index) + * foreground, background, cursor + */ +static unsigned int defaultfg = 7; +static unsigned int defaultbg = 0; +static unsigned int defaultcs = 7; + +/* + * Colors used, when the specific fg == defaultfg. So in reverse mode this + * will reverse too. Another logic would only make the simple feature too + * complex. + */ +static unsigned int defaultitalic = 11; +static unsigned int defaultunderline = 7; + +/* Internal mouse shortcuts. */ +/* Beware that overloading Button1 will disable the selection. */ +static Mousekey mshortcuts[] = { + /* button mask string */ + { Button4, XK_ANY_MOD, "\031" }, + { Button5, XK_ANY_MOD, "\005" }, +}; + +/* Internal keyboard shortcuts. */ +#define MODKEY Mod1Mask + +static Shortcut shortcuts[] = { + /* mask keysym function argument */ + { ControlMask, XK_Print, toggleprinter, {.i = 0} }, + { ShiftMask, XK_Print, printscreen, {.i = 0} }, + { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, + { MODKEY|ShiftMask, XK_Prior, xzoom, {.i = +1} }, + { MODKEY|ShiftMask, XK_Next, xzoom, {.i = -1} }, + { MODKEY|ShiftMask, XK_Home, xzoomreset, {.i = 0} }, + { ShiftMask, XK_Insert, selpaste, {.i = 0} }, + { MODKEY|ShiftMask, XK_Insert, clippaste, {.i = 0} }, + { MODKEY, XK_Num_Lock, numlock, {.i = 0} }, +}; + +/* + * Special keys (change & recompile st.info accordingly) + * + * Mask value: + * * Use XK_ANY_MOD to match the key no matter modifiers state + * * Use XK_NO_MOD to match the key alone (no modifiers) + * appkey value: + * * 0: no value + * * > 0: keypad application mode enabled + * * = 2: term.numlock = 1 + * * < 0: keypad application mode disabled + * appcursor value: + * * 0: no value + * * > 0: cursor application mode enabled + * * < 0: cursor application mode disabled + * crlf value + * * 0: no value + * * > 0: crlf mode is enabled + * * < 0: crlf mode is disabled + * + * Be careful with the order of the definitions because st searches in + * this table sequentially, so any XK_ANY_MOD must be in the last + * position for a key. + */ + +/* + * If you want keys other than the X11 function keys (0xFD00 - 0xFFFF) + * to be mapped below, add them to this array. + */ +static KeySym mappedkeys[] = { -1 }; + +/* + * State bits to ignore when matching key or button events. By default, + * numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored. + */ +static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; + +/* Override mouse-select while mask is active (when MODE_MOUSE is set). + * Note that if you want to use ShiftMask with selmasks, set this to an other + * modifier, set to 0 to not use it. */ +static uint forceselmod = ShiftMask; + +static Key key[] = { + /* keysym mask string appkey appcursor crlf */ + { XK_KP_Home, ShiftMask, "\033[2J", 0, -1, 0}, + { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1, 0}, + { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1, 0}, + { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1, 0}, + { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0, 0}, + { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1, 0}, + { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1, 0}, + { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0, 0}, + { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1, 0}, + { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1, 0}, + { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0, 0}, + { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1, 0}, + { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1, 0}, + { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0, 0}, + { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1, 0}, + { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1, 0}, + { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0, 0}, + { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0, 0}, + { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0, 0}, + { XK_KP_End, ControlMask, "\033[J", -1, 0, 0}, + { XK_KP_End, ControlMask, "\033[1;5F", +1, 0, 0}, + { XK_KP_End, ShiftMask, "\033[K", -1, 0, 0}, + { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0, 0}, + { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0, 0}, + { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0, 0}, + { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0, 0}, + { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0, 0}, + { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0, 0}, + { XK_KP_Insert, ControlMask, "\033[L", -1, 0, 0}, + { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0, 0}, + { XK_KP_Delete, ControlMask, "\033[M", -1, 0, 0}, + { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0, 0}, + { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0, 0}, + { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\177", +1, 0, 0}, + { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0, 0}, + { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0, -1}, + { XK_KP_Enter, XK_ANY_MOD, "\r\n", -1, 0, +1}, + { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0, 0}, + { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0, 0}, + { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0, 0}, + { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0, 0}, + { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0, 0}, + { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0, 0}, + { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0, 0}, + { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0, 0}, + { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0, 0}, + { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0, 0}, + { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0, 0}, + { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0, 0}, + { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0, 0}, + { XK_Up, ShiftMask, "\033[1;2A", 0, 0, 0}, + { XK_Up, ControlMask, "\033[1;5A", 0, 0, 0}, + { XK_Up, Mod1Mask, "\033[1;3A", 0, 0, 0}, + { XK_Up, XK_ANY_MOD, "\033[A", 0, -1, 0}, + { XK_Up, XK_ANY_MOD, "\033OA", 0, +1, 0}, + { XK_Down, ShiftMask, "\033[1;2B", 0, 0, 0}, + { XK_Down, ControlMask, "\033[1;5B", 0, 0, 0}, + { XK_Down, Mod1Mask, "\033[1;3B", 0, 0, 0}, + { XK_Down, XK_ANY_MOD, "\033[B", 0, -1, 0}, + { XK_Down, XK_ANY_MOD, "\033OB", 0, +1, 0}, + { XK_Left, ShiftMask, "\033[1;2D", 0, 0, 0}, + { XK_Left, ControlMask, "\033[1;5D", 0, 0, 0}, + { XK_Left, Mod1Mask, "\033[1;3D", 0, 0, 0}, + { XK_Left, XK_ANY_MOD, "\033[D", 0, -1, 0}, + { XK_Left, XK_ANY_MOD, "\033OD", 0, +1, 0}, + { XK_Right, ShiftMask, "\033[1;2C", 0, 0, 0}, + { XK_Right, ControlMask, "\033[1;5C", 0, 0, 0}, + { XK_Right, Mod1Mask, "\033[1;3C", 0, 0, 0}, + { XK_Right, XK_ANY_MOD, "\033[C", 0, -1, 0}, + { XK_Right, XK_ANY_MOD, "\033OC", 0, +1, 0}, + { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0, 0}, + { XK_Return, Mod1Mask, "\033\r", 0, 0, -1}, + { XK_Return, Mod1Mask, "\033\r\n", 0, 0, +1}, + { XK_Return, XK_ANY_MOD, "\r", 0, 0, -1}, + { XK_Return, XK_ANY_MOD, "\r\n", 0, 0, +1}, + { XK_Insert, ShiftMask, "\033[4l", -1, 0, 0}, + { XK_Insert, ShiftMask, "\033[2;2~", +1, 0, 0}, + { XK_Insert, ControlMask, "\033[L", -1, 0, 0}, + { XK_Insert, ControlMask, "\033[2;5~", +1, 0, 0}, + { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0, 0}, + { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0, 0}, + { XK_Delete, ControlMask, "\033[M", -1, 0, 0}, + { XK_Delete, ControlMask, "\033[3;5~", +1, 0, 0}, + { XK_Delete, ShiftMask, "\033[2K", -1, 0, 0}, + { XK_Delete, ShiftMask, "\033[3;2~", +1, 0, 0}, + { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0, 0}, + { XK_Delete, XK_ANY_MOD, "\177", +1, 0, 0}, + { XK_Home, ShiftMask, "\033[2J", 0, -1, 0}, + { XK_Home, ShiftMask, "\033[1;2H", 0, +1, 0}, + { XK_Home, XK_ANY_MOD, "\033[H", 0, -1, 0}, + { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1, 0}, + { XK_End, ControlMask, "\033[J", -1, 0, 0}, + { XK_End, ControlMask, "\033[1;5F", +1, 0, 0}, + { XK_End, ShiftMask, "\033[K", -1, 0, 0}, + { XK_End, ShiftMask, "\033[1;2F", +1, 0, 0}, + { XK_End, XK_ANY_MOD, "\033[4~", 0, 0, 0}, + { XK_Prior, ControlMask, "\033[5;5~", 0, 0, 0}, + { XK_Prior, ShiftMask, "\033[5;2~", 0, 0, 0}, + { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0, 0}, + { XK_Next, ControlMask, "\033[6;5~", 0, 0, 0}, + { XK_Next, ShiftMask, "\033[6;2~", 0, 0, 0}, + { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0, 0}, + { XK_F1, XK_NO_MOD, "\033OP" , 0, 0, 0}, + { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0, 0}, + { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0, 0}, + { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0, 0}, + { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0, 0}, + { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0, 0}, + { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0, 0}, + { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0, 0}, + { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0, 0}, + { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0, 0}, + { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0, 0}, + { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0, 0}, + { XK_F3, XK_NO_MOD, "\033OR" , 0, 0, 0}, + { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0, 0}, + { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0, 0}, + { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0, 0}, + { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0, 0}, + { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0, 0}, + { XK_F4, XK_NO_MOD, "\033OS" , 0, 0, 0}, + { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0, 0}, + { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0, 0}, + { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0, 0}, + { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0, 0}, + { XK_F5, XK_NO_MOD, "\033[15~", 0, 0, 0}, + { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0, 0}, + { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0, 0}, + { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0, 0}, + { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0, 0}, + { XK_F6, XK_NO_MOD, "\033[17~", 0, 0, 0}, + { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0, 0}, + { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0, 0}, + { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0, 0}, + { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0, 0}, + { XK_F7, XK_NO_MOD, "\033[18~", 0, 0, 0}, + { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0, 0}, + { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0, 0}, + { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0, 0}, + { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0, 0}, + { XK_F8, XK_NO_MOD, "\033[19~", 0, 0, 0}, + { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0, 0}, + { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0, 0}, + { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0, 0}, + { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0, 0}, + { XK_F9, XK_NO_MOD, "\033[20~", 0, 0, 0}, + { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0, 0}, + { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0, 0}, + { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0, 0}, + { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0, 0}, + { XK_F10, XK_NO_MOD, "\033[21~", 0, 0, 0}, + { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0, 0}, + { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0, 0}, + { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0, 0}, + { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0, 0}, + { XK_F11, XK_NO_MOD, "\033[23~", 0, 0, 0}, + { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0, 0}, + { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0, 0}, + { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0, 0}, + { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0, 0}, + { XK_F12, XK_NO_MOD, "\033[24~", 0, 0, 0}, + { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0, 0}, + { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0, 0}, + { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0, 0}, + { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0, 0}, + { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0, 0}, + { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0, 0}, + { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0, 0}, + { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0, 0}, + { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0, 0}, + { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0, 0}, + { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0, 0}, + { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0, 0}, + { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0, 0}, + { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0, 0}, + { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0, 0}, + { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0, 0}, + { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0, 0}, + { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0, 0}, + { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0, 0}, + { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0, 0}, + { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0, 0}, + { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0, 0}, + { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0, 0}, + { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0, 0}, + { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0, 0}, + { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0, 0}, + { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0, 0}, +}; + +/* + * Selection types' masks. + * Use the same masks as usual. + * Button1Mask is always unset, to make masks match between ButtonPress. + * ButtonRelease and MotionNotify. + * If no match is found, regular selection is used. + */ +static uint selmasks[] = { + [SEL_RECTANGULAR] = Mod1Mask, +}; +