From 674efbf431f2c1c879c9bfed05f7ed6adce22351 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 27 Mar 2014 15:24:05 -0400 Subject: pre-merge move --- .Xdefaults | 18 -- .bash.d/emacs.sh | 8 - .bash_aliases | 66 ------- .bash_logout | 9 - .bashrc | 117 ------------- .bazaar/ignore | 10 -- .bootstrap.min.sh | 7 - .config/X11/clientrc | 26 +++ .config/X11/defaults | 18 ++ .config/X11/login | 10 ++ .config/bash/aliases.sh | 66 +++++++ .config/bash/logout.sh | 9 + .config/bash/rc.d/emacs.sh | 8 + .config/bash/rc.sh | 117 +++++++++++++ .config/bazaar/ignore | 10 ++ .config/conkeror | 55 ++++++ .config/cron/.crontab | 0 .config/cron/.crontab.local | 0 .config/emacs/.gitignore | 9 + .config/emacs/custom.el | 21 +++ .config/emacs/emacsutils.el | 13 ++ .config/emacs/init.el | 180 +++++++++++++++++++ .config/git/config | 10 ++ .config/hgrc | 2 + .config/irbrc | 1 + .config/login.local.sh | 6 + .config/login.sh | 67 ++++++++ .config/maildirproc/default.rc | 351 ++++++++++++++++++++++++++++++++++++++ .config/offlineimaprc | 29 ++++ .config/ssh/config | 3 + .config/wmii/autostart | 4 + .config/wmii/include.sh | 70 ++++++++ .config/wmii/quit | 3 + .config/wmii/rbar_battery | 10 ++ .config/wmii/rbar_clock | 10 ++ .config/wmii/rbar_cpu | 13 ++ .config/wmii/rbar_wifi | 10 ++ .config/wmii/theme-solarized | 16 ++ .config/wmii/theme-solarized-dark | 12 ++ .config/wmii/wmiirc | 271 +++++++++++++++++++++++++++++ .conkerorrc | 55 ------ .crontab | 0 .crontab.local | 0 .emacs | 12 -- .emacs.d/.gitignore | 9 - .emacs.d/custom.el | 21 --- .emacs.d/emacsutils.el | 13 -- .gitconfig | 10 -- .hgrc | 2 - .irbrc | 1 - .login-daemons | 6 - .maildirproc/default.rc | 351 -------------------------------------- .offlineimaprc | 29 ---- .profile | 67 -------- .ssh/config | 3 - .wicd/WHEREAREMYFILES | 1 - .wmii/autostart | 4 - .wmii/include.sh | 70 -------- .wmii/quit | 3 - .wmii/rbar_battery | 10 -- .wmii/rbar_clock | 10 -- .wmii/rbar_cpu | 13 -- .wmii/rbar_wifi | 10 -- .wmii/theme-solarized | 16 -- .wmii/theme-solarized-dark | 12 -- .wmii/wmiirc | 271 ----------------------------- .xinitrc | 26 --- .xsession | 10 -- 68 files changed, 1430 insertions(+), 1270 deletions(-) delete mode 100644 .Xdefaults delete mode 100644 .bash.d/emacs.sh delete mode 100644 .bash_aliases delete mode 100644 .bash_logout delete mode 100644 .bashrc delete mode 100644 .bazaar/ignore delete mode 100644 .bootstrap.min.sh create mode 100644 .config/X11/clientrc create mode 100644 .config/X11/defaults create mode 100644 .config/X11/login create mode 100644 .config/bash/aliases.sh create mode 100644 .config/bash/logout.sh create mode 100644 .config/bash/rc.d/emacs.sh create mode 100644 .config/bash/rc.sh create mode 100644 .config/bazaar/ignore create mode 100644 .config/conkeror create mode 100644 .config/cron/.crontab create mode 100644 .config/cron/.crontab.local create mode 100644 .config/emacs/.gitignore create mode 100644 .config/emacs/custom.el create mode 100644 .config/emacs/emacsutils.el create mode 100644 .config/emacs/init.el create mode 100644 .config/git/config create mode 100644 .config/hgrc create mode 100644 .config/irbrc create mode 100644 .config/login.local.sh create mode 100644 .config/login.sh create mode 100644 .config/maildirproc/default.rc create mode 100644 .config/offlineimaprc create mode 100644 .config/ssh/config create mode 100755 .config/wmii/autostart create mode 100644 .config/wmii/include.sh create mode 100755 .config/wmii/quit create mode 100755 .config/wmii/rbar_battery create mode 100755 .config/wmii/rbar_clock create mode 100755 .config/wmii/rbar_cpu create mode 100755 .config/wmii/rbar_wifi create mode 100644 .config/wmii/theme-solarized create mode 100644 .config/wmii/theme-solarized-dark create mode 100755 .config/wmii/wmiirc delete mode 100644 .conkerorrc delete mode 100644 .crontab delete mode 100644 .crontab.local delete mode 100644 .emacs delete mode 100644 .emacs.d/.gitignore delete mode 100644 .emacs.d/custom.el delete mode 100644 .emacs.d/emacsutils.el delete mode 100644 .gitconfig delete mode 100644 .hgrc delete mode 100644 .irbrc delete mode 100644 .login-daemons delete mode 100644 .maildirproc/default.rc delete mode 100644 .offlineimaprc delete mode 100644 .profile delete mode 100644 .ssh/config delete mode 120000 .wicd/WHEREAREMYFILES delete mode 100755 .wmii/autostart delete mode 100644 .wmii/include.sh delete mode 100755 .wmii/quit delete mode 100755 .wmii/rbar_battery delete mode 100755 .wmii/rbar_clock delete mode 100755 .wmii/rbar_cpu delete mode 100755 .wmii/rbar_wifi delete mode 100644 .wmii/theme-solarized delete mode 100644 .wmii/theme-solarized-dark delete mode 100755 .wmii/wmiirc delete mode 100644 .xinitrc delete mode 100644 .xsession diff --git a/.Xdefaults b/.Xdefaults deleted file mode 100644 index ceabc5c..0000000 --- a/.Xdefaults +++ /dev/null @@ -1,18 +0,0 @@ -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/.bash.d/emacs.sh b/.bash.d/emacs.sh deleted file mode 100644 index f484bbb..0000000 --- a/.bash.d/emacs.sh +++ /dev/null @@ -1,8 +0,0 @@ -case "$TERM" in - eterm*) - SELECTED_EDITOR='emacsclient' - EDITOR=$SELECTED_EDITOR - VISUAL=$SELECTED_EDITOR - export SELECTED_EDITOR EDITOR VISUAL - :;; -esac diff --git a/.bash_aliases b/.bash_aliases deleted file mode 100644 index de1a321..0000000 --- a/.bash_aliases +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/bash -# The above line probably should never be *used* in this file, but it -# lets text editors know that this is BASH syntax. - -###################################################################### -# Set up colors and settings for ls/dir/vdir # -###################################################################### -if [ -x "`which dircolors`" ]; then - eval "`dircolors -b`" - alias ls='ls -1v --color=auto' - alias dir='dir -v --color=auto' - alias vdir='vdir -v--color=auto' - - for xgrep in ${PATH//:/\/*grep }/*grep; do - if [ -f "$xgrep" ]; then - xgrep=`basename "$xgrep"` - if [ "$xgrep" != pgrep ]; then - alias $xgrep="$xgrep --color=auto" - fi - fi - done -else - alias ls='ls -1v' - alias dir='dir -v' - alias vdir='vdir -v' -fi - -###################################################################### -# Set up the standard aliases for ls # -###################################################################### -alias ll='ls -l' -alias la='ls -a' -alias l='ls -CF' - -###################################################################### -# Some preferences for miscellaneous stuff # -###################################################################### -#alias rm='gvfs-trash' -alias ssh='ssh -XC' -alias sed='sed --follow-symlinks' -alias tree='tree --charset utf8' -alias cd=pushd -alias gitk='gitk --all --date-order' - -###################################################################### -# Remember lat/long for redshift # -###################################################################### -redshift='redshift -l39.9030:85.9979' -alias gtk-redshift="gtk-$redshift" -alias redshift="$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 -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 diff --git a/.bash_logout b/.bash_logout deleted file mode 100644 index a8b88c1..0000000 --- a/.bash_logout +++ /dev/null @@ -1,9 +0,0 @@ -# ~/.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/.bashrc b/.bashrc deleted file mode 100644 index ed5d87e..0000000 --- a/.bashrc +++ /dev/null @@ -1,117 +0,0 @@ -# ~/.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 - -# 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"; diff --git a/.bazaar/ignore b/.bazaar/ignore deleted file mode 100644 index 0e498f2..0000000 --- a/.bazaar/ignore +++ /dev/null @@ -1,10 +0,0 @@ -*.a -*.o -*.py[co] -*.so -*.sw[nop] -*~ -.#* -[#]*# -__pycache__ -bzr-orphans diff --git a/.bootstrap.min.sh b/.bootstrap.min.sh deleted file mode 100644 index eed85b5..0000000 --- a/.bootstrap.min.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -files='.bashrc .bash_aliases .gitconfig .profile' -for file in $files; do - rm -f $file - wget http://gitorious.org/lukeshu-dotfiles/lukeshu-dotfiles/blobs/raw/master/$file; -done diff --git a/.config/X11/clientrc b/.config/X11/clientrc new file mode 100644 index 0000000..9c5ce55 --- /dev/null +++ b/.config/X11/clientrc @@ -0,0 +1,26 @@ +#!/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 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..a16dc0b --- /dev/null +++ b/.config/X11/login @@ -0,0 +1,10 @@ +#!/bin/sh + +# +# ~/.xsession +# +# Executed by xdm/gdm/kdm at login +# + +/bin/bash --login -i ~/.xinitrc + diff --git a/.config/bash/aliases.sh b/.config/bash/aliases.sh new file mode 100644 index 0000000..de1a321 --- /dev/null +++ b/.config/bash/aliases.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# The above line probably should never be *used* in this file, but it +# lets text editors know that this is BASH syntax. + +###################################################################### +# Set up colors and settings for ls/dir/vdir # +###################################################################### +if [ -x "`which dircolors`" ]; then + eval "`dircolors -b`" + alias ls='ls -1v --color=auto' + alias dir='dir -v --color=auto' + alias vdir='vdir -v--color=auto' + + for xgrep in ${PATH//:/\/*grep }/*grep; do + if [ -f "$xgrep" ]; then + xgrep=`basename "$xgrep"` + if [ "$xgrep" != pgrep ]; then + alias $xgrep="$xgrep --color=auto" + fi + fi + done +else + alias ls='ls -1v' + alias dir='dir -v' + alias vdir='vdir -v' +fi + +###################################################################### +# Set up the standard aliases for ls # +###################################################################### +alias ll='ls -l' +alias la='ls -a' +alias l='ls -CF' + +###################################################################### +# Some preferences for miscellaneous stuff # +###################################################################### +#alias rm='gvfs-trash' +alias ssh='ssh -XC' +alias sed='sed --follow-symlinks' +alias tree='tree --charset utf8' +alias cd=pushd +alias gitk='gitk --all --date-order' + +###################################################################### +# Remember lat/long for redshift # +###################################################################### +redshift='redshift -l39.9030:85.9979' +alias gtk-redshift="gtk-$redshift" +alias redshift="$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 +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 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/.config/bash/rc.d/emacs.sh b/.config/bash/rc.d/emacs.sh new file mode 100644 index 0000000..f484bbb --- /dev/null +++ b/.config/bash/rc.d/emacs.sh @@ -0,0 +1,8 @@ +case "$TERM" in + eterm*) + SELECTED_EDITOR='emacsclient' + EDITOR=$SELECTED_EDITOR + VISUAL=$SELECTED_EDITOR + export SELECTED_EDITOR EDITOR VISUAL + :;; +esac diff --git a/.config/bash/rc.sh b/.config/bash/rc.sh new file mode 100644 index 0000000..ed5d87e --- /dev/null +++ b/.config/bash/rc.sh @@ -0,0 +1,117 @@ +# ~/.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 + +# 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"; diff --git a/.config/bazaar/ignore b/.config/bazaar/ignore new file mode 100644 index 0000000..0e498f2 --- /dev/null +++ b/.config/bazaar/ignore @@ -0,0 +1,10 @@ +*.a +*.o +*.py[co] +*.so +*.sw[nop] +*~ +.#* +[#]*# +__pycache__ +bzr-orphans diff --git a/.config/conkeror b/.config/conkeror new file mode 100644 index 0000000..e33add1 --- /dev/null +++ b/.config/conkeror @@ -0,0 +1,55 @@ +/* -*- Mode: js -*- */ +session_pref("signon.rememberSignons", true); +session_pref("signon.expireMasterPassword", false); +session_pref("signon.SignonFileName", "signons.txt"); + +define_webjump("ddg", "https://duckduckgo.com/?q=%s"); + +// Load login manager +Components.classes["@mozilla.org/login-manager;1"].getService(Components.interfaces.nsILoginManager); + +// Auto complete stuff +minibuffer_auto_complete_default = true; +url_completion_use_history = true; // should work since bf05c87405 +url_completion_use_bookmarks = true; + +// Prompt before closing +//define_key(content_buffer_normal_keymap, "C-x C-c", "confirm-quit"); +//can_kill_last_buffer = false; + +// Workaround for scrollbar bug (issue351) +add_hook("create_buffer_late_hook", + function (buffer) { + buffer.top_frame.scrollbars.visible = true; + }); + +// load session module +require("session.js"); +session_auto_save_auto_load = true; // auto-load session + +// Don't show a clock in the modeline +remove_hook("mode_line_hook", mode_line_adder(clock_widget)); + +// Add favicons to the modeline +require("favicon"); +add_hook("mode_line_hook", mode_line_adder(buffer_icon_widget), true); +read_buffer_show_icons = true; + +// load firebug lite +define_variable("firebug_url", + "https://getfirebug.com/firebug-lite.js"); + +function firebug (I) { + var doc = I.buffer.document; + var script = doc.createElement('script'); + script.setAttribute('type', 'text/javascript'); + script.setAttribute('src', firebug_url); + script.setAttribute('onload', 'firebug.init();'); + doc.body.appendChild(script); +} +interactive("firebug", "open firebug lite", firebug); + +// Make middle-click open links in a new buffer +require("clicks-in-new-buffer.js"); +clicks_in_new_buffer_target = OPEN_NEW_BUFFER_BACKGROUND; +clicks_in_new_buffer_button = 1; diff --git a/.config/cron/.crontab b/.config/cron/.crontab new file mode 100644 index 0000000..e69de29 diff --git a/.config/cron/.crontab.local b/.config/cron/.crontab.local new file mode 100644 index 0000000..e69de29 diff --git a/.config/emacs/.gitignore b/.config/emacs/.gitignore new file mode 100644 index 0000000..ef4ec20 --- /dev/null +++ b/.config/emacs/.gitignore @@ -0,0 +1,9 @@ +auto-save-list/* +el-get/* +elmo/* +elpa/* +image-dired/* +server/* +session.* +tramp +url/* diff --git a/.config/emacs/custom.el b/.config/emacs/custom.el new file mode 100644 index 0000000..5a3e67f --- /dev/null +++ b/.config/emacs/custom.el @@ -0,0 +1,21 @@ +(custom-set-variables + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(custom-enabled-themes (quote (wombat))) + '(custom-safe-themes (quote ("71b172ea4aad108801421cc5251edb6c792f3adbaecfa1c52e94e3d99634dee7" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default))) + '(erc-nick "lukeshu") + '(explicit-shell-file-name "/bin/bash") + '(inhibit-startup-screen t) + '(mdmua-maildir "~/Maildir") + '(minibuffer-prompt-properties (quote (read-only t point-entered minibuffer-avoid-prompt face minibuffer-prompt))) + '(ruby-deep-arglist nil) + '(ruby-deep-indent-paren nil) + '(scroll-bar-mode nil)) +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + ) diff --git a/.config/emacs/emacsutils.el b/.config/emacs/emacsutils.el new file mode 100644 index 0000000..966d16e --- /dev/null +++ b/.config/emacs/emacsutils.el @@ -0,0 +1,13 @@ +(defun mailto-compose-mail (mailto-url) + (if (and (stringp mailto-url) + (string-match "\\`mailto:" mailto-url)) + (progn + (require 'rfc2368) + (let* ((headers (mapcar (lambda (h) (cons (intern (car h)) (cdr h))) + (rfc2368-parse-mailto-url mailto-url))) + (good-headers (remove-if (lambda (h) (member (car h) '(Body))) headers)) + (body (cdr (assoc 'Body headers)))) + (wl-draft good-headers nil nil body))))) + +(defun emacs-terminal-emulator (program) + (ansi-term program)) \ No newline at end of file diff --git a/.config/emacs/init.el b/.config/emacs/init.el new file mode 100644 index 0000000..3cd2ea3 --- /dev/null +++ b/.config/emacs/init.el @@ -0,0 +1,180 @@ +;; Preliminary settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(set-face-attribute 'default nil :height 80) +(setq notify-method 'notify-via-libnotify) +(add-to-list 'load-path "~/.emacs.d/") +(add-to-list 'load-path "~/.emacs.d/el-get/el-get") +(setq custom-file "~/.emacs.d/custom.el") + +; derived from ELPA installation +; http://tromey.com/elpa/install.html +(defun eval-url (url) + (let ((buffer (url-retrieve-synchronously url))) + (save-excursion + (set-buffer buffer) + (goto-char (point-min)) + (re-search-forward "^$" nil 'move) + (eval-region (point) (point-max)) + (kill-buffer (current-buffer))))) + + ;; ELPA stuff ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(unless (require 'package nil t) + (eval-url "http://tromey.com/elpa/package-install.el")) + +(setq package-archives '(("ELPA" . "http://tromey.com/elpa/") + ("marmalade" . "http://marmalade-repo.org/packages/") + ("gnu" . "http://elpa.gnu.org/packages/"))) + +;; el-get stuff ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(setq el-get-install-branch "master") ;; live life on the edge +(unless (require 'el-get nil t) + (eval-url "https://github.com/dimitri/el-get/raw/master/el-get-install.el")) + +(setq el-get-sources '( + (:name nxhtml + :type http + :url "http://ourcomments.org/Emacs/DL/elisp/nxhtml/zip/nxhtml-2.08-100425.zip" + :build ("unzip nxhtml-2.08-100425.zip") + :load "nxhtml/autostart.el") + )) + +(setq my-el-get-packages + '(el-get +; nxhtml + apel flim semi wanderlust + smarttabs + )) + +;; Now load all of that ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; ELPA +(package-initialize) +;; el-get +(when (require 'el-get nil t) (el-get 'sync my-el-get-packages)) +;; custom +(load custom-file 'noerror) + +;; General settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;(load "mdmua") +(load "emacsutils") + +(tool-bar-mode -1) +(ido-mode t) +(show-paren-mode 1) +(setq org-hide-leading-stars t) +(setq org-log-done 'time) +;(xclip-mode 1) + +(load "whitespace") +(setq whitespace-style '( + tab-mark + space-mark + newline-mark + empty +)) + + +;; These are my preferred settings; we let dtrt-indent detect when we play with other's files +(setq-default tab-width 8) +(setq-default c-basic-offset 8) +(setq-default indent-tabs-mode t) + + +(setq + backup-by-copying t ;; don't clobber symlinks + backup-directory-alist '(("." . "~/.emacs.d/saves")) ;; don't litter my fs tree + delete-old-versions t + kept-new-versions 6 + kept-old-versions 2 + version-control t ;; use versioned backups +) + +(setq column-number-mode t + inhibit-startup-screen t + line-number-mode t + server-use-tcp t + server-mode t + show-paren-mode t) + +(setq browse-url-generic-program (executable-find "v-www-browser") + browse-url-browser-function 'browse-url-generic) + + +(defun toggle-fullscreen (&optional f) + (interactive) + (let ((current-value (frame-parameter nil 'fullscreen))) + (set-frame-parameter nil 'fullscreen + (if (equal 'fullboth current-value) + (if (boundp 'old-fullscreen) old-fullscreen nil) + (progn (setq old-fullscreen current-value) + 'fullboth))))) + +;; Custom keybindings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(global-set-key [f11] 'toggle-fullscreen) +(global-set-key "\C-cw" 'global-whitespace-mode) + +;; mode-hooks ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(add-hook 'text-mode-hook 'turn-on-auto-fill) + +; for term-mode +;; (add-hook 'after-make-frame-functions +;; (lambda (frame) +;; (set-variable 'term-default-fg-color +;; (face-foreground 'default)) +;; (set-variable 'term-default-bg-color +;; (face-background 'default))) +;; t) + +(add-hook 'lisp-mode-hook + '(lambda () + (set (make-local-variable 'indent-tabs-mode) nil) + )) + +(add-hook 'emacs-lisp-mode-hook + '(lambda () + (set (make-local-variable 'indent-tabs-mode) nil) + )) + +(add-hook 'coffee-mode-hook + '(lambda () + (set (make-local-variable 'tab-width) 2) + )) + +(add-hook 'term-mode-hook + '(lambda () + (setq term-prompt-regexp "^[^#$%>\n]*[#$%>] *") + (make-local-variable 'mouse-yank-at-point) + ;(make-local-variable 'transient-mark-mode) + (setq mouse-yank-at-point t) + ;(setq transient-mark-mode nil) + (auto-fill-mode -1) + (setq tab-width 8 ) + (setq autopair-dont-activate t) ;; Don't let autopair break ansi-term + )) + +(add-hook 'ruby-mode-hook + '(lambda () + (set (make-local-variable 'indent-tabs-mode) t) + (set (make-local-variable 'ruby-indent-level) 4) + (set (make-local-variable 'tab-width) 4) + )) + +(add-hook 'coffee-mode-hook + '(lambda () + (set (make-local-variable 'indent-tabs-mode) nil) + )) + +(add-to-list 'auto-mode-alist '("PKGBUILD" . sh-mode)) + +;(require 'flymake) +;(add-hook 'php-mode-hook (lambda() (flymake-mode 1))) +;(define-key php-mode-map '[M-S-up] 'flymake-goto-prev-error) +;(define-key php-mode-map '[M-S-down] 'flymake-goto-next-error) + +;(setq tramp-debug-buffer t) +;(setq tramp-verbose 10) diff --git a/.config/git/config b/.config/git/config new file mode 100644 index 0000000..9846d72 --- /dev/null +++ b/.config/git/config @@ -0,0 +1,10 @@ +[user] + name = Luke Shumaker + email = LukeShu@sbcglobal.net +[color] + ui = auto +[sendemail] + smtpencryption = ssl + smtpserver = plus.smtp.mail.yahoo.com + smtpuser = lukeshu@sbcglobal.net + smtpserverport = 465 diff --git a/.config/hgrc b/.config/hgrc new file mode 100644 index 0000000..96fce82 --- /dev/null +++ b/.config/hgrc @@ -0,0 +1,2 @@ +[ui] +username = Luke Shumaker diff --git a/.config/irbrc b/.config/irbrc new file mode 100644 index 0000000..7596d96 --- /dev/null +++ b/.config/irbrc @@ -0,0 +1 @@ +require 'rubygems' unless defined? Gem # only needed in 1.8 diff --git a/.config/login.local.sh b/.config/login.local.sh new file mode 100644 index 0000000..1da7aa7 --- /dev/null +++ b/.config/login.local.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ -x "`which daemon`" ]; then + # daemon ... + : +fi diff --git a/.config/login.sh b/.config/login.sh new file mode 100644 index 0000000..377dc9b --- /dev/null +++ b/.config/login.sh @@ -0,0 +1,67 @@ +# ~/.profile: executed by the command interpreter for login shells. +# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login +# exists. + +# the default umask is set in /etc/profile; for setting the umask +# for ssh logins, install and configure the libpam-umask package. +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 +done + +# Ruby +for dir in $HOME/.prefix/lib; do + 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}" +fi + +# GPG +export GPGKEY=D4FFBFC9 + +# Java +_JAVA_OPTIONS='' +_JAVA_OPTIONS+=' -Dawt.useSystemAAFontSettings=on' +_JAVA_OPTIONS+=' -Dswing.aatext=true' +_JAVA_OPTIONS+=' -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel' +_JAVA_OPTIONS+=" -Djava.io.tmpdir=$TMPDIR" +export _JAVA_OPTIONS + +# X11 +if [ -z "$XAUTHORITY" ]; then + export XAUTHORITY=$HOME/.Xauthority +fi + +# Start background programs ########################################## +if [ -f "$HOME/.login-daemons" ]; then + . "$HOME/.login-daemons" +fi + +# BASH ############################################################### +if [ -n "$BASH_VERSION" ]; then + # include .bashrc if it exists + if [ -f "$HOME/.bashrc" ]; then + . "$HOME/.bashrc" + fi +fi + +export PERL5LIB=/homes/shumakl/.prefix.x86_64/lib64/perl5:$PERL5LIB +export GOROOT=/homes/shumakl/.prefix.x86_64/go diff --git a/.config/maildirproc/default.rc b/.config/maildirproc/default.rc new file mode 100644 index 0000000..71bc00c --- /dev/null +++ b/.config/maildirproc/default.rc @@ -0,0 +1,351 @@ +# -*- mode: python; -*- + +import subprocess + +processor.maildir_base = "~/Maildir" +processor.auto_reload_rcfile = True + +def is_to_or_from(mail,address): + """ + Return true if [mail] is to or from an address that contains [address]. + """ + return ( + mail["From"].contains(address) + or mail.target.contains(address)) +def is_to_or_from_re(mail,address): + """ + Return true if [mail] is to or from an address that matches the + regex [address]. + """ + return ( + mail["From"].matches(address) + or mail.target.matches(address)) + +def bogofilter_auto(mail): + p = subprocess.Popen( + ["bogofilter", "-u", "-v", "-I", mail.path], + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + (output, _) = p.communicate() + processor.log("*** Bogofilter result: {0!r}".format(output.rstrip())) + if p.returncode not in [0, 1, 2]: + processor.log_error( + "Error running bogofilter: Return code = {0!r}".format( + p.returncode)) + return p.returncode + +def bogofilter_ham(mail): + subprocess.call(["bogofilter", "-S", "-n", "-I", mail.path]) + +def bogofilter_spam(mail): + subprocess.call(["bogofilter", "-N", "-s", "-I", mail.path]) + +def handle_incoming_spam_training(mail): + bogofilter_spam(mail) + mail.move(".Bulk Mail") + +def handle_incoming_ham_training(mail): + bogofilter_ham(mail) + handle_incoming_ham(mail) + +def handle_incoming_ham(mail): + my_filters(mail) +def handle_incoming_spam(mail): + mail.move(".Bulk Mail") + +def handle_incoming_unknown(mail): + # Filter spam + + spam = bogofilter_auto(mail) + if spam == 0: + handle_incoming_spam(mail) + return + elif spam == 1: + handle_incoming_ham(mail) + return + elif spam == 2: + # maybe spam + return + else: + mail.move(".Error") + return + +def my_filters(mail): + # Sort mail from GNU mailing lists + for list in [ 'bug-gsrc', 'bug-make', 'help-make', 'social', 'help-grub' ]: + if ( + False + or mail["List-Id"].matches(list+"\.gnu\.org") + or mail["Subject"].contains(list) + ): + mail.move(".software."+list) + return + + # Sort mail from other software mailing lists + if ( + False + or mail["List-Id"].matches("social-discuss\.gnu\.org") + or mail["Subject"].contains("social-discuss") + ): + mail.move(".software.social") + return + + if mail["List-Id"].matches("maintenance.lists.parabolagnulinux.org"): + mail.move(".software.parabola-maintenance") + return + if ( + False + or mail["List-Id"].matches("parabolagnulinux.org") + or is_to_or_from(mail, "parabolagnulinux.org") + or is_to_or_from(mail, "parabola.nu") + ): + mail.move(".software.parabola-dev") + return + + if (mail["List-Id"].matches("pacman-dev.archlinux.org")): + mail.move(".software.pacman-dev") + return + + for subject_re in [ + "\[Stow-[^\]]*\].*", + ]: + if mail["Subject"].matches(subject_re): + mail.move(".software") + return + + # Sort mail from some social websites + if mail["From"].matches("facebook(|mail)\.com"): + mail.move(".Social.Facebook") + return + + if ( + False + or mail["From"].matches("identi\.ca") + or mail["From"].matches("statusnet") + ): + mail.move(".Social.Identica") + return + + if mail["From"].matches("twitter\.com"): + mail.move(".Social.Twitter") + return + + if mail["From"].matches("@xkcd\.com"): + mail.move(".Social.xkcd") + return + + # Sort mail related to Troop 276 + if ( + False + or mail["List-Id"].contains("troopmailinglist.troop276.net") + or is_to_or_from(mail,"t276_announcements@att.net") + or mail["Subject"].matches("troop") + or mail["Subject"].matches("merit\s*badge") + or is_to_or_from(mail,"jsting@sbcglobal.net") + or is_to_or_from(mail,"trdindy@comcast.net") + or is_to_or_from(mail,"wjensen111@aol.com") + or is_to_or_from(mail,"dhoyt@yourhomecompany.com") + or is_to_or_from(mail,"salupo_vincent_p@lilly.com") + or is_to_or_from(mail,"basu@maharjan.org") + or is_to_or_from(mail,"muellerindy@yahoo.com") + or is_to_or_from(mail,"solorzano.luis@rocketmail.com") + or is_to_or_from(mail,"eldredmac@comcast.net")# MacDonell + or is_to_or_from(mail,"mitchprather@sbcglobal.net") + or is_to_or_from(mail,"oa_wap@yahoo.com") + or is_to_or_from(mail,"mytroop.us") + ): + mail.move(".Troop276") + return + + # Sort mail from misc people + if mail["From"].matches("margieshu@sbcglobal\.net"): + mail.move(".misc.Mom") + return + + for address in [ + "justicejade10@aol.com", + "parsonsjade@aol.com", + ]: + if mail["From"].contains(address): + mail.move(".misc.Jade") + return + + for address in [ + "nintendo.com", + "nintendo-news.com", + ]: + if mail["From"].contains(address): + mail.move(".misc.Nintendo") + return + + for address in [ + "@lpi.org", + "@pearson.com", + "CompTIA", + ]: + if mail["From"].contains(address): + mail.move(".misc.CompTIA") + return + + # Sort mail from FRC people + for address in [ + "jeffreysmith@msdlt.k12.in.us", + "jason.zielke@gmail.com", + "allison.m.babcock@gmail.com", + "william.walk@gmail.com", + "BBonahoom@stanleyworks.com", + "wcxctrack829@aim.com", # Pat + "djnels1@comcast.net", # Dave and Julie Nelson + "sarahlittell@comcast.net", + "skiplittell@comcast.net", + "dave.nelson@ecolab.com", + "@ni.com", + "@usfirst.org", + "gamefreak207@gmail.com", # Brett Leedy + "tswilson4801@att.net", + "silioso@gmail.com", + "cdewalt3@yahoo.com", + "bryanbonahoom@gmail.com", + ]: + if is_to_or_from(mail,address): + mail.move(".School.Robotics") + return + for subject_re in [ + "FIRST", + "robotics", + "1024", + "kil-?a-?bytes", + ]: + if mail["Subject"].matches(subject_re): + mail.move(".School.Robotics") + return + + # Sort mail from software people + for address in [ + "gnu.org", + "eff.org", + "gitorious.org", + "sourceforge.com", + "ietf.org", + "kde.org", + "trustees@core3.amsl.com", + "esr@thyrsus.com", + "canonical.org", + "foocorp.net", + "cnuk.org", + "@archlinux.org", + "@github.com", + ]: + if is_to_or_from(mail,address): + mail.move(".software") + return + + + # Sort mail from the school newspaper + if ( + False + or is_to_or_from(mail, "@lnnorthstar.org") + or is_to_or_from(mail, "lnnorthstar.org@tigertech.net") + ): + mail.move(".School.Newspaper") + return + + # Sort mail from various employers/people who pay me + if is_to_or_from(mail, "@precisepath.com"): + mail.move(".Work.PrecisePath") + return + + if is_to_or_from(mail,"susyphil@aol.com"): + mail.move(".Work.PMCH") + + for address in [ + "d.farrar@comcast.net", + "dfarrar@avacoustics.net", + "@vmware.com", + ]: + if is_to_or_from(mail,address): + mail.move(".Work.FAST") + return + + # Sort misc newsletters + if ( + False + or mail["From"].contains("newsletter") + or mail["From"].contains("auto@comicsbyemail.com") + or mail["From"].contains("oreilly.com") + or mail["Subject"].contains("newsletter") + or mail["From"].contains("Info@mailing.jamendo.com") + or mail["From"].contains("info@demandprogress.org") + ): + mail.move(".misc.Newsletters") + return + + if ( + False + or mail["From"].contains("@msdlt.k12.in.us") + or mail["From"].contains("naviance.com") + or is_to_or_from(mail,"ibwhite@comcast.net") + or mail["Subject"].contains("IOA") + or mail["From"].contains("nths.org") + or mail["Subject"].contains("NTHS") + or mail["Subject"].contains("National Technical Honor Society") + or mail["Subject"].contains("NHS") + or mail["Subject"].contains("National Honor Society") + ): + mail.move(".School") + return + + # from college stuff + if ( + False + or mail["Subject"].contains("NYLF") # National Youth Leadership Conference + or mail["Subject"].contains("NSHSS") + ): + mail.move(".College.Societies") + return + if ( + False + or mail["From"].contains(".edu") + or mail["From"].contains("admissions@") + or mail["From"].contains("college") + or mail["From"].contains("university") + or mail["Subject"].contains("college") + # now we get to the BS + or mail["From"].contains("@dreamitdoitindiana.com") + or mail["From"].contains("@indianatechinfo.org") + ): + mail.move(".College") + return + + if mail["From"].contains("@projectwonderful.com"): + mail.move(".ProjectWonderful") + return + + if ( + False + or mail["From"].matches("@localhost") + or mail["From"].matches("@[^,>]*\.local") + or mail["From"].matches("@[^,>]*\.lukeshu\.ath\.cx") + or mail["To"].matches("luke@") + ): + mail.move(".LocalSystems") + return + if ( + False + or mail["Subject"].contains("password") + or mail["Subject"].contains("account") + ): + mail.move(".misc.accounts") + return + + mail.move(".Ham") + +handle_mapping = { + ".": handle_incoming_unknown, + ".spam-training": handle_incoming_spam_training, + ".ham-training": handle_incoming_ham_training, + #".Ham": handle_incoming_ham, + } +processor.maildirs = handle_mapping.keys() +for mail in processor: + handle_mapping[mail.maildir](mail) diff --git a/.config/offlineimaprc b/.config/offlineimaprc new file mode 100644 index 0000000..319593c --- /dev/null +++ b/.config/offlineimaprc @@ -0,0 +1,29 @@ +# -*- Mode: Conf -*- +[general] +accounts = LukeShu + +[Account LukeShu] +localrepository = Local +remoterepository = Remote + +[Repository Local] +type = Maildir +localfolders = ~/Maildir +sep = . +folderfilter = lambda foldername: not re.search('(Trash|Del|-old|Draft)', foldername) + +# transforms local -> remote +nametrans = lambda foldername: re.sub('^$', 'Inbox', re.sub('^'+re.escape('%(sep)s'), '', foldername)) + + +[Repository Remote] +type = IMAP +ssl = yes +cert_fingerprint = 700d84baa7e852240178dc2de18e7e528a2854df +remotehost = imap.mail.yahoo.com +remoteuser = lukeshu@sbcglobal.net +folderfilter = lambda foldername: not re.search('(Trash|Del)', foldername) + +# transforms remote -> local +# we must assume that sep=/ on the remote IMAP server. +nametrans = lambda foldername: '/'+re.sub('^Inbox$', '', foldername) diff --git a/.config/ssh/config b/.config/ssh/config new file mode 100644 index 0000000..bb876ba --- /dev/null +++ b/.config/ssh/config @@ -0,0 +1,3 @@ +Host * + Protocol 2 + Compression yes diff --git a/.config/wmii/autostart b/.config/wmii/autostart new file mode 100755 index 0000000..aae23f4 --- /dev/null +++ b/.config/wmii/autostart @@ -0,0 +1,4 @@ +#!/bin/bash +daemon lxpanel &> /dev/null +daemon wicd-client -t &> /dev/null +daemon notifyd &> /dev/null diff --git a/.config/wmii/include.sh b/.config/wmii/include.sh new file mode 100644 index 0000000..36f8f3e --- /dev/null +++ b/.config/wmii/include.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +if [ -z "$WMII_NAMESPACE" ]; then + export WMII_NAMESPACE=`wmiir namespace` +fi +if [ -z "$WMII_DIR" ]; then + export WMII_DIR=$WMII_NAMESPACE/mnt +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 +} diff --git a/.config/wmii/quit b/.config/wmii/quit new file mode 100755 index 0000000..54f64e7 --- /dev/null +++ b/.config/wmii/quit @@ -0,0 +1,3 @@ +#!/bin/bash +. "$HOME/.wmii/include.sh" +echo quit |a $WMII_DIR/ctl diff --git a/.config/wmii/rbar_battery b/.config/wmii/rbar_battery new file mode 100755 index 0000000..7a7f24f --- /dev/null +++ b/.config/wmii/rbar_battery @@ -0,0 +1,10 @@ +#!/bin/bash +. "$HOME/.wmii/include.sh" + +priority=$1 + +set -e +while true; do + acpi -b |a "$WMII_DIR/rbar/${priority}_battery" + sleep 1 +done diff --git a/.config/wmii/rbar_clock b/.config/wmii/rbar_clock new file mode 100755 index 0000000..8e7d2a4 --- /dev/null +++ b/.config/wmii/rbar_clock @@ -0,0 +1,10 @@ +#!/bin/bash +. "$HOME/.wmii/include.sh" + +priority=$1 + +set -e +while true; do + date |a "$WMII_DIR/rbar/${priority}_clock" + sleep .5 +done diff --git a/.config/wmii/rbar_cpu b/.config/wmii/rbar_cpu new file mode 100755 index 0000000..7f891da --- /dev/null +++ b/.config/wmii/rbar_cpu @@ -0,0 +1,13 @@ +#!/bin/bash +. "$HOME/.wmii/include.sh" + +priority=$1 + +set -e +while true; 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" + # 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" + sleep 1 +done diff --git a/.config/wmii/rbar_wifi b/.config/wmii/rbar_wifi new file mode 100755 index 0000000..608b164 --- /dev/null +++ b/.config/wmii/rbar_wifi @@ -0,0 +1,10 @@ +#!/bin/bash +. "$HOME/.wmii/include.sh" + +priority=$1 + +set -e +while true; do + echo 'Wlan0:' $(iwconfig wlan0 | sed 's/ /\n/g' | grep Quality) |a "$WMII_DIR/rbar/${priority}_wifi" + sleep 1 +done diff --git a/.config/wmii/theme-solarized b/.config/wmii/theme-solarized new file mode 100644 index 0000000..5dc830d --- /dev/null +++ b/.config/wmii/theme-solarized @@ -0,0 +1,16 @@ +SOL_BASE03='#002b36' +SOL_BASE02='#073642' +SOL_BASE01='#586e75' +SOL_BASE00='#657b83' +SOL_BASE0='#839496' +SOL_BASE1='#93a1a1' +SOL_BASE2='#eee8d5' +SOL_BASE3='#fdf6e3' +SOL_YELLOW='#b58900' +SOL_ORANGE='#cb4b16' +SOL_RED='#dc322f' +SOL_MAGENTA='#d33682' +SOL_VIOLET='#6c71c4' +SOL_BLUE='#268bd2' +SOL_CYAN='#2aa198' +SOL_GREEN='#859900' diff --git a/.config/wmii/theme-solarized-dark b/.config/wmii/theme-solarized-dark new file mode 100644 index 0000000..83285ba --- /dev/null +++ b/.config/wmii/theme-solarized-dark @@ -0,0 +1,12 @@ +#!/bin/sh +# Solarized-dark + +. $HOME/.wmii/theme-solarized + +WMII_BACKGROUND="$SOL_BASE02" + +# =" " +WMII_NORMCOLORS="$SOL_BASE0 $SOL_BASE03 $SOL_BASE02" +WMII_FOCUSCOLORS="$SOL_BASE0 $SOL_BASE02 $SOL_BASE0" +WMII_URGENTCOLORS="$SOL_RED $SOL_BASE03 $SOL_RED" + diff --git a/.config/wmii/wmiirc b/.config/wmii/wmiirc new file mode 100755 index 0000000..92adb8b --- /dev/null +++ b/.config/wmii/wmiirc @@ -0,0 +1,271 @@ +#!/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: " " +. `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 & + +if [ -f "`conffile wmiirc_local`" ]; then + . "`conffile wmiirc_local`" +fi + +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/.conkerorrc b/.conkerorrc deleted file mode 100644 index e33add1..0000000 --- a/.conkerorrc +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- Mode: js -*- */ -session_pref("signon.rememberSignons", true); -session_pref("signon.expireMasterPassword", false); -session_pref("signon.SignonFileName", "signons.txt"); - -define_webjump("ddg", "https://duckduckgo.com/?q=%s"); - -// Load login manager -Components.classes["@mozilla.org/login-manager;1"].getService(Components.interfaces.nsILoginManager); - -// Auto complete stuff -minibuffer_auto_complete_default = true; -url_completion_use_history = true; // should work since bf05c87405 -url_completion_use_bookmarks = true; - -// Prompt before closing -//define_key(content_buffer_normal_keymap, "C-x C-c", "confirm-quit"); -//can_kill_last_buffer = false; - -// Workaround for scrollbar bug (issue351) -add_hook("create_buffer_late_hook", - function (buffer) { - buffer.top_frame.scrollbars.visible = true; - }); - -// load session module -require("session.js"); -session_auto_save_auto_load = true; // auto-load session - -// Don't show a clock in the modeline -remove_hook("mode_line_hook", mode_line_adder(clock_widget)); - -// Add favicons to the modeline -require("favicon"); -add_hook("mode_line_hook", mode_line_adder(buffer_icon_widget), true); -read_buffer_show_icons = true; - -// load firebug lite -define_variable("firebug_url", - "https://getfirebug.com/firebug-lite.js"); - -function firebug (I) { - var doc = I.buffer.document; - var script = doc.createElement('script'); - script.setAttribute('type', 'text/javascript'); - script.setAttribute('src', firebug_url); - script.setAttribute('onload', 'firebug.init();'); - doc.body.appendChild(script); -} -interactive("firebug", "open firebug lite", firebug); - -// Make middle-click open links in a new buffer -require("clicks-in-new-buffer.js"); -clicks_in_new_buffer_target = OPEN_NEW_BUFFER_BACKGROUND; -clicks_in_new_buffer_button = 1; diff --git a/.crontab b/.crontab deleted file mode 100644 index e69de29..0000000 diff --git a/.crontab.local b/.crontab.local deleted file mode 100644 index e69de29..0000000 diff --git a/.emacs b/.emacs deleted file mode 100644 index 9b2603c..0000000 --- a/.emacs +++ /dev/null @@ -1,12 +0,0 @@ -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(asm-comment-char 35)) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - ) diff --git a/.emacs.d/.gitignore b/.emacs.d/.gitignore deleted file mode 100644 index ef4ec20..0000000 --- a/.emacs.d/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -auto-save-list/* -el-get/* -elmo/* -elpa/* -image-dired/* -server/* -session.* -tramp -url/* diff --git a/.emacs.d/custom.el b/.emacs.d/custom.el deleted file mode 100644 index 5a3e67f..0000000 --- a/.emacs.d/custom.el +++ /dev/null @@ -1,21 +0,0 @@ -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(custom-enabled-themes (quote (wombat))) - '(custom-safe-themes (quote ("71b172ea4aad108801421cc5251edb6c792f3adbaecfa1c52e94e3d99634dee7" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default))) - '(erc-nick "lukeshu") - '(explicit-shell-file-name "/bin/bash") - '(inhibit-startup-screen t) - '(mdmua-maildir "~/Maildir") - '(minibuffer-prompt-properties (quote (read-only t point-entered minibuffer-avoid-prompt face minibuffer-prompt))) - '(ruby-deep-arglist nil) - '(ruby-deep-indent-paren nil) - '(scroll-bar-mode nil)) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - ) diff --git a/.emacs.d/emacsutils.el b/.emacs.d/emacsutils.el deleted file mode 100644 index 966d16e..0000000 --- a/.emacs.d/emacsutils.el +++ /dev/null @@ -1,13 +0,0 @@ -(defun mailto-compose-mail (mailto-url) - (if (and (stringp mailto-url) - (string-match "\\`mailto:" mailto-url)) - (progn - (require 'rfc2368) - (let* ((headers (mapcar (lambda (h) (cons (intern (car h)) (cdr h))) - (rfc2368-parse-mailto-url mailto-url))) - (good-headers (remove-if (lambda (h) (member (car h) '(Body))) headers)) - (body (cdr (assoc 'Body headers)))) - (wl-draft good-headers nil nil body))))) - -(defun emacs-terminal-emulator (program) - (ansi-term program)) \ No newline at end of file diff --git a/.gitconfig b/.gitconfig deleted file mode 100644 index 9846d72..0000000 --- a/.gitconfig +++ /dev/null @@ -1,10 +0,0 @@ -[user] - name = Luke Shumaker - email = LukeShu@sbcglobal.net -[color] - ui = auto -[sendemail] - smtpencryption = ssl - smtpserver = plus.smtp.mail.yahoo.com - smtpuser = lukeshu@sbcglobal.net - smtpserverport = 465 diff --git a/.hgrc b/.hgrc deleted file mode 100644 index 96fce82..0000000 --- a/.hgrc +++ /dev/null @@ -1,2 +0,0 @@ -[ui] -username = Luke Shumaker diff --git a/.irbrc b/.irbrc deleted file mode 100644 index 7596d96..0000000 --- a/.irbrc +++ /dev/null @@ -1 +0,0 @@ -require 'rubygems' unless defined? Gem # only needed in 1.8 diff --git a/.login-daemons b/.login-daemons deleted file mode 100644 index 1da7aa7..0000000 --- a/.login-daemons +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -if [ -x "`which daemon`" ]; then - # daemon ... - : -fi diff --git a/.maildirproc/default.rc b/.maildirproc/default.rc deleted file mode 100644 index 71bc00c..0000000 --- a/.maildirproc/default.rc +++ /dev/null @@ -1,351 +0,0 @@ -# -*- mode: python; -*- - -import subprocess - -processor.maildir_base = "~/Maildir" -processor.auto_reload_rcfile = True - -def is_to_or_from(mail,address): - """ - Return true if [mail] is to or from an address that contains [address]. - """ - return ( - mail["From"].contains(address) - or mail.target.contains(address)) -def is_to_or_from_re(mail,address): - """ - Return true if [mail] is to or from an address that matches the - regex [address]. - """ - return ( - mail["From"].matches(address) - or mail.target.matches(address)) - -def bogofilter_auto(mail): - p = subprocess.Popen( - ["bogofilter", "-u", "-v", "-I", mail.path], - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT) - (output, _) = p.communicate() - processor.log("*** Bogofilter result: {0!r}".format(output.rstrip())) - if p.returncode not in [0, 1, 2]: - processor.log_error( - "Error running bogofilter: Return code = {0!r}".format( - p.returncode)) - return p.returncode - -def bogofilter_ham(mail): - subprocess.call(["bogofilter", "-S", "-n", "-I", mail.path]) - -def bogofilter_spam(mail): - subprocess.call(["bogofilter", "-N", "-s", "-I", mail.path]) - -def handle_incoming_spam_training(mail): - bogofilter_spam(mail) - mail.move(".Bulk Mail") - -def handle_incoming_ham_training(mail): - bogofilter_ham(mail) - handle_incoming_ham(mail) - -def handle_incoming_ham(mail): - my_filters(mail) -def handle_incoming_spam(mail): - mail.move(".Bulk Mail") - -def handle_incoming_unknown(mail): - # Filter spam - - spam = bogofilter_auto(mail) - if spam == 0: - handle_incoming_spam(mail) - return - elif spam == 1: - handle_incoming_ham(mail) - return - elif spam == 2: - # maybe spam - return - else: - mail.move(".Error") - return - -def my_filters(mail): - # Sort mail from GNU mailing lists - for list in [ 'bug-gsrc', 'bug-make', 'help-make', 'social', 'help-grub' ]: - if ( - False - or mail["List-Id"].matches(list+"\.gnu\.org") - or mail["Subject"].contains(list) - ): - mail.move(".software."+list) - return - - # Sort mail from other software mailing lists - if ( - False - or mail["List-Id"].matches("social-discuss\.gnu\.org") - or mail["Subject"].contains("social-discuss") - ): - mail.move(".software.social") - return - - if mail["List-Id"].matches("maintenance.lists.parabolagnulinux.org"): - mail.move(".software.parabola-maintenance") - return - if ( - False - or mail["List-Id"].matches("parabolagnulinux.org") - or is_to_or_from(mail, "parabolagnulinux.org") - or is_to_or_from(mail, "parabola.nu") - ): - mail.move(".software.parabola-dev") - return - - if (mail["List-Id"].matches("pacman-dev.archlinux.org")): - mail.move(".software.pacman-dev") - return - - for subject_re in [ - "\[Stow-[^\]]*\].*", - ]: - if mail["Subject"].matches(subject_re): - mail.move(".software") - return - - # Sort mail from some social websites - if mail["From"].matches("facebook(|mail)\.com"): - mail.move(".Social.Facebook") - return - - if ( - False - or mail["From"].matches("identi\.ca") - or mail["From"].matches("statusnet") - ): - mail.move(".Social.Identica") - return - - if mail["From"].matches("twitter\.com"): - mail.move(".Social.Twitter") - return - - if mail["From"].matches("@xkcd\.com"): - mail.move(".Social.xkcd") - return - - # Sort mail related to Troop 276 - if ( - False - or mail["List-Id"].contains("troopmailinglist.troop276.net") - or is_to_or_from(mail,"t276_announcements@att.net") - or mail["Subject"].matches("troop") - or mail["Subject"].matches("merit\s*badge") - or is_to_or_from(mail,"jsting@sbcglobal.net") - or is_to_or_from(mail,"trdindy@comcast.net") - or is_to_or_from(mail,"wjensen111@aol.com") - or is_to_or_from(mail,"dhoyt@yourhomecompany.com") - or is_to_or_from(mail,"salupo_vincent_p@lilly.com") - or is_to_or_from(mail,"basu@maharjan.org") - or is_to_or_from(mail,"muellerindy@yahoo.com") - or is_to_or_from(mail,"solorzano.luis@rocketmail.com") - or is_to_or_from(mail,"eldredmac@comcast.net")# MacDonell - or is_to_or_from(mail,"mitchprather@sbcglobal.net") - or is_to_or_from(mail,"oa_wap@yahoo.com") - or is_to_or_from(mail,"mytroop.us") - ): - mail.move(".Troop276") - return - - # Sort mail from misc people - if mail["From"].matches("margieshu@sbcglobal\.net"): - mail.move(".misc.Mom") - return - - for address in [ - "justicejade10@aol.com", - "parsonsjade@aol.com", - ]: - if mail["From"].contains(address): - mail.move(".misc.Jade") - return - - for address in [ - "nintendo.com", - "nintendo-news.com", - ]: - if mail["From"].contains(address): - mail.move(".misc.Nintendo") - return - - for address in [ - "@lpi.org", - "@pearson.com", - "CompTIA", - ]: - if mail["From"].contains(address): - mail.move(".misc.CompTIA") - return - - # Sort mail from FRC people - for address in [ - "jeffreysmith@msdlt.k12.in.us", - "jason.zielke@gmail.com", - "allison.m.babcock@gmail.com", - "william.walk@gmail.com", - "BBonahoom@stanleyworks.com", - "wcxctrack829@aim.com", # Pat - "djnels1@comcast.net", # Dave and Julie Nelson - "sarahlittell@comcast.net", - "skiplittell@comcast.net", - "dave.nelson@ecolab.com", - "@ni.com", - "@usfirst.org", - "gamefreak207@gmail.com", # Brett Leedy - "tswilson4801@att.net", - "silioso@gmail.com", - "cdewalt3@yahoo.com", - "bryanbonahoom@gmail.com", - ]: - if is_to_or_from(mail,address): - mail.move(".School.Robotics") - return - for subject_re in [ - "FIRST", - "robotics", - "1024", - "kil-?a-?bytes", - ]: - if mail["Subject"].matches(subject_re): - mail.move(".School.Robotics") - return - - # Sort mail from software people - for address in [ - "gnu.org", - "eff.org", - "gitorious.org", - "sourceforge.com", - "ietf.org", - "kde.org", - "trustees@core3.amsl.com", - "esr@thyrsus.com", - "canonical.org", - "foocorp.net", - "cnuk.org", - "@archlinux.org", - "@github.com", - ]: - if is_to_or_from(mail,address): - mail.move(".software") - return - - - # Sort mail from the school newspaper - if ( - False - or is_to_or_from(mail, "@lnnorthstar.org") - or is_to_or_from(mail, "lnnorthstar.org@tigertech.net") - ): - mail.move(".School.Newspaper") - return - - # Sort mail from various employers/people who pay me - if is_to_or_from(mail, "@precisepath.com"): - mail.move(".Work.PrecisePath") - return - - if is_to_or_from(mail,"susyphil@aol.com"): - mail.move(".Work.PMCH") - - for address in [ - "d.farrar@comcast.net", - "dfarrar@avacoustics.net", - "@vmware.com", - ]: - if is_to_or_from(mail,address): - mail.move(".Work.FAST") - return - - # Sort misc newsletters - if ( - False - or mail["From"].contains("newsletter") - or mail["From"].contains("auto@comicsbyemail.com") - or mail["From"].contains("oreilly.com") - or mail["Subject"].contains("newsletter") - or mail["From"].contains("Info@mailing.jamendo.com") - or mail["From"].contains("info@demandprogress.org") - ): - mail.move(".misc.Newsletters") - return - - if ( - False - or mail["From"].contains("@msdlt.k12.in.us") - or mail["From"].contains("naviance.com") - or is_to_or_from(mail,"ibwhite@comcast.net") - or mail["Subject"].contains("IOA") - or mail["From"].contains("nths.org") - or mail["Subject"].contains("NTHS") - or mail["Subject"].contains("National Technical Honor Society") - or mail["Subject"].contains("NHS") - or mail["Subject"].contains("National Honor Society") - ): - mail.move(".School") - return - - # from college stuff - if ( - False - or mail["Subject"].contains("NYLF") # National Youth Leadership Conference - or mail["Subject"].contains("NSHSS") - ): - mail.move(".College.Societies") - return - if ( - False - or mail["From"].contains(".edu") - or mail["From"].contains("admissions@") - or mail["From"].contains("college") - or mail["From"].contains("university") - or mail["Subject"].contains("college") - # now we get to the BS - or mail["From"].contains("@dreamitdoitindiana.com") - or mail["From"].contains("@indianatechinfo.org") - ): - mail.move(".College") - return - - if mail["From"].contains("@projectwonderful.com"): - mail.move(".ProjectWonderful") - return - - if ( - False - or mail["From"].matches("@localhost") - or mail["From"].matches("@[^,>]*\.local") - or mail["From"].matches("@[^,>]*\.lukeshu\.ath\.cx") - or mail["To"].matches("luke@") - ): - mail.move(".LocalSystems") - return - if ( - False - or mail["Subject"].contains("password") - or mail["Subject"].contains("account") - ): - mail.move(".misc.accounts") - return - - mail.move(".Ham") - -handle_mapping = { - ".": handle_incoming_unknown, - ".spam-training": handle_incoming_spam_training, - ".ham-training": handle_incoming_ham_training, - #".Ham": handle_incoming_ham, - } -processor.maildirs = handle_mapping.keys() -for mail in processor: - handle_mapping[mail.maildir](mail) diff --git a/.offlineimaprc b/.offlineimaprc deleted file mode 100644 index 319593c..0000000 --- a/.offlineimaprc +++ /dev/null @@ -1,29 +0,0 @@ -# -*- Mode: Conf -*- -[general] -accounts = LukeShu - -[Account LukeShu] -localrepository = Local -remoterepository = Remote - -[Repository Local] -type = Maildir -localfolders = ~/Maildir -sep = . -folderfilter = lambda foldername: not re.search('(Trash|Del|-old|Draft)', foldername) - -# transforms local -> remote -nametrans = lambda foldername: re.sub('^$', 'Inbox', re.sub('^'+re.escape('%(sep)s'), '', foldername)) - - -[Repository Remote] -type = IMAP -ssl = yes -cert_fingerprint = 700d84baa7e852240178dc2de18e7e528a2854df -remotehost = imap.mail.yahoo.com -remoteuser = lukeshu@sbcglobal.net -folderfilter = lambda foldername: not re.search('(Trash|Del)', foldername) - -# transforms remote -> local -# we must assume that sep=/ on the remote IMAP server. -nametrans = lambda foldername: '/'+re.sub('^Inbox$', '', foldername) diff --git a/.profile b/.profile deleted file mode 100644 index 377dc9b..0000000 --- a/.profile +++ /dev/null @@ -1,67 +0,0 @@ -# ~/.profile: executed by the command interpreter for login shells. -# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login -# exists. - -# the default umask is set in /etc/profile; for setting the umask -# for ssh logins, install and configure the libpam-umask package. -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 -done - -# Ruby -for dir in $HOME/.prefix/lib; do - 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}" -fi - -# GPG -export GPGKEY=D4FFBFC9 - -# Java -_JAVA_OPTIONS='' -_JAVA_OPTIONS+=' -Dawt.useSystemAAFontSettings=on' -_JAVA_OPTIONS+=' -Dswing.aatext=true' -_JAVA_OPTIONS+=' -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel' -_JAVA_OPTIONS+=" -Djava.io.tmpdir=$TMPDIR" -export _JAVA_OPTIONS - -# X11 -if [ -z "$XAUTHORITY" ]; then - export XAUTHORITY=$HOME/.Xauthority -fi - -# Start background programs ########################################## -if [ -f "$HOME/.login-daemons" ]; then - . "$HOME/.login-daemons" -fi - -# BASH ############################################################### -if [ -n "$BASH_VERSION" ]; then - # include .bashrc if it exists - if [ -f "$HOME/.bashrc" ]; then - . "$HOME/.bashrc" - fi -fi - -export PERL5LIB=/homes/shumakl/.prefix.x86_64/lib64/perl5:$PERL5LIB -export GOROOT=/homes/shumakl/.prefix.x86_64/go diff --git a/.ssh/config b/.ssh/config deleted file mode 100644 index bb876ba..0000000 --- a/.ssh/config +++ /dev/null @@ -1,3 +0,0 @@ -Host * - Protocol 2 - Compression yes 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 deleted file mode 100755 index aae23f4..0000000 --- a/.wmii/autostart +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -daemon lxpanel &> /dev/null -daemon wicd-client -t &> /dev/null -daemon notifyd &> /dev/null diff --git a/.wmii/include.sh b/.wmii/include.sh deleted file mode 100644 index 36f8f3e..0000000 --- a/.wmii/include.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/bash - -if [ -z "$WMII_NAMESPACE" ]; then - export WMII_NAMESPACE=`wmiir namespace` -fi -if [ -z "$WMII_DIR" ]; then - export WMII_DIR=$WMII_NAMESPACE/mnt -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 -} diff --git a/.wmii/quit b/.wmii/quit deleted file mode 100755 index 54f64e7..0000000 --- a/.wmii/quit +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -. "$HOME/.wmii/include.sh" -echo quit |a $WMII_DIR/ctl diff --git a/.wmii/rbar_battery b/.wmii/rbar_battery deleted file mode 100755 index 7a7f24f..0000000 --- a/.wmii/rbar_battery +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -. "$HOME/.wmii/include.sh" - -priority=$1 - -set -e -while true; do - acpi -b |a "$WMII_DIR/rbar/${priority}_battery" - sleep 1 -done diff --git a/.wmii/rbar_clock b/.wmii/rbar_clock deleted file mode 100755 index 8e7d2a4..0000000 --- a/.wmii/rbar_clock +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -. "$HOME/.wmii/include.sh" - -priority=$1 - -set -e -while true; do - date |a "$WMII_DIR/rbar/${priority}_clock" - sleep .5 -done diff --git a/.wmii/rbar_cpu b/.wmii/rbar_cpu deleted file mode 100755 index 7f891da..0000000 --- a/.wmii/rbar_cpu +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -. "$HOME/.wmii/include.sh" - -priority=$1 - -set -e -while true; 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" - # 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" - sleep 1 -done diff --git a/.wmii/rbar_wifi b/.wmii/rbar_wifi deleted file mode 100755 index 608b164..0000000 --- a/.wmii/rbar_wifi +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -. "$HOME/.wmii/include.sh" - -priority=$1 - -set -e -while true; do - echo 'Wlan0:' $(iwconfig wlan0 | sed 's/ /\n/g' | grep Quality) |a "$WMII_DIR/rbar/${priority}_wifi" - sleep 1 -done diff --git a/.wmii/theme-solarized b/.wmii/theme-solarized deleted file mode 100644 index 5dc830d..0000000 --- a/.wmii/theme-solarized +++ /dev/null @@ -1,16 +0,0 @@ -SOL_BASE03='#002b36' -SOL_BASE02='#073642' -SOL_BASE01='#586e75' -SOL_BASE00='#657b83' -SOL_BASE0='#839496' -SOL_BASE1='#93a1a1' -SOL_BASE2='#eee8d5' -SOL_BASE3='#fdf6e3' -SOL_YELLOW='#b58900' -SOL_ORANGE='#cb4b16' -SOL_RED='#dc322f' -SOL_MAGENTA='#d33682' -SOL_VIOLET='#6c71c4' -SOL_BLUE='#268bd2' -SOL_CYAN='#2aa198' -SOL_GREEN='#859900' diff --git a/.wmii/theme-solarized-dark b/.wmii/theme-solarized-dark deleted file mode 100644 index 83285ba..0000000 --- a/.wmii/theme-solarized-dark +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Solarized-dark - -. $HOME/.wmii/theme-solarized - -WMII_BACKGROUND="$SOL_BASE02" - -# =" " -WMII_NORMCOLORS="$SOL_BASE0 $SOL_BASE03 $SOL_BASE02" -WMII_FOCUSCOLORS="$SOL_BASE0 $SOL_BASE02 $SOL_BASE0" -WMII_URGENTCOLORS="$SOL_RED $SOL_BASE03 $SOL_RED" - diff --git a/.wmii/wmiirc b/.wmii/wmiirc deleted file mode 100755 index 92adb8b..0000000 --- a/.wmii/wmiirc +++ /dev/null @@ -1,271 +0,0 @@ -#!/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: " " -. `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 & - -if [ -f "`conffile wmiirc_local`" ]; then - . "`conffile wmiirc_local`" -fi - -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/.xinitrc b/.xinitrc deleted file mode 100644 index 9c5ce55..0000000 --- a/.xinitrc +++ /dev/null @@ -1,26 +0,0 @@ -#!/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 diff --git a/.xsession b/.xsession deleted file mode 100644 index a16dc0b..0000000 --- a/.xsession +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -# -# ~/.xsession -# -# Executed by xdm/gdm/kdm at login -# - -/bin/bash --login -i ~/.xinitrc - -- cgit v1.2.3-54-g00ecf