diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2012-10-15 20:27:06 -0400 |
---|---|---|
committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2012-10-15 20:27:06 -0400 |
commit | 0ce7b10e4804e1cc5e7410ee0b9817889c7c721c (patch) | |
tree | 8fdbc3c24a1d89dae04e0cfe9239b647c7427af6 | |
parent | 33febe8b8a5a6a237d6e3617f7c96e783a548378 (diff) | |
parent | 3515a46d330af1d09bf1e0b963c13a86c2dbe8a8 (diff) |
Merge branch 'master' into thinkpenguin-par-2
l---------[-rw-r--r--] | .Xdefaults | 19 | ||||
l--------- | .bash_login | 1 | ||||
l---------[-rw-r--r--] | .bash_logout | 10 | ||||
l---------[-rw-r--r--] | .bashrc | 121 | ||||
-rw-r--r-- | .config/X11/clientrc | 27 | ||||
-rw-r--r-- | .config/X11/defaults | 18 | ||||
-rw-r--r-- | .config/X11/login | 9 | ||||
-rw-r--r-- | .config/X11/modmap (renamed from .xmodmap) | 0 | ||||
-rw-r--r-- | .config/X11/serverrc | 6 | ||||
-rw-r--r-- | .config/bash/aliases.sh (renamed from .bash_aliases) | 13 | ||||
-rw-r--r-- | .config/bash/login.sh | 9 | ||||
-rw-r--r-- | .config/bash/logout.sh | 9 | ||||
-rw-r--r-- | .config/bash/rc.d/emacs.sh (renamed from .bash.d/emacs.sh) | 0 | ||||
-rw-r--r-- | .config/bash/rc.sh | 80 | ||||
-rw-r--r-- | .full.asound | 347 | ||||
-rw-r--r-- | .git.info.exclude.in (renamed from .git.info.exclude) | 13 | ||||
l--------- | .kde | 1 | ||||
l--------- | .kde4/share/apps | 1 | ||||
l--------- | .kde4/share/config | 1 | ||||
-rw-r--r-- | .login-daemons | 10 | ||||
-rw-r--r-- | .maildirproc/default.rc | 1 | ||||
-rw-r--r-- | .profile | 74 | ||||
-rw-r--r-- | .wicd/CLIENT_CURSES_WARNING | 6 | ||||
l--------- | .wicd/WHEREAREMYFILES | 1 | ||||
-rwxr-xr-x | .wmii/autostart | 13 | ||||
-rw-r--r-- | .wmii/config.sh | 249 | ||||
-rw-r--r-- | .wmii/ctl-init | 5 | ||||
-rw-r--r-- | .wmii/fixes.sh | 24 | ||||
-rwxr-xr-x | .wmii/help-events | 3 | ||||
-rwxr-xr-x | .wmii/help-keys | 3 | ||||
-rw-r--r-- | .wmii/include.sh | 67 | ||||
-rwxr-xr-x | .wmii/quit | 2 | ||||
-rwxr-xr-x | .wmii/rbar_battery | 5 | ||||
-rwxr-xr-x | .wmii/rbar_clock | 5 | ||||
-rwxr-xr-x | .wmii/rbar_cpu | 7 | ||||
-rwxr-xr-x | .wmii/rbar_wifi | 5 | ||||
-rw-r--r-- | .wmii/tagrules | 3 | ||||
-rw-r--r-- | .wmii/util.sh | 128 | ||||
-rwxr-xr-x | .wmii/wmiirc | 263 | ||||
-rw-r--r-- | .wmii/wmiirc_local | 6 | ||||
l---------[-rw-r--r--] | .xinitrc | 27 | ||||
l--------- | .xserverrc | 1 | ||||
l---------[-rw-r--r--] | .xsession | 11 | ||||
-rw-r--r-- | Makefile | 9 |
44 files changed, 662 insertions, 951 deletions
diff --git a/.Xdefaults b/.Xdefaults index ceabc5c..7588317 100644..120000 --- a/.Xdefaults +++ b/.Xdefaults @@ -1,18 +1 @@ -URxvt.background: #000000 -URxvt.foreground: #CCCCCC - -URxvt.scrollstyle: plain -URxvt.scrollBar_floating: true - -URxvt.font: xft:Monospace-8 -URxvt.cursorBlink: true -URxvt.termName: xterm-256color -URxvt.pastableTabs: true - -URxvt.scrollTtyOutput: false -URxvt.scrollTtyKeypress: false -URxvt.scrollWithBuffer: true - -URxvt.perl-ext-common: default,matcher -URxvt.urlLauncher: v-www-browser -URxvt.matcher.button: 1 +.config/X11/defaults
\ No newline at end of file diff --git a/.bash_login b/.bash_login new file mode 120000 index 0000000..31231da --- /dev/null +++ b/.bash_login @@ -0,0 +1 @@ +.config/bash/login.sh
\ No newline at end of file diff --git a/.bash_logout b/.bash_logout index a8b88c1..d8117ff 100644..120000 --- a/.bash_logout +++ b/.bash_logout @@ -1,9 +1 @@ -# ~/.bash_logout: executed by bash(1) when login shell exits. - -# when leaving the console clear the screen to increase privacy - -if [ "$SHLVL" = 1 ]; then - [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q -fi - -make -C "$HOME" +.config/bash/logout.sh
\ No newline at end of file @@ -1,120 +1 @@ -# ~/.bashrc: executed by bash(1) for non-login shells. -# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) -# for examples - -# I include this file for all interactive invocations of bash(1), whether -# they are login shells or not. - -# If not running interactively, don't do anything -[ -z "$PS1" ] && return - -# don't put duplicate lines in the history. See bash(1) for more options -# don't overwrite GNU Midnight Commander's setting of `ignorespace'. -export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups -# ... or force ignoredups and ignorespace -export 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) - -# check the window size after each command and, if necessary, -# update the values of LINES and COLUMNS. -shopt -s checkwinsize - -# Let ** recursively scan directories -shopt -s globstar - -# Why is this not on by default? -# "We have a cached value, but it isn't valid anymore. Should we trash it?" -shopt -s checkhash - -# 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 - -case "$TERM" in - xterm) export TERM=xterm-256color;; -esac - -# set a fancy prompt (non-color, unless we know we "want" color) -case "$TERM" in - linux) color_prompt=yes;; - *-*color*) color_prompt=yes;; -esac - -# uncomment for a colored prompt, if the terminal has the capability; turned -# off by default to not distract the user: the focus in a terminal window -# should be on the output of commands, not on the prompt -#force_color_prompt=yes - -if [ -n "$force_color_prompt" ]; then - if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then - # We have color support; assume it's compliant with Ecma-48 - # (ISO/IEC-6429). (Lack of such support is extremely rare, and such - # a case would tend to support setf rather than setaf.) - color_prompt=yes - else - color_prompt= - fi -fi - -if [ "$color_prompt" = yes ]; then - PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\n\$ ' -else - PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\n\$ ' -fi -unset color_prompt force_color_prompt - -# If this is an xterm set the title to user@host:dir -case "$TERM" in -xterm*|rxvt*) - PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" - ;; -*) - ;; -esac - -# Include modular config files -if [ -d ~/.bash.d ]; then - for file in ~/.bash.d/*.sh; do - . $file; - done -fi - -# 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 ]; then - . /etc/bash_completion -fi - -if [ -f "$HOME/.login-daemons" ]; then - . "$HOME/.login-daemons" -fi - -if [ -f "${HOME}/.gnupg/agent-info" ]; then - . "${HOME}/.gnupg/agent-info" - export GPG_AGENT_INFO - #export SSH_AUTH_SOCK -fi - -export PERL_LOCAL_LIB_ROOT="/home/luke/perl5"; -export PERL_MB_OPT="--install_base /home/luke/perl5"; -export PERL_MM_OPT="INSTALL_BASE=/home/luke/perl5"; -export PERL5LIB="/home/luke/perl5/lib/perl5/i686-linux-thread-multi:/home/luke/perl5/lib/perl5"; -export PATH="/home/luke/perl5/bin:$PATH"; +.config/bash/rc.sh
\ No newline at end of file diff --git a/.config/X11/clientrc b/.config/X11/clientrc new file mode 100644 index 0000000..d1e1725 --- /dev/null +++ b/.config/X11/clientrc @@ -0,0 +1,27 @@ +#!/bin/sh +# +# ~/.xinitrc +# +# Executed by startx (run your window manager from here) + +if [ -d /etc/X11/xinit/xinitrc.d ]; then + echo ' ==> Running scripts in Entering xinitrc.d/*' + for f in /etc/X11/xinit/xinitrc.d/*; do + echo " -> $f" + [ -x "$f" ] && "$f" & + done + unset f + echo ' -> done' +fi + +usermodmap="$XDG_CONFIG_HOME/X11/modmap" +if [ -f "$usermodmap" ]; then + xmodmap "$usermodmap" +fi + +# exec gnome-session +# exec startkde +# exec startxfce4 +# ...or the Window Manager of your choice +#export WMII_CONFPATH="$XDG_CONFIG_HOME/wmii" +exec wmii diff --git a/.config/X11/defaults b/.config/X11/defaults new file mode 100644 index 0000000..ceabc5c --- /dev/null +++ b/.config/X11/defaults @@ -0,0 +1,18 @@ +URxvt.background: #000000 +URxvt.foreground: #CCCCCC + +URxvt.scrollstyle: plain +URxvt.scrollBar_floating: true + +URxvt.font: xft:Monospace-8 +URxvt.cursorBlink: true +URxvt.termName: xterm-256color +URxvt.pastableTabs: true + +URxvt.scrollTtyOutput: false +URxvt.scrollTtyKeypress: false +URxvt.scrollWithBuffer: true + +URxvt.perl-ext-common: default,matcher +URxvt.urlLauncher: v-www-browser +URxvt.matcher.button: 1 diff --git a/.config/X11/login b/.config/X11/login new file mode 100644 index 0000000..03bad2a --- /dev/null +++ b/.config/X11/login @@ -0,0 +1,9 @@ +#!/bin/sh + +# +# ~/.xsession +# +# Executed by xdm/gdm/kdm at login +# + +/bin/bash --login -i ~/.xinitrc diff --git a/.xmodmap b/.config/X11/modmap index e4ade24..e4ade24 100644 --- a/.xmodmap +++ b/.config/X11/modmap diff --git a/.config/X11/serverrc b/.config/X11/serverrc new file mode 100644 index 0000000..d6c6ffc --- /dev/null +++ b/.config/X11/serverrc @@ -0,0 +1,6 @@ +#!/bin/bash + +VT=vt07 +#VT=$(tty|sed 's@/dev/tty@vt@') + +exec /usr/bin/X -nolisten tcp "$VT" "$@" diff --git a/.bash_aliases b/.config/bash/aliases.sh index de1a321..8241b95 100644 --- a/.bash_aliases +++ b/.config/bash/aliases.sh @@ -48,19 +48,12 @@ alias gitk='gitk --all --date-order' redshift='redshift -l39.9030:85.9979' alias gtk-redshift="gtk-$redshift" alias redshift="$redshift" +unset redshift ###################################################################### # Some almost-function aliases # ###################################################################### -#alias serva='ssh luke@servb.ath.cx -p3440' -#alias phpdoctor='php /usr/gnu/www/0-other/phpdoctor-head/phpdoc.php' -function xterm-title () { echo "];$@"; } # Oh, wait this one *is* a function +xterm-title() { echo "];$@"; } # Oh, wait this one *is* a function alias lock="clear; away -C 'This terminal is locked'" alias plock="xterm-title Terminal Locked;lock" - -###################################################################### -# Other # -###################################################################### -case "$TERM" in - eterm*) alias editor='editor -n';; -esac +mvln() { mv $1 $2; ln -s $2 $1; } diff --git a/.config/bash/login.sh b/.config/bash/login.sh new file mode 100644 index 0000000..1269a03 --- /dev/null +++ b/.config/bash/login.sh @@ -0,0 +1,9 @@ +# ~/.bash_login: executed by bash(1) when login shell starts. + +# I think this is sane default behavior + +# Load user settings +. "$HOME/.profile" + +# Load bash settings (automatic for non-login shells) +. "$HOME/.bashrc" diff --git a/.config/bash/logout.sh b/.config/bash/logout.sh new file mode 100644 index 0000000..a8b88c1 --- /dev/null +++ b/.config/bash/logout.sh @@ -0,0 +1,9 @@ +# ~/.bash_logout: executed by bash(1) when login shell exits. + +# when leaving the console clear the screen to increase privacy + +if [ "$SHLVL" = 1 ]; then + [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q +fi + +make -C "$HOME" diff --git a/.bash.d/emacs.sh b/.config/bash/rc.d/emacs.sh index f484bbb..f484bbb 100644 --- a/.bash.d/emacs.sh +++ b/.config/bash/rc.d/emacs.sh diff --git a/.config/bash/rc.sh b/.config/bash/rc.sh new file mode 100644 index 0000000..ed55f75 --- /dev/null +++ b/.config/bash/rc.sh @@ -0,0 +1,80 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# I include this file for all interactive invocations of bash(1), whether +# they are login shells or not. + +# If not running interactively, don't do anything +[ -z "$PS1" ] && return + +# don't put duplicate lines in the history. See bash(1) for more options +export HISTCONTROL=ignoredups +export HISTFILE=${XDG_CACHE_HOME}/bash/history +export HISTTIMEFORMAT='[%Y-%m-%d %H:%M] ' +shopt -s histappend # append to the history file, don't overwrite it + +shopt -s checkwinsize # update the values of LINES and COLUMNS +shopt -s globstar # Let ** recursively scan directories + +# Why is this not on by default? +# "We have a cached value, but it isn't valid anymore. Should we trash it?" +shopt -s checkhash + +# make less more friendly for non-text input files, see lesspipe(1) +[ -x "`which lesspipe 2>/dev/null`" ] && 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 + +make_prompt() { + local RESET='' + local BOLD='' + local GREEN='' + local BLUE='' + if $1; then + RESET="$(tput sgr0)" + BOLD="$(tput bold)" + GREEN="$(tput setaf 2)" + BLUE="$(tput setaf 4)" + fi + local CHROOT='${debian_chroot:+($debian_chroot)}' + echo "${RESET}${BOLD}${CHROOT}${GREEN}"'\u@\h'"${RESET}:${BOLD}${BLUE}"'\w'"${RESET}" +} + +if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then + # We have color support; assume it's compliant with Ecma-48 + # (ISO/IEC-6429). (Lack of such support is extremely rare, and such + # a case would tend to support setf rather than setaf.) + PS1="$(make_prompt true )"'\n\$ ' +else + PS1="$(make_prompt false)"'\n\$ ' +fi + +# If this is an xterm set the title to user@host:dir +case "$TERM" in + xterm*|rxvt*) + PS1="\[\e]0;$(make_prompt false)\a\]$PS1";; +esac + +unset make_prompt + +# Include modular config files +if [ -d "${XDG_CONFIG_HOME}/rc.d" ]; then + for file in "${XDG_CONFIG_HOME}/rc.d"/*.sh; do + . "$file" + done +fi + +if [ -f ${XDG_CONFIG_HOME}/bash/aliases.sh ]; then + . ${XDG_CONFIG_HOME}/bash/aliases.sh +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 ]; then + . /etc/bash_completion +fi diff --git a/.full.asound b/.full.asound deleted file mode 100644 index bf41e03..0000000 --- a/.full.asound +++ /dev/null @@ -1,347 +0,0 @@ -state.PCH { - control.1 { - iface MIXER - name 'Headphone Playback Volume' - value.0 87 - value.1 87 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 87' - dbmin -6525 - dbmax 0 - dbvalue.0 0 - dbvalue.1 0 - } - } - control.2 { - iface MIXER - name 'Headphone Playback Switch' - value.0 true - value.1 true - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.3 { - iface MIXER - name 'Speaker Playback Volume' - value.0 87 - value.1 87 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 87' - dbmin -6525 - dbmax 0 - dbvalue.0 0 - dbvalue.1 0 - } - } - control.4 { - iface MIXER - name 'Speaker Playback Switch' - value.0 true - value.1 true - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.5 { - iface MIXER - name 'Mic Playback Volume' - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 31' - dbmin -3450 - dbmax 1200 - dbvalue.0 -3450 - dbvalue.1 -3450 - } - } - control.6 { - iface MIXER - name 'Mic Playback Switch' - value.0 false - value.1 false - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.7 { - iface MIXER - name 'Internal Mic Playback Volume' - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 31' - dbmin -3450 - dbmax 1200 - dbvalue.0 -3450 - dbvalue.1 -3450 - } - } - control.8 { - iface MIXER - name 'Internal Mic Playback Switch' - value.0 false - value.1 false - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.9 { - iface MIXER - name 'Auto-Mute Mode' - value Enabled - comment { - access 'read write' - type ENUMERATED - count 1 - item.0 Disabled - item.1 Enabled - } - } - control.10 { - iface MIXER - name 'Mic Boost Volume' - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 3' - dbmin 0 - dbmax 3600 - dbvalue.0 0 - dbvalue.1 0 - } - } - control.11 { - iface MIXER - name 'Internal Mic Boost Volume' - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 3' - dbmin 0 - dbmax 3600 - dbvalue.0 0 - dbvalue.1 0 - } - } - control.12 { - iface MIXER - name 'Capture Switch' - value.0 true - value.1 true - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.13 { - iface MIXER - name 'Capture Volume' - value.0 19 - value.1 19 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 31' - dbmin -1650 - dbmax 3000 - dbvalue.0 1200 - dbvalue.1 1200 - } - } - control.14 { - iface MIXER - name 'Beep Playback Volume' - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 31' - dbmin -3450 - dbmax 1200 - dbvalue.0 -3450 - dbvalue.1 -3450 - } - } - control.15 { - iface MIXER - name 'Beep Playback Switch' - value.0 false - value.1 false - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.16 { - iface MIXER - name 'Master Playback Volume' - value 87 - comment { - access 'read write' - type INTEGER - count 1 - range '0 - 87' - dbmin -6525 - dbmax 0 - dbvalue.0 0 - } - } - control.17 { - iface MIXER - name 'Master Playback Switch' - value true - comment { - access 'read write' - type BOOLEAN - count 1 - } - } - control.18 { - iface CARD - name 'Headphone Jack' - value false - comment { - access read - type BOOLEAN - count 1 - } - } - control.19 { - iface CARD - name 'Mic Jack' - value false - comment { - access read - type BOOLEAN - count 1 - } - } - control.20 { - iface CARD - name 'HDMI/DP,pcm=3 Jack' - value false - comment { - access read - type BOOLEAN - count 1 - } - } - control.21 { - iface MIXER - name 'IEC958 Playback Con Mask' - value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' - comment { - access read - type IEC958 - count 1 - } - } - control.22 { - iface MIXER - name 'IEC958 Playback Pro Mask' - value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' - comment { - access read - type IEC958 - count 1 - } - } - control.23 { - iface MIXER - name 'IEC958 Playback Default' - value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' - comment { - access 'read write' - type IEC958 - count 1 - } - } - control.24 { - iface MIXER - name 'IEC958 Playback Switch' - value true - comment { - access 'read write' - type BOOLEAN - count 1 - } - } - control.25 { - iface PCM - device 3 - name ELD - value '' - comment { - access read - type BYTES - count 0 - } - } - control.26 { - iface MIXER - name 'Digital Capture Volume' - value.0 60 - value.1 60 - comment { - access 'read write user' - type INTEGER - count 2 - range '0 - 120' - tlv '0000000100000008fffff44800000032' - dbmin -3000 - dbmax 3000 - dbvalue.0 0 - dbvalue.1 0 - } - } - control.27 { - iface MIXER - name 'PCM Playback Volume' - value.0 255 - value.1 255 - comment { - access 'read write user' - type INTEGER - count 2 - range '0 - 255' - tlv '0000000100000008ffffec1400000014' - dbmin -5100 - dbmax 0 - dbvalue.0 0 - dbvalue.1 0 - } - } -} diff --git a/.git.info.exclude b/.git.info.exclude.in index 871ebf6..612ecf2 100644 --- a/.git.info.exclude +++ b/.git.info.exclude.in @@ -16,7 +16,8 @@ # Ignore temp/log/history files *.log -log* +log.* +log *.tmp *.tmp.* @@ -49,20 +50,17 @@ lock # Ignore these special-purpose cache/temp files .camel_certs .compiz/session/* +.config/RecentDocuments/* .config/chromium/Default/History\ Index* -.current.asound +.config/okular/docdata/* .dbus/session-bus/* .ddd/sessions -.dvdcss .esd_auth .evolution/.* .gconfd/saved_state .gnash-media .gnash/SharedObjects/* -.kde/share/apps/RecentDocuments/* .kde/socket-* -.kde4/share/apps/RecentDocuments/* -.kde4/share/apps/okular/docdata/* .kde4/socket-* .lesshst .link*/*.his @@ -83,9 +81,10 @@ lock .xsession-errors* # Ignore files that are autogenerated +.config/libretools/blacklist.txt .folders +.git.info.exclude .nanorc -.config/libretools/blacklist.txt # Ignore these files for no good reason .bogofilter @@ -0,0 +1 @@ +.kde4
\ No newline at end of file diff --git a/.kde4/share/apps b/.kde4/share/apps new file mode 120000 index 0000000..7f8f949 --- /dev/null +++ b/.kde4/share/apps @@ -0,0 +1 @@ +../../.config
\ No newline at end of file diff --git a/.kde4/share/config b/.kde4/share/config new file mode 120000 index 0000000..7f8f949 --- /dev/null +++ b/.kde4/share/config @@ -0,0 +1 @@ +../../.config
\ No newline at end of file diff --git a/.login-daemons b/.login-daemons deleted file mode 100644 index bf8cf21..0000000 --- a/.login-daemons +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -if [ -x "`which daemon`" ]; then - daemon maildirproc - daemon gpg-agent --daemon --write-env-file "${HOME}/.gnupg/agent-info" - daemon batterymon 20 " - alsactl restore --file $HOME/.full.asound; - espeak 'PLUG ME IN'; - sleep .2;" -fi diff --git a/.maildirproc/default.rc b/.maildirproc/default.rc index 71bc00c..c2ad6f2 100644 --- a/.maildirproc/default.rc +++ b/.maildirproc/default.rc @@ -165,6 +165,7 @@ def my_filters(mail): for address in [ "justicejade10@aol.com", "parsonsjade@aol.com", + "parsonstjade@gmail.com", ]: if mail["From"].contains(address): mail.move(".misc.Jade") @@ -1,4 +1,8 @@ # ~/.profile: executed by the command interpreter for login shells. +# Should be whether logging in graphically or not. +# +# This file should be executable by /bin/sh, but I'm going to assume bash(1) +# # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. @@ -9,33 +13,44 @@ umask 022 ## Paths ############################################################# # Unix -bins=$(echo $HOME/bin $HOME/.local.`uname -m`/bin $HOME/.local/bin $HOME/.prefix.`uname -m`/bin $HOME/.prefix/bin $HOME/.gem/ruby/*/bin) -for dir in $bins; do - if [ -d "$dir" ]; then - export PATH="$dir:$PATH" - fi +bins=($HOME/bin $HOME/.local.`uname -m`/bin $HOME/.local/bin $HOME/.prefix.`uname -m`/bin $HOME/.prefix/bin $HOME/.gem/ruby/*/bin) +for dir in "${bins[@]}"; do + if [ -d "$dir" ]; then + export PATH="$dir:$PATH" + fi done # Ruby for dir in $HOME/.prefix/lib; do - if [ -d "$dir" ]; then - export RUBYLIB="$dir" - fi + if [ -d "$dir" ]; then + export RUBYLIB="$dir" + fi done # Settings ########################################################### # Text editor if [ -f "$HOME/.selected_editor" ]; then - . "$HOME/.selected_editor" - export SELECTED_EDITOR - export ALTERNATE_EDITOR - export EDITOR="${EDITOR:-$SELECTED_EDITOR}" - export VISUAL="${VISUAL:-$SELECTED_EDITOR}" + . "$HOME/.selected_editor" + export SELECTED_EDITOR + export ALTERNATE_EDITOR + export EDITOR="${EDITOR:-$SELECTED_EDITOR}" + export VISUAL="${VISUAL:-$SELECTED_EDITOR}" fi # GPG -export GPGKEY=D4FFBFC9 +if [ -z "$GPGKEY" ] && [ -f "${HOME}/.gnupg/gpg.conf" ]; then + export GPGKEY=`sed -nr 's/^\s*default-key\s+//p' "${HOME}/.gnupg/gpg.conf"` +fi +if [ -z "$(pgrep -u `whoami` gpg-agent)" ]; then + mkdir -p ${XDG_RUNTIME_DIR}/sessions/gpg + gpg-agent --daemon --write-env-file "${XDG_RUNTIME_DIR}/sessions/gpg" +fi +if [ -f "${XDG_RUNTIME_DIR}/sessions/gpg" ]; then + . "${XDG_RUNTIME_DIR}/sessions/gpg" + export GPG_AGENT_INFO + #export SSH_AUTH_SOCK +fi # Java _JAVA_OPTIONS='' @@ -43,36 +58,27 @@ _JAVA_OPTIONS+=' -Dawt.useSystemAAFontSettings=on' _JAVA_OPTIONS+=' -Dswing.aatext=true' _JAVA_OPTIONS+=' -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel' if [ -n "$TMPDIR" ]; then - _JAVA_OPTIONS+=" -Djava.io.tmpdir=$TMPDIR" + _JAVA_OPTIONS+=" -Djava.io.tmpdir=$TMPDIR" fi export _JAVA_OPTIONS -# ALSA -if [ -x "`which alsactl 2>/dev/null`" ]; then - alsactl restore "$HOME/.current.asound" &> /dev/null || true -fi - # X11 if [ -z "$XAUTHORITY" ]; then - export XAUTHORITY=$HOME/.Xauthority + export XAUTHORITY=$HOME/.Xauthority fi # D-Bus if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then - eval `dbus-launch` - export DBUS_SESSION_BUS_ADDRESS - export DBUS_SESSION_BUS_PID -fi + # I want a separate instance for each login + #dbus-launch > "${HOME}/.cache/sessions/dbus" + #. "${HOME}/.cache/sessions/dbus" + eval `dbus-launch` -# Start background programs ########################################## -if [ -f "$HOME/.login-daemons" ]; then - . "$HOME/.login-daemons" + export DBUS_SESSION_BUS_ADDRESS + export DBUS_SESSION_BUS_PID fi -# BASH ############################################################### -if [ -n "$BASH_VERSION" ]; then - # include .bashrc if it exists - if [ -f "$HOME/.bashrc" ]; then - . "$HOME/.bashrc" - fi +# Load any box-specific stuff +if [ -f "$HOME/.profile.local" ]; then + . "$HOME/.profile.local" fi diff --git a/.wicd/CLIENT_CURSES_WARNING b/.wicd/CLIENT_CURSES_WARNING deleted file mode 100644 index c98f13a..0000000 --- a/.wicd/CLIENT_CURSES_WARNING +++ /dev/null @@ -1,6 +0,0 @@ -The wicd-client script checks for the existence of this file to determine -whether it should warn the user before launching wicd-curses instead, in -the event of the gui client being launched outside of the X Window environment. - -If you delete this file, then wicd-client will print the warning if it is -launched outside of X (and then recreate this file again). diff --git a/.wicd/WHEREAREMYFILES b/.wicd/WHEREAREMYFILES deleted file mode 120000 index 5e06b02..0000000 --- a/.wicd/WHEREAREMYFILES +++ /dev/null @@ -1 +0,0 @@ -/var/lib/wicd/WHEREAREMYFILES
\ No newline at end of file diff --git a/.wmii/autostart b/.wmii/autostart index aae23f4..d95ce34 100755 --- a/.wmii/autostart +++ b/.wmii/autostart @@ -1,4 +1,11 @@ #!/bin/bash -daemon lxpanel &> /dev/null -daemon wicd-client -t &> /dev/null -daemon notifyd &> /dev/null +. "$HOME/.wmii/include.sh" + +daemon lxpanel &> /dev/null +daemon nm-applet &> /dev/null +daemon notifyd &> /dev/null + +#Action rbar_cpu 01 & +#Action rbar_wifi 97 & +Action rbar_battery 98 & +Action rbar_clock 99 & diff --git a/.wmii/config.sh b/.wmii/config.sh new file mode 100644 index 0000000..1dac0ad --- /dev/null +++ b/.wmii/config.sh @@ -0,0 +1,249 @@ +#!/bin/bash + +MODKEY=Mod4 # "super" +UP=p +DOWN=n +LEFT=b +RIGHT=f + +HIST="`conffile history`" + +# Colors tuples: "<text> <background> <border>" +. `conffile theme-solarized-dark` + +Event() { + event=$1; shift; + case "$event" in + ## Mouse event meanings: + ## MouseDown = mouse down + ## Click = mouse up + ## DND = hover, while dragging something (Drag 'n' Drop) + ## The associated mouse button is always "1" + ## + ## Mouse-button IDs: + ## 1 = left + ## 2 = middle + ## 3 = right + + ## Custom (non-WMII-generated) events + WmiircStart) ## No args + echo ' ==> Starting wmiirc' + is_mounted $WMII_DIR && Event WmiircUnmount + Event WmiircMount + + # Configure wmii + < "`conffile tagrules`" expand_variables >> $WMII_DIR/tagrules + < "`conffile ctl-init`" expand_variables >> $WMII_DIR/ctl + scansection Key | cut -sf2 >> $WMII_DIR/keys + # Configure X11 + xsetroot -solid "$WMII_BACKGROUND" + + # Clear the LBar and RBar + find $WMII_DIR/{l,r}bar -type f -delete + # Populate the LBar by emulating [Create|Focus]Tag events + seltag=`sed 1q $WMII_DIR/tag/sel/ctl` + lstags | while read tag; do + Event CreateTag "$tag" + if [ "$tag" = "$seltag" ]; then + Event FocusTag "$tag" + fi + done + + # Run the autostart action + Action autostart 2>/dev/null & + ;; + WmiircQuit) ## No args + echo ' ==> Stopping wmiirc' + exit;; + WmiircMount) ## No args + echo " -> Creating mountpoint WMII_DIR=$WMII_DIR..." + mkdir -p "$WMII_DIR" + echo " -> Mounting WMII_DIR=$WMII_DIR..." + 9mount -i "unix!$WMII_NAMESPACE/wmii" "$WMII_DIR";; + WmiircUnmount) ## No args + echo " -> Unmounting WMII_DIR=$WMII_DIR..." + 9umount "$WMII_DIR" + echo " -> Removing mountpoint WMII_DIR=$WMII_DIR..." + rmdir "$WMII_DIR";; + ## WMII-meta events + Quit) ## No args + echo ' ==> wmii quit: unmounting' + trap - EXIT + Event WmiircUnmount + Event WmiircQuit;; + Warning) ## $@=string + notify-send "wmii warning: $*";; + Key) ## $1=keystroke + Key "$@";; + + ## WMII Window management events + FocusFloating) ## No args + ;; + AreaFocus) ## $1=area + ;; + DestroyArea) ## $1=area + ;; + ColumnFocus) ## $1=column + ;; + CreateColumn) ## $1=column + ;; + + ## Client events + CreateClient) ## $1=client + ;; + DestroyClient) ## $1=client + ;; + Urgent) ## $1=client $2=[Manager|Client] + ;; + NotUrgent) ## $1=client $2=[Manager|Client] + ;; + ClientMouseDown) ## $1=client $2=button + client=$1 + button=$2 + case $button in + 1) ;; + 2) ;; + 3) + { + case `wmii9menu Delete Fullscreen` in + Delete) + echo kill >> $WMII_DIR/client/$client/ctl;; + Fullscreen) + echo Fullscreen on >> $WMII_DIR/client/$1/ctl;; + esac + }& ;; + esac;; + ClientClick) ## $1=client $2=button + ;; + Unresponsive) ## $1=client + client=$1 + client_name=`cat $WMII_DIR/client/$client/label` + msg="The client \`${client_name}' is not responding." + msg+=" What would you like to do?" + { + resp=$(wihack -transient $client \ + xmessage -nearmouse -buttons Kill,Wait -print "$msg") + if [ "$resp" = Kill ]; then + echo slay >> $WMII_DIR/client/$client/ctl + fi + }& ;; + Fullscreen) ## $1=client $2=[on|off] + # TODO: hide any clients with the 'panel' class + ;; + + ## Tag events + CreateTag) ## $1=tag + echo "$WMII_NORMCOLORS" $@ >> $WMII_DIR/lbar/$1;; + DestroyTag) ## $1=tag + rm $WMII_DIR/lbar/$1;; + FocusTag) ## $1=tag + echo "$WMII_FOCUSCOLORS" $1 >> $WMII_DIR/lbar/$1;; + UnfocusTag) ## $1=tag + echo "$WMII_NORMCOLORS" $1 >> $WMII_DIR/lbar/$1;; + UrgentTag) ## $1=tag $2=[Manager|Client] + echo "$WMII_URGENTCOLORS" $1 >> $WMII_DIR/lbar/$1;; + NotUrgentTag) ## $1=tag $2=[Manager|Client] + echo "$WMII_NORMCOLORS" $1 >> $WMII_DIR/lbar/$1;; + + ## LeftBar events (usually tag buttons) + LeftBarMouseDown) ## $1=button $2=bar_item + ;; + LeftBarClick) ## $1=button $2=bar_item + shift # ignore the button + echo view "$@" >> $WMII_DIR/ctl;; + LeftMouseDND) ## $1=button $2=bar_item + Event LeftBarClick "$@";; + + ## RightBar events + RightBarMouseDown) ## $1=button $2=bar_item + ;; + RightBarClick) ## $1=button $2=bar_item + ;; + RightMouseDND) ## $1=button $2=bar_item + Event RightBarClick "$@";; + esac +} ## End Event + +# Key Bindings +Key() { + key=$1 + case "$key" in + ## Moving around + + $MODKEY-$LEFT) ## Select the client to the left + echo select left >> $WMII_DIR/tag/sel/ctl;; + $MODKEY-$RIGHT) ## Select the client to the right + echo select right >> $WMII_DIR/tag/sel/ctl;; + $MODKEY-$UP) ## Select the client above + echo select up >> $WMII_DIR/tag/sel/ctl;; + $MODKEY-$DOWN) ## Select the client below + echo select down >> $WMII_DIR/tag/sel/ctl;; + + $MODKEY-space) ## Toggle between floating and managed layers + echo select toggle >> $WMII_DIR/tag/sel/ctl;; + + ## Moving clients around + + $MODKEY-Shift-$LEFT) ## Move selected client to the left + echo send sel left >> $WMII_DIR/tag/sel/ctl;; + $MODKEY-Shift-$RIGHT) ## Move selected client to the right + echo send sel right >> $WMII_DIR/tag/sel/ctl;; + $MODKEY-Shift-$UP) ## Move selected client up + echo send sel up >> $WMII_DIR/tag/sel/ctl;; + $MODKEY-Shift-$DOWN) ## Move selected client down + echo send sel down >> $WMII_DIR/tag/sel/ctl;; + $MODKEY-Shift-space) ## Toggle selected client between floating and managed layers + echo send sel toggle >> $WMII_DIR/tag/sel/ctl;; + + ## Moving through stacks + $MODKEY-Control-$UP) ## Select the stack above + echo select up stack >> $WMII_DIR/tag/sel/ctl;; + $MODKEY-Control-$DOWN) ## Select the stack below + echo select down stack >> $WMII_DIR/tag/sel/ctl;; + + ## Client actions + $MODKEY-shift-1) ## Toggle selected client's fullsceen state + echo Fullscreen toggle >> $WMII_DIR/client/sel/ctl;; + $MODKEY-shift-0) ## Close client + echo kill >> $WMII_DIR/client/sel/ctl;; + + ## Changing column modes + $MODKEY-d) ## Set column to default mode + echo colmode sel default-max >> $WMII_DIR/tag/sel/ctl;; + $MODKEY-s) ## Set column to stack mode + echo colmode sel stack-max >> $WMII_DIR/tag/sel/ctl;; + $MODKEY-m) ## Set column to max mode + echo colmode sel stack+max >> $WMII_DIR/tag/sel/ctl;; + + ## Running programs + $MODKEY-a) ## Open wmii actions menu + Action $(path_ls $WMII_CONFPATH | wimenu -h "${HIST}.actions" -n 5000) & ;; + $MODKEY-x) ## Open program menu + setsid $(path_ls $PATH | wimenu -h "${HIST}.progs" -n 5000) & ;; + $MODKEY-Return) ## Launch a terminal + setsid x-terminal-emulator & ;; + + ## Tag actions + $MODKEY-t) ## Change to another tag + { + tag=$(lstags | wimenu -h "${HIST}.tags" -n 50) || return + echo view $tag >> $WMII_DIR/ctl + }& ;; + $MODKEY-Shift-t) ## Retag the selected client + sel=$(sed 1q $WMII_DIR/client/sel/ctl) + { + tag=$(lstags | wimenu -h "${HIST}.tags" -n 50) || return + echo "$tag" >> $WMII_DIR/client/$sel/tags + }& ;; + esac +} ## End Key + +Action() { + prog=`path_which "$WMII_CONFPATH" $1`; shift + if [ -n "$prog" ]; then + "$prog" "$@" + return $? + else + return 1 + fi +} ## End Action diff --git a/.wmii/ctl-init b/.wmii/ctl-init new file mode 100644 index 0000000..026c0d5 --- /dev/null +++ b/.wmii/ctl-init @@ -0,0 +1,5 @@ +font xft:Monospace-8 +focuscolors $WMII_FOCUSCOLORS +normcolors $WMII_NORMCOLORS +grabmod $MODKEY +border 1 diff --git a/.wmii/fixes.sh b/.wmii/fixes.sh new file mode 100644 index 0000000..aa09157 --- /dev/null +++ b/.wmii/fixes.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Fix various deficiencies in either the shell or the filesystem + +## +# Usage: ls DIRECTORY +# Linux's 9p kernel module sometimes omits entries in directory listings +## +unalias ls &>/dev/null +ls() { + real_ls="`which ls` -1F" + [ $# = 0 ] && set -- "`pwd`" + f="${1/#${WMII_DIR}/}" + if [ "$f" = "$1" ]; then + $real_ls "$f" + else + wmiir ls "$f" + fi +} + +## +# Usage: setsid cmd [arguments...] +# I like wmiir's setsid better than linux-utils' +## +setsid() { wmiir setsid "$@"; } diff --git a/.wmii/help-events b/.wmii/help-events new file mode 100755 index 0000000..25b7d41 --- /dev/null +++ b/.wmii/help-events @@ -0,0 +1,3 @@ +#!/bin/bash +. "$HOME/.wmii/include.sh" +scansection Event | xmessage -file - diff --git a/.wmii/help-keys b/.wmii/help-keys new file mode 100755 index 0000000..c6e7038 --- /dev/null +++ b/.wmii/help-keys @@ -0,0 +1,3 @@ +#!/bin/bash +. "$HOME/.wmii/include.sh" +scansection Key | xmessage -file - diff --git a/.wmii/include.sh b/.wmii/include.sh index 36f8f3e..d4e58c3 100644 --- a/.wmii/include.sh +++ b/.wmii/include.sh @@ -1,70 +1,11 @@ #!/bin/bash if [ -z "$WMII_NAMESPACE" ]; then - export WMII_NAMESPACE=`wmiir namespace` + export WMII_NAMESPACE="`wmiir namespace`" fi if [ -z "$WMII_DIR" ]; then - export WMII_DIR=$WMII_NAMESPACE/mnt + export WMII_DIR="$HOME/n/wmii" fi -# a -- a work-around for buggy IO append in 9pfuse -# useing '|a' should be just like using '>>', but will work -# when 9pfuse decides to bug out. -a() { - f="${1/#${WMII_DIR}/}" - if [ "$f" = "$1" ]; then - cat >> "$1" - else - if wmiir ls "$f" &>/dev/null; then - wmiir write "$f" - else - wmiir create "$f" - fi - fi -} - -# I like wmiir's setsid better than linux-utils' -setsid() { wmiir setsid "$@"; } - -path_ls() { - find -L `echo "$@"|sed 'y/:/ /'` -maxdepth 1 -type f -executable -printf '%f\n' 2>/dev/null| sort -u -} - -path_which() { - mypath=$1 - prog=$2 - which=`which which` - PATH="$mypath" "$which" -- "$prog" 2>/dev/null -} - - -lstags() { - ls $WMII_DIR/tag | sed '/^sel$/d' -} - -scansection() { - file=`path_which "$WMII_CONFPATH" wmiirc` - sec=$1 - tmp=`mktemp` - if [ -n "$sec" ]; then - < "$file" sed -n "/^\s*$sec\s*()/,/##\s*End $sec/p" | sed '1d;$d'> $tmp - else - < "$file" sed "/\s*}\s*##\s*End\s/d" > $tmp - fi - < $tmp sed -n '/##/p'|sed -r 's/^\s*(.*)\)\s*## ?/\t\1\t/;s/\s*## ?//' - rm $tmp -} - -conffile() { - echo "$HOME/.wmii/$@" -} - -Action() { - prog=`path_which "$WMII_CONFPATH" $1`; shift - if [ -n "$prog" ]; then - "$prog" "$@" - return $? - else - return 1 - fi -} +. "$HOME/.wmii/util.sh" +. "$HOME/.wmii/config.sh" @@ -1,3 +1,3 @@ #!/bin/bash . "$HOME/.wmii/include.sh" -echo quit |a $WMII_DIR/ctl +echo quit >> $WMII_DIR/ctl diff --git a/.wmii/rbar_battery b/.wmii/rbar_battery index 7a7f24f..ae8980a 100755 --- a/.wmii/rbar_battery +++ b/.wmii/rbar_battery @@ -3,8 +3,7 @@ priority=$1 -set -e -while true; do - acpi -b |a "$WMII_DIR/rbar/${priority}_battery" +while connected_to_x_server; do + acpi -b >> "$WMII_DIR/rbar/${priority}_battery" sleep 1 done diff --git a/.wmii/rbar_clock b/.wmii/rbar_clock index 8e7d2a4..18c4493 100755 --- a/.wmii/rbar_clock +++ b/.wmii/rbar_clock @@ -3,8 +3,7 @@ priority=$1 -set -e -while true; do - date |a "$WMII_DIR/rbar/${priority}_clock" +while connected_to_x_server; do + date >> "$WMII_DIR/rbar/${priority}_clock" sleep .5 done diff --git a/.wmii/rbar_cpu b/.wmii/rbar_cpu index 7f891da..22da985 100755 --- a/.wmii/rbar_cpu +++ b/.wmii/rbar_cpu @@ -3,11 +3,10 @@ priority=$1 -set -e -while true; do +while connected_to_x_server; do # This doesn't work for me, it shows capacity - #echo -n 'Core MHz:' $(cat /proc/cpuinfo | grep 'cpu MHz' | sed 's/.*: //g; s/\..*//g;') |a "$WMII_DIR/rbar/${priority}_cpu" + #echo -n 'Core MHz:' $(cat /proc/cpuinfo | grep 'cpu MHz' | sed 's/.*: //g; s/\..*//g;') >> "$WMII_DIR/rbar/${priority}_cpu" # This actually displays %idle - echo 'CPU: [ '$(tail -n3 ~/tmp/cputime|sed -ur 's/\s\s+/\t/g'|cut -f2,11|sed 's/\t\(.*\)/(\1)/')' ]' |a "$WMII_DIR/rbar/${priority}_cpu" + echo 'CPU: [ '$(tail -n3 ~/tmp/cputime|sed -ur 's/\s\s+/\t/g'|cut -f2,11|sed 's/\t\(.*\)/(\1)/')' ]' >> "$WMII_DIR/rbar/${priority}_cpu" sleep 1 done diff --git a/.wmii/rbar_wifi b/.wmii/rbar_wifi index 608b164..2ada834 100755 --- a/.wmii/rbar_wifi +++ b/.wmii/rbar_wifi @@ -3,8 +3,7 @@ priority=$1 -set -e -while true; do - echo 'Wlan0:' $(iwconfig wlan0 | sed 's/ /\n/g' | grep Quality) |a "$WMII_DIR/rbar/${priority}_wifi" +while connected_to_x_server; do + echo 'Wlan0:' $(iwconfig wlan0 | sed 's/ /\n/g' | grep Quality) >> "$WMII_DIR/rbar/${priority}_wifi" sleep 1 done diff --git a/.wmii/tagrules b/.wmii/tagrules new file mode 100644 index 0000000..990151f --- /dev/null +++ b/.wmii/tagrules @@ -0,0 +1,3 @@ +/Emacs|Navigator/ -> +sel +/Eclipse/ -> +sel +/panel/ -> /.*/ diff --git a/.wmii/util.sh b/.wmii/util.sh new file mode 100644 index 0000000..43d7d4a --- /dev/null +++ b/.wmii/util.sh @@ -0,0 +1,128 @@ +#!/bin/bash + +# I moved "fixes" into a separate file because it isn't so much configuration... +. "$HOME/.wmii/fixes.sh" + +################################################################################ +# Added shell features # +################################################################################ + +## +# Usage: dquote STRING +# Safely double-quotes a string. +# It escapes ways to execute code, but not variables. +## +dquote() { + str=$1 + str="${str//\\/\\\\}" # backslash + str="${str//\"/\\\"}" # dquote + str="${str//\$(/\\\$(}" # $(...) + str="${str//\`/\\\`}" # backtick + printf '"%s"\n' "$str" +} + +## +# Usage: expand_variables +# Expands variables read from /dev/stdin +## +expand_variables() { + while read; do + eval printf "'%s\n'" "$(dquote "$REPLY")" + done +} + +is_mounted() { + dir="$(readlink -m $1)" + mntpnt="$(cut -d' ' -f2 /proc/mounts|grep -- "$dir")" + [[ $dir = "$mntpnt" ]] + return $? +} + +################################################################################ +# PATH manipulation # +################################################################################ + +## +# Usage: path_ls PATH +# List executables in PATH (PATH is delimited by `:') +## +path_ls() { + dirs="`echo "$@"|sed 'y/:/ /'`" + find -L $dirs -maxdepth 1 -type f -executable -printf '%f\n' 2>/dev/null | sort -u +} + +## +# Usage: path_which PATH PROGRAM +# Find the full path of PROGRAM by searching PATH +## +path_which() { + mypath=$1 + prog=$2 + which=`which which` + PATH="$mypath" "$which" -- "$prog" 2>/dev/null +} + +################################################################################ +# wmii convenience functions # +################################################################################ + +## +# Usage: lstags +# Lists wmii tags +## +lstags() { + ls $WMII_DIR/tag | sed -e 's@/@@' -e '/^sel$/d' +} + +################################################################################ +# X11 functions # +################################################################################ + +## +# Usage: connected_to_x_server +# Return status indicates whether there is an X server at $DISPLAY +## +connected_to_x_server() { + xdpyinfo &>/dev/null + return $? +} + +################################################################################ +# My wmii configuration # +################################################################################ + +## +# Usage: scansection [SECTION] +# Reads the doc comments from a section of wmiirc. +# If SECTION is not given, it reads all doc comments. +## +scansection() { + file=`conffile config.sh` + sec=$1 + tmp=`mktemp` + # Isolate the sections we want. + if [ -n "$sec" ]; then + # Find the section + < "$file" sed -n "/^\s*$sec\s*()/,/##\s*End $sec/p" | sed '1d;$d'> $tmp + else + # Remove extra lines that mark the end of a section + < "$file" sed "/\s*}\s*##\s*End\s/d" > $tmp + fi + < $tmp sed -n '/##/p' | while read; do + var="$(echo "$REPLY" | sed -nr 's/^\s*(.*)\)\s*##.*/\1/p')" + comment="$(echo "$REPLY" | sed -r 's/.*## ?//')" + if [ -z "$var" ]; then + printf '%s\n' "$comment" + else + printf '\t%s\t%s\n' "$(echo "$var"|expand_variables)" "$comment" + fi + done + rm $tmp +} + +## +# Usage: conffile FILE +## +conffile() { + echo "$HOME/.wmii/$@" +} diff --git a/.wmii/wmiirc b/.wmii/wmiirc index 92adb8b..1f1ea18 100755 --- a/.wmii/wmiirc +++ b/.wmii/wmiirc @@ -1,271 +1,12 @@ #!/bin/bash -# Let any running instances of wmiirc know that we're starting -wmiir xwrite /event Start - . "$HOME/.wmii/include.sh" -echo ' ==> Starting wmiirc' -mount9p=/opt/plan9/bin/9pfuse -mkdir -p $WMII_NAMESPACE/mnt -$mount9p $WMII_NAMESPACE/{wmii,mnt} - -MODKEY=Mod4 # super -UP=p -DOWN=n -LEFT=b -RIGHT=f - -# Colors tuples: "<text> <background> <border>" -. `conffile theme-solarized-dark` - -# Menu history -hist="`conffile history`" - -# Tagging Rules -echo '/Emacs|Navigator/ -> +sel' >> $WMII_DIR/tagrules -echo '/Eclipse/ -> +sel' >> $WMII_DIR/tagrules -echo '/panel/ -> /.*/' >> $WMII_DIR/tagrules - -Event() { - event=$1; shift; - case "$event" in - ## Mouse event meanings: - ## MouseDown = mouse down - ## Click = mouse up - ## DND = hover, while dragging something (Drag 'n' Drop) - ## The associated mouse button is always "1" - ## - ## Mouse-button IDs: - ## 1 = left - ## 2 = middle - ## 3 = right - - ## WMII-meta events - Quit) ## No args - echo ' ==> Stopping wmiirc' - echo " -> unmounting WMII_DIR=$WMII_DIR..." - # might complain about /etc/mtab if the x server has already stopped - fusermount -u "$WMII_DIR" 2>>/dev/null - echo " -> rmdir'ing WMII_DIR=$WMII_DIR..." - rmdir "$WMII_DIR" - exit;; - Warning) ## $@=string - notify-send "wmii warning: $*";; - Key) ## $1=keystroke - Key "$@";; - - ## WMII Window management events - FocusFloating) ## No args - ;; - AreaFocus) ## $1=area - ;; - DestroyArea) ## $1=area - ;; - ColumnFocus) ## $1=column - ;; - CreateColumn) ## $1=column - ;; - - ## Client events - CreateClient) ## $1=client - ;; - DestroyClient) ## $1=client - ;; - Urgent) ## $1=client $2=[Manager|Client] - ;; - NotUrgent) ## $1=client $2=[Manager|Client] - ;; - ClientMouseDown) ## $1=client $2=button - client=$1 - button=$2 - case $button in - 1) ;; - 2) ;; - 3) - { - case `wmii9menu Delete Fullscreen` in - Delete) - echo kill |a $WMII_DIR/client/$client/ctl;; - Fullscreen) - echo Fullscreen on |a $WMII_DIR/client/$1/ctl;; - esac - }& ;; - esac;; - ClientClick) ## $1=client $2=button - ;; - Unresponsive) ## $1=client - client=$1 - client_name=`cat $WMII_DIR/client/$client/label` - msg="The client \`${client_name}' is not responding." - msg+=" What would you like to do?" - { - resp=$(wihack -transient $client \ - xmessage -nearmouse -buttons Kill,Wait -print "$msg") - if [ "$resp" = Kill ]; then - echo slay |a $WMII_DIR/client/$client/ctl - fi - }& ;; - Fullscreen) ## $1=client $2=[on|off] - # TODO: hide any clients with the 'panel' class - ;; - - ## Tag events - CreateTag) ## $1=tag - echo "$WMII_NORMCOLORS" $@ |a $WMII_DIR/lbar/$1;; - DestroyTag) ## $1=tag - rm $WMII_DIR/lbar/$1;; - FocusTag) ## $1=tag - echo "$WMII_FOCUSCOLORS" $1 |a $WMII_DIR/lbar/$1;; - UnfocusTag) ## $1=tag - echo "$WMII_NORMCOLORS" $1 |a $WMII_DIR/lbar/$1;; - UrgentTag) ## $1=tag $2=[Manager|Client] - echo "$WMII_URGENTCOLORS" $1 |a $WMII_DIR/lbar/$1;; - NotUrgentTag) ## $1=tag $2=[Manager|Client] - echo "$WMII_NORMCOLORS" $1 |a $WMII_DIR/lbar/$1;; - - ## LeftBar events (usually tag buttons) - LeftBarMouseDown) ## $1=button $2=bar_item - ;; - LeftBarClick) ## $1=button $2=bar_item - shift # ignore the button - echo view "$@" |a $WMII_DIR/ctl;; - LeftMouseDND) ## $1=button $2=bar_item - Event LeftBarClick "$@";; - - ## RightBar events - RightBarMouseDown) ## $1=button $2=bar_item - ;; - RightBarClick) ## $1=button $2=bar_item - ;; - RightMouseDND) ## $1=button $2=bar_item - Event RightBarClick "$@";; - - ## Custom (non-WMII-generated) events - Start) ## No args - Event Quit;; # get out of the way for a new event loop - esac -} ## End Event - -# Key Bindings -Key() { - key=$1 - case "$key" in - ## Moving around - - $MODKEY-$LEFT) ## Select the client to the left - echo select left |a $WMII_DIR/tag/sel/ctl;; - $MODKEY-$RIGHT) ## Select the client to the right - echo select right |a $WMII_DIR/tag/sel/ctl;; - $MODKEY-$UP) ## Select the client above - echo select up |a $WMII_DIR/tag/sel/ctl;; - $MODKEY-$DOWN) ## Select the client below - echo select down |a $WMII_DIR/tag/sel/ctl;; - - $MODKEY-space) ## Toggle between floating and managed layers - echo select toggle |a $WMII_DIR/tag/sel/ctl;; - - ## Moving clients around - - $MODKEY-Shift-$LEFT) ## Move selected client to the left - wmiir xwrite /tag/sel/ctl send sel left;; - $MODKEY-Shift-$RIGHT) ## Move selected client to the right - wmiir xwrite /tag/sel/ctl send sel right;; - $MODKEY-Shift-$UP) ## Move selected client up - wmiir xwrite /tag/sel/ctl send sel up;; - $MODKEY-Shift-$DOWN) ## Move selected client down - wmiir xwrite /tag/sel/ctl send sel down;; - - $MODKEY-Shift-space) ## Toggle selected client between floating and managed layers - wmiir xwrite /tag/sel/ctl send sel toggle;; - - ## Moving through stacks - $MODKEY-Control-$UP) ## Select the stack above - wmiir xwrite /tag/sel/ctl select up stack;; - $MODKEY-Control-$DOWN) # Select the stack below - wmiir xwrite /tag/sel/ctl select down stack;; - - ## Client actions - $MODKEY-shift-1) ## Toggle selected client's fullsceen state - wmiir xwrite /client/sel/ctl Fullscreen toggle;; - $MODKEY-shift-0) ## Close client - wmiir xwrite /client/sel/ctl kill;; - - ## Changing column modes - $MODKEY-d) ## Set column to default mode - wmiir xwrite /tag/sel/ctl colmode sel default-max;; - $MODKEY-s) ## Set column to stack mode - wmiir xwrite /tag/sel/ctl colmode sel stack-max;; - $MODKEY-m) ## Set column to max mode - wmiir xwrite /tag/sel/ctl colmode sel stack+max;; - - ## Running programs - $MODKEY-a) ## Open wmii actions menu - Action $(path_ls $WMII_CONFPATH | wimenu -h "${hist}.actions" -n 5000) & ;; - $MODKEY-x) ## Open program menu - setsid $(wimenu -h "${hist}.progs" -n 5000 <$progsfile) & ;; - $MODKEY-Return) ## Launch a terminal - setsid x-terminal-emulator & ;; - - ## Other - $MODKEY-Control-t) ## Toggle all other key bindings - case $(wmiir read /keys | wc -l | tr -d ' \t\n') in - 0|1) - echo -n "$Keys" | wmiir write /keys - wmiir xwrite /ctl grabmod $MODKEY;; - *) - wmiir xwrite /keys $MODKEY-Control-t - wmiir xwrite /ctl grabmod Mod3;; - esac;; - - ## Tag actions - $MODKEY-t) ## Change to another tag - { - tag=$(lstags | wimenu -h "${hist}.tags" -n 50) || return - wmiir xwrite /ctl view $tag - }& ;; - $MODKEY-Shift-t) ## Retag the selected client - sel=$(sed 1q $WMII_DIR/client/sel/ctl) - { - tag=$(lstags | wimenu -h "${hist}.tags" -n 50) || return - wmiir xwrite /client/$sel/tags "$tag" - }& ;; - esac -} ## End Key - -# WM Configuration -echo font xft:Monospace-8 |a $WMII_DIR/ctl -echo focuscolors $WMII_FOCUSCOLORS |a $WMII_DIR/ctl -echo normcolors $WMII_NORMCOLORS |a $WMII_DIR/ctl -echo grabmod $MODKEY |a $WMII_DIR/ctl -echo border 1 |a $WMII_DIR/ctl -xsetroot -solid "$WMII_BACKGROUND" & - -progsfile=$WMII_NAMESPACE/.proglist -path_ls $PATH > $progsfile & - -eval arg `scansection Key|cut -sf2` |a $WMII_DIR/keys - -# Clear the LBar -find $WMII_DIR/lbar -type f -delete - -# Emulate [Create|Focus]Tag events -seltag=`sed 1q $WMII_DIR/tag/sel/ctl` -lstags | while read tag; do - Event CreateTag "$tag" - if [ "$tag" = "$seltag" ]; then - Event FocusTag "$tag" - fi -done - -Action autostart 2>/dev/null & +wmiir xwrite /event WmiircQuit # close any existing wmiirc's -if [ -f "`conffile wmiirc_local`" ]; then - . "`conffile wmiirc_local`" -fi +Event WmiircStart trap "Event Quit" EXIT -# use wmiir so it doesn't look like an open file wmiir read /event 2>/dev/null | while read event; do Event $event done diff --git a/.wmii/wmiirc_local b/.wmii/wmiirc_local deleted file mode 100644 index 1bcff2c..0000000 --- a/.wmii/wmiirc_local +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash this is included, not executed - -#Action rbar_cpu 01 & -#Action rbar_wifi 97 & -Action rbar_battery 98 & -Action rbar_clock 99 & @@ -1,26 +1 @@ -#!/bin/sh -# -# ~/.xinitrc -# -# Executed by startx (run your window manager from here) - -if [ -d /etc/X11/xinit/xinitrc.d ]; then - echo ' ==> Running scripts in Entering xinitrc.d/*' - for f in /etc/X11/xinit/xinitrc.d/*; do - echo " -> $f" - [ -x "$f" ] && "$f" & - done - unset f - echo ' -> done' -fi - -usermodmap="$HOME/.xmodmap" -if [ -f "$usermodmap" ]; then - xmodmap "$usermodmap" -fi - -# exec gnome-session -# exec startkde -# exec startxfce4 -# ...or the Window Manager of your choice -exec ck-launch-session wmii +.config/X11/clientrc
\ No newline at end of file diff --git a/.xserverrc b/.xserverrc new file mode 120000 index 0000000..f46e3e3 --- /dev/null +++ b/.xserverrc @@ -0,0 +1 @@ +.config/X11/serverrc
\ No newline at end of file diff --git a/.xsession b/.xsession index a16dc0b..ee16887 100644..120000 --- a/.xsession +++ b/.xsession @@ -1,10 +1 @@ -#!/bin/sh - -# -# ~/.xsession -# -# Executed by xdm/gdm/kdm at login -# - -/bin/bash --login -i ~/.xinitrc - +.config/X11/login
\ No newline at end of file @@ -4,22 +4,19 @@ NANO_BIN_PREFIX = $(patsubst %/bin/nano,%,$(shell which nano)) NANO_CHECK = $(HOME)/.prefix:$(HOME):/usr/local:/usr:$(NANO_BIN_PREFIX) NANO_SHARE = $(firstword $(wildcard $(addsuffix /share/nano,$(subst :, ,$(NANO_CHECK))))) -ALSACTL=$(firstword $(shell . $(HOME)/.profile &>/dev/null; which alsactl) echo) - -targets=.nanorc .folders .crontab.cookie .current.asound +targets=.nanorc .folders .crontab.cookie .git.info.exclude all: $(targets) clean: rm -f $(targets) -%.asound: FORCE - $(ALSACTL) store --file '$@' - .nanorc: .nanorc.in $(NANO_SHARE) cat '$<' > '$@' for file in $(NANO_SHARE)/*.nanorc; do echo "include \"$$file\""; done >> '$@' .folders: Maildir ( echo '..'; find ~/Maildir -maxdepth 2 -type f -name "maildirfolder" -printf '%h\n'|sed -r 's@.*/(.*\.)(.*)@.\1\2@' )|sort>'$@' +.git.info.exclude: .git.info.exclude.in . + ( cat $<; find . -type f -name 'CACHEDIR.TAG' -printf '%h\n'|sed 's@^\./@/@' ) > $@ .crontab.cookie: .crontab .crontab.local -(cat $^; echo) | crontab - 2>/dev/null |