summaryrefslogtreecommitdiff
path: root/.config
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2014-03-27 15:50:32 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2014-03-27 15:50:32 -0400
commit9e79a6c3bbc37c2eec19e055566440f0b1173c5c (patch)
tree7516e65c0289b9a68b3a97fe2abbdf0d7dba8d8d /.config
parent5c42078bd052705b69d6ea93ff7617445be43789 (diff)
parentd65775a22e1648eca8e74389a4d9c1c299017cf3 (diff)
Merge remote-tracking branch 'origin/master' into purdue-cs
Conflicts: .config/X11/clientrc .config/bash/rc.d/emacs.sh .config/bash/rc.sh .config/conkeror .config/conkerorrc .config/emacs/custom.el .config/irbrc .config/login.sh .config/maildirproc/att.rc .config/maildirproc/default.rc .config/offlineimaprc .config/ssh/config .config/wmii-hg/autostart .config/wmii-hg/include.sh .config/wmii-hg/quit .config/wmii-hg/rbar_battery .config/wmii-hg/rbar_clock .config/wmii-hg/rbar_cpu .config/wmii-hg/rbar_wifi .conkerorrc .maildirproc/default.rc
Diffstat (limited to '.config')
-rw-r--r--.config/.gitignore19
-rw-r--r--.config/Makefile40
-rw-r--r--.config/X11/defaults13
-rw-r--r--.config/X11/login1
-rw-r--r--.config/X11/modmap12
l---------.config/X11/serverrc1
-rw-r--r--.config/abs.conf1
-rw-r--r--.config/bash/aliases.sh47
-rw-r--r--.config/bash/login.sh9
-rw-r--r--.config/conkerorrc (renamed from .config/conkeror)0
-rw-r--r--.config/cron/make-config2
-rw-r--r--.config/dunst/dunstrc92
-rw-r--r--.config/emacs/init.el62
-rw-r--r--.config/emacs/wl.el77
-rw-r--r--.config/git/config4
-rw-r--r--.config/git/ignore0
-rw-r--r--.config/gpg/gpg.conf242
-rw-r--r--.config/gtk-2.0/.gitignore1
-rw-r--r--.config/gtk-3.0/bookmarks5
-rw-r--r--.config/gtk-3.0/settings.ini34
-rw-r--r--.config/hgk59
-rw-r--r--.config/hgrc2
-rw-r--r--.config/icons/default/index.theme4
-rw-r--r--.config/libretools/.gitignore1
-rw-r--r--.config/lxpanel/default/config3
-rw-r--r--.config/lxpanel/default/panels/panel14
-rw-r--r--.config/maildirproc/att.rc (renamed from .config/maildirproc/default.rc)0
-rw-r--r--.config/maildirproc/purdue.rc191
l---------.config/meld/meldrc.ini1
-rw-r--r--.config/nanorc233
-rw-r--r--.config/okular/.gitignore1
-rw-r--r--.config/selected_editor4
-rw-r--r--.config/ssh/.gitignore1
-rw-r--r--.config/ssh/config21
-rw-r--r--.config/symlinks54
-rw-r--r--[-rwxr-xr-x].config/wmii-hg/config.sh203
-rw-r--r--.config/wmii-hg/ctl-init5
-rw-r--r--.config/wmii-hg/fixes.sh24
-rwxr-xr-x.config/wmii-hg/help-events3
-rwxr-xr-x.config/wmii-hg/help-keys3
-rw-r--r--.config/wmii-hg/rules8
-rw-r--r--.config/wmii-hg/theme-solarized-dark2
-rw-r--r--.config/wmii-hg/theme-tango10
-rw-r--r--.config/wmii-hg/theme-tango-dark11
-rw-r--r--.config/wmii-hg/util.sh129
-rwxr-xr-x.config/wmii-hg/wmiirc15
46 files changed, 1496 insertions, 168 deletions
diff --git a/.config/.gitignore b/.config/.gitignore
new file mode 100644
index 0000000..b5b3b3c
--- /dev/null
+++ b/.config/.gitignore
@@ -0,0 +1,19 @@
+/RecentDocuments
+
+# Ignore things I don't care enough about to track
+/Trolltech.conf
+/vlc
+/purple
+
+# some 3d graphics toolkit
+/Kitware
+# KDE color picker
+/colors
+# binary, not helpful to track
+/dconf/user
+
+# Ignore these files that if I tracked them, would be a separate repo
+/libreoffice
+/transmission
+/gimp-*
+/netbeans
diff --git a/.config/Makefile b/.config/Makefile
new file mode 100644
index 0000000..829b820
--- /dev/null
+++ b/.config/Makefile
@@ -0,0 +1,40 @@
+#!/usr/bin/make -f
+
+SHELL = /bin/bash
+
+GITDIR = ${HOME}/.git
+
+targets = \
+ ${GITDIR}/info/exclude \
+ ${HOME}/.folders \
+ ${XDG_CACHE_HOME}/config-symlinks/cookie \
+ ${XDG_CACHE_HOME}/cron/cookie
+
+all: $(targets)
+clean:
+ rm -f $(targets)
+
+${HOME}/.folders: ${HOME}/Maildir
+ ( echo '..'; find $< -maxdepth 2 -type f -name "maildirfolder" -printf '%h\n'|sed -r 's@.*/(.*\.)(.*)@.\1\2@' )|sort>'$@'
+${GITDIR}/info/exclude: ${HOME}/.git.info.exclude.in $(shell echo .??*/)
+ ( cat $<; find $^ -type f -name 'CACHEDIR.TAG' -printf '%h\n'|sed 's@^\./@/@' ) > $@
+
+${XDG_CACHE_HOME}/cron/cookie: ${XDG_CONFIG_HOME}/cron
+ -(cat $^/*; echo) | crontab - 2>/dev/null
+ mkdir -p '$(@D)'
+ date > '$@'
+
+${XDG_CACHE_HOME}/config-symlinks/cookie: ${XDG_CONFIG_HOME}/symlinks
+ config-symlinks
+ mkdir -p '$(@D)'
+ date > '$@'
+
+${HOME}/Maildir:
+ mkdir -p '$@'/{cur,new,tmp}
+${HOME}/Maildir/%: | ${HOME}/Maildir
+ mkdir -p '$@'/{cur,new,tmp}
+ touch '$@'/maildirfolder
+
+.PHONY: FORCE PHONY
+FORCE: ;
+PHONY: ;
diff --git a/.config/X11/defaults b/.config/X11/defaults
index ceabc5c..252170c 100644
--- a/.config/X11/defaults
+++ b/.config/X11/defaults
@@ -1,12 +1,17 @@
-URxvt.background: #000000
-URxvt.foreground: #CCCCCC
+# -*- Mode: Conf-xdefaults -*-
+
+# "native" colors
+#URxvt.background: #000000
+#URxvt.foreground: #CCCCCC
+# Tango-dark
+URxvt.background: #2E3436
+URxvt.foreground: #EEEEEC
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
@@ -14,5 +19,5 @@ URxvt.scrollTtyKeypress: false
URxvt.scrollWithBuffer: true
URxvt.perl-ext-common: default,matcher
-URxvt.urlLauncher: v-www-browser
+URxvt.url-launcher: v-www-browser
URxvt.matcher.button: 1
diff --git a/.config/X11/login b/.config/X11/login
index a16dc0b..03bad2a 100644
--- a/.config/X11/login
+++ b/.config/X11/login
@@ -7,4 +7,3 @@
#
/bin/bash --login -i ~/.xinitrc
-
diff --git a/.config/X11/modmap b/.config/X11/modmap
new file mode 100644
index 0000000..1736e09
--- /dev/null
+++ b/.config/X11/modmap
@@ -0,0 +1,12 @@
+! My desktop doesn't have a super key, so I map Caps_Lock to Super_L
+! Also, use Caps_Lock for the compose key
+remove lock = Caps_Lock
+keysym Caps_Lock = Super_L Multi_key
+
+! All of these are my "super". Silly I have so many...
+clear mod4
+add mod4 = Super_L Super_R Hyper_L Hyper_R Menu
+
+
+! Note to future me:
+! The modifiers are: << Shift, Lock, Control, Mod{1..5} >> and are NOT case sensitive
diff --git a/.config/X11/serverrc b/.config/X11/serverrc
new file mode 120000
index 0000000..ce14133
--- /dev/null
+++ b/.config/X11/serverrc
@@ -0,0 +1 @@
+/etc/X11/xinit/xserverrc \ No newline at end of file
diff --git a/.config/abs.conf b/.config/abs.conf
new file mode 100644
index 0000000..163bc53
--- /dev/null
+++ b/.config/abs.conf
@@ -0,0 +1 @@
+ABSROOT="$HOME/packages/abs"
diff --git a/.config/bash/aliases.sh b/.config/bash/aliases.sh
index de1a321..aabd073 100644
--- a/.config/bash/aliases.sh
+++ b/.config/bash/aliases.sh
@@ -6,23 +6,23 @@
# 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'
+ 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
+ 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'
+ alias ls='ls -1v'
+ alias dir='dir -v'
+ alias vdir='vdir -v'
fi
######################################################################
@@ -36,8 +36,7 @@ alias l='ls -CF'
# Some preferences for miscellaneous stuff #
######################################################################
#alias rm='gvfs-trash'
-alias ssh='ssh -XC'
-alias sed='sed --follow-symlinks'
+#alias sed='sed --follow-symlinks' # breaks sed 4.2.2
alias tree='tree --charset utf8'
alias cd=pushd
alias gitk='gitk --all --date-order'
@@ -48,19 +47,11 @@ 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
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
+alias plock="term-title Terminal Locked;lock"
+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/conkeror b/.config/conkerorrc
index e33add1..e33add1 100644
--- a/.config/conkeror
+++ b/.config/conkerorrc
diff --git a/.config/cron/make-config b/.config/cron/make-config
new file mode 100644
index 0000000..448475b
--- /dev/null
+++ b/.config/cron/make-config
@@ -0,0 +1,2 @@
+# m h dom mon dow command
+*/5 * * * * . $HOME/.local/lib/path.sh && . $HOME/.local/lib/xdg.sh && make -C $XDG_CONFIG_HOME
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
new file mode 100644
index 0000000..fc93a12
--- /dev/null
+++ b/.config/dunst/dunstrc
@@ -0,0 +1,92 @@
+# -*- Mode: conf -*-
+[global]
+
+ # Markup syntax:
+ # http://developer.gnome.org/pango/stable/PangoMarkupFormat.html
+ # Format string variables:
+ # %a appname
+ # %s summary
+ # %b body
+ # %i iconname (including its path)
+ # %I iconname (without its path)
+ # %p progress value if set ([ 0%] to [100%]) or nothing
+
+ # Message format
+ format = "<b>%s</b>\n%b"
+ allow_markup = yes
+ ignore_newline = no
+ # Message word-wrap/scroll
+ word_wrap = yes # Split lines...
+ bounce_freq = 0 # ...or scroll long lines?
+ # Window settings
+ monitor = 0 # Default monitor
+ follow = mouse # Follow monitors? (mouse/keyboard/none)
+ geometry = "300x5-0+16" # [{width}]x{height}][+/-{x}+/-{y}]
+ transparency = 10
+ # Layout settings
+ padding = 8 # Vertical padding
+ horizontal_padding = 8 # Horizontal padding
+ separator_height = 2 # Height of line between notifications
+ separator_color = frame # (auto/foreground/frame/<X color>)
+ # Font settings
+ font = Monospace 8
+ line_height = 0 # if less than font height, font height is used
+ allignment = left # (left/center/right)
+ # Misc.
+ sort = yes # Sort messages by urgency
+ indicate_hidden = yes
+ show_age_threshold = 60 # -1 to disable
+ idle_threshold = 120 # Don't timeout messages if the user is gone
+ sticky_history = yes # Don't timeout messages popped up from history
+ startup_notification = false # mostly for debugging
+ # External programs
+ dmenu = wimenu -p dunst:
+ browser = v-www-browser
+
+[frame]
+ width = 1
+ color = "#eeeeec"
+
+[shortcuts]
+ close = ctrl+space
+ close_all = ctrl+shift+space
+ history = ctrl+grave
+ context = ctrl+shift+period
+
+[urgency_low]
+ background = "#2e3436"
+ foreground = "#babdb6"
+ timeout = 10
+
+[urgency_normal]
+ background = "#555753"
+ foreground = "#eeeeec"
+ timeout = 10
+
+[urgency_critical]
+ background = "#cc0000"
+ foreground = "#eeeeec"
+ timeout = 0
+
+
+# Every section that isn't one of the above is interpreted as a rules
+# to override settings for certain messages.
+
+# Filters: (shell-like globbing will get expanded)
+# appname
+# summary
+# body
+# icon
+# Overrides:
+# timeout
+# urgency
+# foreground
+# background
+# format (blank to not display)
+# Scripting:
+# If you set 'script=', the value will be called like:
+# script appname summary body icon urgency
+# Where urgency can be "LOW", "NORMAL" or "CRITICAL".
+#
+# NOTE: It might be helpful to run dunst -print in a terminal in order to find
+# fitting options for filters.
diff --git a/.config/emacs/init.el b/.config/emacs/init.el
index 3cd2ea3..2a7645f 100644
--- a/.config/emacs/init.el
+++ b/.config/emacs/init.el
@@ -58,14 +58,45 @@
;; General settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(require 'go-mode-load)
+
+(require 'mailcrypt)
+(mc-setversion "gpg")
+(add-hook 'wl-summary-mode-hook 'mc-install-read-mode)
+(add-hook 'wl-mail-setup-hook 'mc-install-write-mode)
+
+(defun mc-wl-verify-signature ()
+ (interactive)
+ (save-window-excursion
+ (wl-summary-jump-to-current-message)
+ (mc-verify)))
+
+(defun mc-wl-decrypt-message ()
+ (interactive)
+ (save-window-excursion
+ (wl-summary-jump-to-current-message)
+ (let ((inhibit-read-only t))
+ (mc-decrypt))))
+
+(eval-after-load "mailcrypt"
+ '(setq mc-modes-alist
+ (append
+ (quote
+ ((wl-draft-mode (encrypt . mc-encrypt-message)
+ (sign . mc-sign-message))
+ (wl-summary-mode (decrypt . mc-wl-decrypt-message)
+ (verify . mc-wl-verify-signature))))
+ mc-modes-alist)))
+
;(load "mdmua")
(load "emacsutils")
+(set-default 'truncate-lines t)
(tool-bar-mode -1)
(ido-mode t)
(show-paren-mode 1)
-(setq org-hide-leading-stars t)
(setq org-log-done 'time)
+(setq gamegrid-user-score-file-directory "/var/games/emacs/")
;(xclip-mode 1)
(load "whitespace")
@@ -170,6 +201,9 @@
))
(add-to-list 'auto-mode-alist '("PKGBUILD" . sh-mode))
+(add-to-list 'auto-mode-alist '("SRCBUILD" . sh-mode))
+(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
+(add-to-list 'auto-mode-alist '("\\.ronn\\'" . markdown-mode))
;(require 'flymake)
;(add-hook 'php-mode-hook (lambda() (flymake-mode 1)))
@@ -178,3 +212,29 @@
;(setq tramp-debug-buffer t)
;(setq tramp-verbose 10)
+
+;; (add-to-list 'load-path "/usr/share/emacs/site-lisp/mu4e")
+;; (require 'mu4e)
+;; (require 'mu4e-speedbar)
+
+;; (setq
+;; mu4e-maildir "~/Maildir" ;; top-level Maildir
+;; mu4e-sent-folder "/.Sent" ;; folder for sent messages
+;; mu4e-drafts-folder "/.Draft" ;; unfinished messages
+;; mu4e-trash-folder "/.Trash" ;; trashed messages
+;; mu4e-refile-folder "/archive") ;; saved messages
+;; (setq mu4e-get-mail-command "offlineimap")
+;; (setq mu4e-use-fancy-chars "t")
+;; ;; enable inline images
+;; (setq mu4e-view-show-images t)
+;; ;; use imagemagick, if available
+;; (when (fboundp 'imagemagick-register-types)
+;; (imagemagick-register-types))
+
+
+(defun sm-try-smerge ()
+ (save-excursion
+ (goto-char (point-min))
+ (when (re-search-forward "^<<<<<<< " nil t)
+ (smerge-mode 1))))
+(add-hook 'find-file-hook 'sm-try-smerge t)
diff --git a/.config/emacs/wl.el b/.config/emacs/wl.el
new file mode 100644
index 0000000..a169249
--- /dev/null
+++ b/.config/emacs/wl.el
@@ -0,0 +1,77 @@
+;; mode:-*-emacs-lisp-*-
+
+(setq user-mail-address "lukeshu@sbcglobal.net")
+
+;; wanderlust
+(setq
+ ;; Misc ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ wl-local-domain "lukeshu.ath.cx"
+ wl-icon-directory "~/.emacs.d/el-get/wanderlust/icons"
+
+ ;; Network ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ ;; This only deals with sending--I use offlineimap to fetch
+ wl-draft-send-mail-function 'wl-draft-send-mail-with-smtp
+ ;; The following settings are Yahoo!'s SMTP servers:
+ wl-smtp-connection-type (quote ssl)
+ wl-smtp-authenticate-type "login"
+ wl-smtp-posting-server "plus.smtp.mail.yahoo.com"
+ ;wl-smtp-posting-server "outbound.att.net"
+ wl-smtp-posting-port 465
+ wl-smtp-posting-user user-mail-address
+ wl-message-id-domain user-mail-address
+
+ ;; Folders/File system ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ elmo-msgdb-directory "~/.emacs.d/elmo" ;; where elmo keeps all its stuff
+ elmo-cache-directory "~/.emacs.d/elmo-cache" ;; where elmo keeps all its stuff
+ elmo-maildir-folder-path "~/Maildir" ;; where I store my mail
+
+ ;; note: all below are dirs (Maildirs) under elmo-maildir-folder-path
+ ;; the '.'-prefix is for marking them as maildirs
+ wl-fcc "..Sent" ;; sent msgs go to the "sent"-folder
+ wl-default-folder "..Ham" ;; my main inbox
+ wl-draft-folder "..Draft" ;; store drafts in 'postponed'
+ wl-trash-folder "..Trash" ;; put trash in 'trash'
+ wl-spam-folder "..Bulk Mail" ;; put spam in 'Bulk Mail'
+ wl-queue-folder "..queue" ;; we don't use this
+
+ ;; check this folder periodically, and update modeline
+ ;wl-biff-check-folder-list '(".todo") ;; check every 180 seconds
+ ;; (default: wl-biff-check-interval)
+
+ ;wl-folder-hierarchy-access-folders '("\.*")
+ wl-folder-hierarchy-access-folders '(
+ "^.\\([^/.]+[/.]\\)*[^/.]+\\(:\\|@\\|$\\)"
+ "^-[^.]*\\(:\\|@\\|$\\)"
+ "^@$"
+ "^'$")
+
+ ;; Writing
+ wl-from (concat user-full-name " <" user-mail-address ">") ;; From: line
+ ;;wl-organization "Foo Corp"
+ wl-fcc-force-as-read t ;; mark sent messages as read
+ mime-edit-split-message nil ;; don't split long messages
+
+ ;; Reading ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ wl-stay-folder-window t ;; show the folder pane (left)
+ wl-folder-window-width 35 ;;
+ wl-message-auto-reassemble-message/partial t ;; reasemble split messages
+
+ wl-message-ignored-field-list '("^.*:") ;; default to hiding all headers
+ wl-message-visible-field-list ;; but then display these
+ '("^\\(To\\|Cc\\):"
+ "^Subject:"
+ "^\\(From\\|Reply-To\\):"
+ "^Organization:"
+ "^Message-Id:"
+ "^\\(Posted\\|Date\\):"
+ "^List-ID:"
+ )
+ wl-message-sort-field-list ;; in this order
+ '("^Date"
+ "^From"
+ "^Organization:"
+ "^X-Attribution:"
+ "^Subject"
+ "^To"
+ "^Cc")
+ )
diff --git a/.config/git/config b/.config/git/config
index 9846d72..218b006 100644
--- a/.config/git/config
+++ b/.config/git/config
@@ -8,3 +8,7 @@
smtpserver = plus.smtp.mail.yahoo.com
smtpuser = lukeshu@sbcglobal.net
smtpserverport = 465
+[push]
+ default = matching
+[alias]
+ lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
diff --git a/.config/git/ignore b/.config/git/ignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.config/git/ignore
diff --git a/.config/gpg/gpg.conf b/.config/gpg/gpg.conf
new file mode 100644
index 0000000..f43a58e
--- /dev/null
+++ b/.config/gpg/gpg.conf
@@ -0,0 +1,242 @@
+# Options for GnuPG
+# Copyright 1998, 1999, 2000, 2001, 2002, 2003,
+# 2010 Free Software Foundation, Inc.
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This file is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Unless you specify which option file to use (with the command line
+# option "--options filename"), GnuPG uses the file ~/.gnupg/gpg.conf
+# by default.
+#
+# An options file can contain any long options which are available in
+# GnuPG. If the first non white space character of a line is a '#',
+# this line is ignored. Empty lines are also ignored.
+#
+# See the man page for a list of options.
+
+# Uncomment the following option to get rid of the copyright notice
+
+no-greeting
+
+# If you have more than 1 secret key in your keyring, you may want to
+# uncomment the following option and set your preferred keyid.
+
+default-key D4FFBFC9
+
+# If you do not pass a recipient to gpg, it will ask for one. Using
+# this option you can encrypt to a default key. Key validation will
+# not be done in this case. The second form uses the default key as
+# default recipient.
+
+#default-recipient some-user-id
+#default-recipient-self
+
+# Use --encrypt-to to add the specified key as a recipient to all
+# messages. This is useful, for example, when sending mail through a
+# mail client that does not automatically encrypt mail to your key.
+# In the example, this option allows you to read your local copy of
+# encrypted mail that you've sent to others.
+
+#encrypt-to some-key-id
+
+# By default GnuPG creates version 4 signatures for data files as
+# specified by OpenPGP. Some earlier (PGP 6, PGP 7) versions of PGP
+# require the older version 3 signatures. Setting this option forces
+# GnuPG to create version 3 signatures.
+
+#force-v3-sigs
+
+# Because some mailers change lines starting with "From " to ">From "
+# it is good to handle such lines in a special way when creating
+# cleartext signatures; all other PGP versions do it this way too.
+
+#no-escape-from-lines
+
+# If you do not use the Latin-1 (ISO-8859-1) charset, you should tell
+# GnuPG which is the native character set. Please check the man page
+# for supported character sets. This character set is only used for
+# metadata and not for the actual message which does not undergo any
+# translation. Note that future version of GnuPG will change to UTF-8
+# as default character set. In most cases this option is not required
+# as GnuPG is able to figure out the correct charset at runtime.
+
+charset utf-8
+
+# Group names may be defined like this:
+# group mynames = paige 0x12345678 joe patti
+#
+# Any time "mynames" is a recipient (-r or --recipient), it will be
+# expanded to the names "paige", "joe", and "patti", and the key ID
+# "0x12345678". Note there is only one level of expansion - you
+# cannot make an group that points to another group. Note also that
+# if there are spaces in the recipient name, this will appear as two
+# recipients. In these cases it is better to use the key ID.
+
+#group mynames = paige 0x12345678 joe patti
+
+# Lock the file only once for the lifetime of a process. If you do
+# not define this, the lock will be obtained and released every time
+# it is needed, which is usually preferable.
+
+#lock-once
+
+# GnuPG can send and receive keys to and from a keyserver. These
+# servers can be HKP, email, or LDAP (if GnuPG is built with LDAP
+# support).
+#
+# Example HKP keyserver:
+# hkp://keys.gnupg.net
+# hkp://subkeys.pgp.net
+#
+# Example email keyserver:
+# mailto:pgp-public-keys@keys.pgp.net
+#
+# Example LDAP keyservers:
+# ldap://keyserver.pgp.com
+#
+# Regular URL syntax applies, and you can set an alternate port
+# through the usual method:
+# hkp://keyserver.example.net:22742
+#
+# Most users just set the name and type of their preferred keyserver.
+# Note that most servers (with the notable exception of
+# ldap://keyserver.pgp.com) synchronize changes with each other. Note
+# also that a single server name may actually point to multiple
+# servers via DNS round-robin. hkp://keys.gnupg.net is an example of
+# such a "server", which spreads the load over a number of physical
+# servers. To see the IP address of the server actually used, you may use
+# the "--keyserver-options debug".
+
+#keyserver hkp://keys.gnupg.net
+#keyserver mailto:pgp-public-keys@keys.nl.pgp.net
+#keyserver ldap://keyserver.pgp.com
+
+#keyserver hkps://keys.indymedia.org
+#keyserver-options ca-cert-file=/etc/ssl/certs/cacert.org.pem
+
+keyserver hkps://zimmermann.mayfirst.org
+keyserver-options ca-cert-file=/home/luke/.gnupg/mfpl.crt
+
+# Common options for keyserver functions:
+#
+# include-disabled : when searching, include keys marked as "disabled"
+# on the keyserver (not all keyservers support this).
+#
+# no-include-revoked : when searching, do not include keys marked as
+# "revoked" on the keyserver.
+#
+# verbose : show more information as the keys are fetched.
+# Can be used more than once to increase the amount
+# of information shown.
+#
+# use-temp-files : use temporary files instead of a pipe to talk to the
+# keyserver. Some platforms (Win32 for one) always
+# have this on.
+#
+# keep-temp-files : do not delete temporary files after using them
+# (really only useful for debugging)
+#
+# http-proxy="proxy" : set the proxy to use for HTTP and HKP keyservers.
+# This overrides the "http_proxy" environment variable,
+# if any.
+#
+# auto-key-retrieve : automatically fetch keys as needed from the keyserver
+# when verifying signatures or when importing keys that
+# have been revoked by a revocation key that is not
+# present on the keyring.
+#
+# no-include-attributes : do not include attribute IDs (aka "photo IDs")
+# when sending keys to the keyserver.
+
+#keyserver-options auto-key-retrieve
+
+# Display photo user IDs in key listings
+
+# list-options show-photos
+
+# Display photo user IDs when a signature from a key with a photo is
+# verified
+
+# verify-options show-photos
+
+# Use this program to display photo user IDs
+#
+# %i is expanded to a temporary file that contains the photo.
+# %I is the same as %i, but the file isn't deleted afterwards by GnuPG.
+# %k is expanded to the key ID of the key.
+# %K is expanded to the long OpenPGP key ID of the key.
+# %t is expanded to the extension of the image (e.g. "jpg").
+# %T is expanded to the MIME type of the image (e.g. "image/jpeg").
+# %f is expanded to the fingerprint of the key.
+# %% is %, of course.
+#
+# If %i or %I are not present, then the photo is supplied to the
+# viewer on standard input. If your platform supports it, standard
+# input is the best way to do this as it avoids the time and effort in
+# generating and then cleaning up a secure temp file.
+#
+# If no photo-viewer is provided, GnuPG will look for xloadimage, eog,
+# or display (ImageMagick). On Mac OS X and Windows, the default is
+# to use your regular JPEG image viewer.
+#
+# Some other viewers:
+# photo-viewer "qiv %i"
+# photo-viewer "ee %i"
+#
+# This one saves a copy of the photo ID in your home directory:
+# photo-viewer "cat > ~/photoid-for-key-%k.%t"
+#
+# Use your MIME handler to view photos:
+# photo-viewer "metamail -q -d -b -c %T -s 'KeyID 0x%k' -f GnuPG"
+
+# Passphrase agent
+#
+# We support the old experimental passphrase agent protocol as well as
+# the new Assuan based one (currently available in the "newpg" package
+# at ftp.gnupg.org/gcrypt/alpha/aegypten/). To make use of the agent,
+# you have to run an agent as daemon and use the option
+#
+use-agent
+#
+# which tries to use the agent but will fallback to the regular mode
+# if there is a problem connecting to the agent. The normal way to
+# locate the agent is by looking at the environment variable
+# GPG_AGENT_INFO which should have been set during gpg-agent startup.
+# In certain situations the use of this variable is not possible, thus
+# the option
+#
+# --gpg-agent-info=<path>:<pid>:1
+#
+# may be used to override it.
+
+# Automatic key location
+#
+# GnuPG can automatically locate and retrieve keys as needed using the
+# auto-key-locate option. This happens when encrypting to an email
+# address (in the "user@example.com" form), and there are no
+# user@example.com keys on the local keyring. This option takes the
+# following arguments, in the order they are to be tried:
+#
+# cert = locate a key using DNS CERT, as specified in RFC-4398.
+# GnuPG can handle both the PGP (key) and IPGP (URL + fingerprint)
+# CERT methods.
+#
+# pka = locate a key using DNS PKA.
+#
+# ldap = locate a key using the PGP Universal method of checking
+# "ldap://keys.(thedomain)". For example, encrypting to
+# user@example.com will check ldap://keys.example.com.
+#
+# keyserver = locate a key using whatever keyserver is defined using
+# the keyserver option.
+#
+# You may also list arbitrary keyservers here by URL.
+#
+# Try CERT, then PKA, then LDAP, then hkp://subkeys.net:
+#auto-key-locate cert pka ldap hkp://subkeys.pgp.net
diff --git a/.config/gtk-2.0/.gitignore b/.config/gtk-2.0/.gitignore
new file mode 100644
index 0000000..67b1609
--- /dev/null
+++ b/.config/gtk-2.0/.gitignore
@@ -0,0 +1 @@
+gtkfilechooser.ini
diff --git a/.config/gtk-3.0/bookmarks b/.config/gtk-3.0/bookmarks
new file mode 100644
index 0000000..85af107
--- /dev/null
+++ b/.config/gtk-3.0/bookmarks
@@ -0,0 +1,5 @@
+file:///home/luke/Documents
+file:///home/luke/Music
+file:///home/luke/Pictures
+file:///home/luke/Videos
+file:///home/luke/Downloads
diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini
index 5c3cf6a..9801ab0 100644
--- a/.config/gtk-3.0/settings.ini
+++ b/.config/gtk-3.0/settings.ini
@@ -1,17 +1,17 @@
-[Settings]
-# DO NOT EDIT! This file will be overwritten by LXAppearance.
-gtk-theme-name = oxygen-gtk
-gtk-icon-theme-name = default.kde4
-gtk-font-name = Sans 10
-gtk-cursor-theme-name = Vanilla-DMZ
-gtk-cursor-theme-size = 0
-gtk-toolbar-style = GTK_TOOLBAR_BOTH
-gtk-toolbar-icon-size = GTK_ICON_SIZE_SMALL_TOOLBAR
-gtk-button-images = 0
-gtk-menu-images = 1
-gtk-enable-event-sounds = 1
-gtk-enable-input-feedback-sounds = 1
-gtk-xft-antialias = 1
-gtk-xft-hinting = 1
-gtk-xft-hintstyle = hintfull
-gtk-xft-rgba = rgb
+[Settings]
+gtk-theme-name=oxygen-gtk
+gtk-icon-theme-name=oxygen
+gtk-fallback-icon-theme=gnome
+gtk-font-name=Sans 10
+gtk-cursor-theme-name=Vanilla-DMZ
+gtk-cursor-theme-size=0
+gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
+gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
+gtk-button-images=0
+gtk-menu-images=1
+gtk-enable-event-sounds=1
+gtk-enable-input-feedback-sounds=1
+gtk-xft-antialias=1
+gtk-xft-hinting=1
+gtk-xft-hintstyle=hintfull
+gtk-xft-rgba=rgb
diff --git a/.config/hgk b/.config/hgk
new file mode 100644
index 0000000..f767058
--- /dev/null
+++ b/.config/hgk
@@ -0,0 +1,59 @@
+set mainfont {Helvetica 9}
+set curidfont {Helvetica 9 bold italic underline}
+set textfont {Courier 9}
+set findmergefiles 0
+set gaudydiff 0
+set maxgraphpct 50
+set maxwidth 16
+set geometry(width) 1364
+set geometry(height) 690
+set geometry(canv1) 321
+set geometry(canv2) 66
+set geometry(canv3) 947
+set geometry(canvh) 256
+set geometry(ctextw) 90
+set geometry(cflistw) 84
+#
+# main window position:
+set posx 1
+set posy 61
+#
+# authorcolors format:
+#
+# zero or more sublists of
+#
+# { regex color }
+#
+# followed by a list of colors
+#
+# If the commit author matches a regex in a sublist,
+# the commit will be colored by that color
+# otherwise the next unused entry from the list of colors
+# will be assigned to this commit and also all other commits
+# of the same author. When the list of colors is exhausted,
+# the last entry will be reused.
+#
+set authorcolors {
+ black blue deeppink mediumorchid blue burlywood4 goldenrod slateblue red2 navy dimgrey
+}
+#
+# The background color in the text windows
+set bgcolor white
+#
+# The text color used in the diff and file list view
+set fgcolor black
+#
+# Color to display + lines in diffs
+set diffaddcolor #00a000
+#
+# Color to display - lines in diffs
+set diffremcolor red
+#
+# Merge diffs: Color to signal lines from first parent
+set diffmerge1color red
+#
+# Merge diffs: Color to signal lines from second parent
+set diffmerge2color blue
+#
+# Hunkseparator (@@ -lineno,lines +lineno,lines @@) color
+set hunksepcolor blue
diff --git a/.config/hgrc b/.config/hgrc
index 96fce82..cf595e3 100644
--- a/.config/hgrc
+++ b/.config/hgrc
@@ -1,2 +1,4 @@
[ui]
username = Luke Shumaker <lukeshu@sbcglobal.net>
+[extensions]
+hgk =
diff --git a/.config/icons/default/index.theme b/.config/icons/default/index.theme
new file mode 100644
index 0000000..dd26337
--- /dev/null
+++ b/.config/icons/default/index.theme
@@ -0,0 +1,4 @@
+# This file is written by LXAppearance. Do not edit.[Icon Theme]
+Name=Default
+Comment=Default Cursor Theme
+Inherits=Vanilla-DMZ
diff --git a/.config/libretools/.gitignore b/.config/libretools/.gitignore
new file mode 100644
index 0000000..1881962
--- /dev/null
+++ b/.config/libretools/.gitignore
@@ -0,0 +1 @@
+blacklist.txt
diff --git a/.config/lxpanel/default/config b/.config/lxpanel/default/config
index 3ac287f..e19a7d1 100644
--- a/.config/lxpanel/default/config
+++ b/.config/lxpanel/default/config
@@ -1,3 +1,4 @@
[Command]
FileManager=v-editor %s
-Terminal=urxvt
+Terminal=urxvt -c %s
+Logout=bash -c 'echo quit >> $WMII_DIR/ctl'
diff --git a/.config/lxpanel/default/panels/panel b/.config/lxpanel/default/panels/panel
index 9d776bb..93bdb61 100644
--- a/.config/lxpanel/default/panels/panel
+++ b/.config/lxpanel/default/panels/panel
@@ -9,7 +9,7 @@ Global {
width=100
height=16
transparent=1
- tintcolor=#002b36
+ tintcolor=#555753
alpha=255
autohide=0
heightwhenhidden=2
@@ -17,11 +17,21 @@ Global {
setpartialstrut=1
usefontcolor=1
fontsize=10
- fontcolor=#839496
+ fontcolor=#eeeeec
usefontsize=0
background=0
backgroundfile=/usr/share/lxpanel/images/background.png
iconsize=16
+ loglevel=2
+}
+
+Plugin {
+ type = menu
+ Config {
+ image=/usr/share/lxpanel/images/my-computer.png
+ system {
+ }
+ }
}
Plugin {
diff --git a/.config/maildirproc/default.rc b/.config/maildirproc/att.rc
index 71bc00c..71bc00c 100644
--- a/.config/maildirproc/default.rc
+++ b/.config/maildirproc/att.rc
diff --git a/.config/maildirproc/purdue.rc b/.config/maildirproc/purdue.rc
new file mode 100644
index 0000000..6d4b913
--- /dev/null
+++ b/.config/maildirproc/purdue.rc
@@ -0,0 +1,191 @@
+# -*- mode: python; indent-tabs-mode: t -*-
+
+import os
+import subprocess
+
+processor.maildir_base = "~/Maildir.purdue"
+processor.auto_reload_rcfile = True
+processor.logfile = os.getenv('XDG_CACHE_HOME', "~/.cache")+"/maildirproc/purdue.log"
+
+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 piazza_topic(mail, topic):
+ return (
+ is_to_or_from(mail, topic+" on Piazza")
+ or mail["Subject"].contains(topic+" on Piazza"))
+
+def my_filters(mail):
+ # Generic stuff ########################################################
+
+ if (
+ False
+ or mail["Subject"].contains("[PASE]")
+ or is_to_or_from(mail,"Purduealumni@purdue.edu")
+ or is_to_or_from(mail,"pase@purdue.edu")
+ ):
+ mail.move("INBOX.crap.PASE")
+ return
+
+ if mail["Subject"].contains("[PLUG]"):
+ mail.move("INBOX.crap.PLUG")
+ return
+
+ if mail["From"].matches(".*bursar.*@purdue\.edu"):
+ mail.move("INBOX.tuition")
+ return
+
+ if mail["From"].contains("mailhub-admin@purdue.edu"):
+ mail.move("INBOX.crap.mailhub-admin")
+ return
+
+ if mail["From"].matches("pmx-.*@purdue.edu"):
+ mail.move("INBOX.crap.spam")
+ return
+
+ if is_to_or_from(mail,"linkedin.com"):
+ mail.move("INBOX.crap.LinkedIn")
+ return
+
+ if is_to_or_from(mail,"follet.com"):
+ mail.move("INBOX.Follet")
+ return
+
+ if (
+ False
+ or is_to_or_from(mail,"@edrtrust.com")
+ or is_to_or_from(mail,"@propertysolutions.com")
+ or is_to_or_from(mail,"collegestationapartments@gmail.com")
+ or is_to_or_from_re(mail,"collegestationca\..*@gmail.com")
+ or is_to_or_from(mail, "@duke-energy.com")
+ ):
+ mail.move("INBOX.housing.CollegeStation")
+ return
+
+ if mail["From"].matches("facebook(|mail)\.com"):
+ mail.move("INBOX.crap.Facebook")
+ return
+
+ if (
+ False
+ or is_to_or_from(mail,"@cable.comcast.com")
+ or is_to_or_from(mail,"@apexsystemsinc.com")
+ ):
+ mail.move("INBOX.work.Comcast")
+ return
+
+ if (
+ False
+ or mail["Subject"].contains("[CS Opportunity Update]")
+ or mail["Subject"].contains("[CS Majors]")
+ ):
+ mail.move("INBOX.crap.CS")
+ return
+ if (mail["From"].contains("shumakl@cs.purdue.edu") and mail["Subject"].matches("^cron:")):
+ mail.move("INBOX.crap.cron")
+ return
+
+ # Fall 2012 ############################################################
+
+ if mail["Subject"].contains("Fall-2012-SCI-21000-001:"):
+ mail.move("INBOX.classes.2012-2.SCI210")
+ if mail["Subject"].contains("fall-2012-cs-18000"):
+ mail.move("INBOX.classes.2012-2.CS180")
+ return
+ if piazza_topic(mail, "CS 18000"):
+ mail.move("INBOX.classes.2012-2.CS180.Piazza")
+ return
+ if mail["Subject"].contains("Fall-2012-SOC-10000"):
+ mail.move("INBOX.classes.2012-2.SOC100")
+ return
+
+ # Spring 2013 ##########################################################
+
+ if mail["Subject"].contains("[CS240] Submission result for"):
+ mail.move("INBOX.classes.2013-1.CS240.autograder")
+ return
+ if mail["Subject"].contains("[CS240]") or mail["Subject"].contains("Spring-2013-CS-24000"):
+ mail.move("INBOX.classes.2013-1.CS240")
+ return
+ if piazza_topic(mail, "CS 240"):
+ mail.move("INBOX.classes.2013-1.CS240.Piazza")
+ return
+ if mail["Subject"].matches(".*(PHYS|CHIP)\s*220.*") or is_to_or_from(mail,"srdas@purdue.edu"):
+ mail.move("INBOX.classes.2013-1.PHYS220")
+ return
+ if mail["Subject"].contains("Spring-2013-SOC-22000"):
+ mail.move("INBOX.classes.2013-1.SOC220")
+ return
+
+ # Fall 2013 ############################################################
+
+ if mail["Subject"].contains("Fall-2013-CS-25000"):
+ mail.move("INBOX.classes.2013-2.CS250")
+ return
+ if piazza_topic(mail, "CS 250") or piazza_topic(mail, "CS 250-FALL2013"):
+ mail.move("INBOX.classes.2013-2.CS250.Piazza")
+ return
+ if mail["Subject"].contains("Fall-2013-CS-25100"):
+ mail.move("INBOX.classes.2013-2.CS251")
+ return
+ if piazza_topic(mail, "CS 251"):
+ mail.move("INBOX.classes.2013-2.CS251.Piazza")
+ return
+ if mail["Subject"].contains("Fall-2013-SPAN-10100"):
+ mail.move("INBOX.classes.2013-2.SPAN101")
+ return
+ if mail["Subject"].contains("Fall-2013-MA-26100"):
+ mail.move("INBOX.classes.2013-2.MA261")
+ return
+ if mail["Subject"].contains("Fall-2013-MA-26500"):
+ mail.move("INBOX.classes.2013-2.MA265")
+ return
+
+ # Spring 2014 ##########################################################
+
+ # COM217
+ if mail["Subject"].contains("Spring-2014-COM-21700-004"):
+ mail.move("INBOX.classes.2014-1.COM217")
+ return
+ if mail["From"].contains("mixable") and mail["Subject"].matches("^COM 21700"):
+ mail.move("INBOX.classes.2014-1.COM217.Mixable")
+ return
+ # CS252
+ if piazza_topic(mail, "CS 25200"):
+ mail.move("INBOX.classes.2014-1.CS252.Piazza")
+ return
+ # CS307
+ if is_to_or_from(mail, "dunsmore@purdue.edu") or mail["Subject"].contains("Spring-2014-CS-30700-LE1"):
+ mail.move("INBOX.classes.2014-1.CS307")
+ return
+ # SPAN102
+ if mail["Subject"].contains("spring-2014-span-102"):
+ mail.move("INBOX.classes.2014-1.SPAN102")
+ return
+ # STAT350
+ if is_to_or_from(mail, "ssellke@purdue.edu"):
+ mail.move("INBOX.classes.2014-1.STAT350")
+ return
+ if piazza_topic(mail, "STAT 35000 (SELLKE)"):
+ mail.move("INBOX.classes.2014-1.STAT350.Piazza")
+ return
+
+handle_mapping = {
+ "INBOX": my_filters,
+ }
+processor.maildirs = handle_mapping.keys()
+for mail in processor:
+ handle_mapping[mail.maildir](mail)
diff --git a/.config/meld/meldrc.ini b/.config/meld/meldrc.ini
deleted file mode 120000
index dc1dc0c..0000000
--- a/.config/meld/meldrc.ini
+++ /dev/null
@@ -1 +0,0 @@
-/dev/null \ No newline at end of file
diff --git a/.config/nanorc b/.config/nanorc
new file mode 100644
index 0000000..b21e86b
--- /dev/null
+++ b/.config/nanorc
@@ -0,0 +1,233 @@
+## Please note that you must have configured nano with --enable-nanorc
+## for this file to be read! Also note that this file should not be in
+## DOS or Mac format, and that characters specially interpreted by the
+## shell should not be escaped here.
+##
+## To make sure a value is disabled, use "unset <option>".
+##
+## For the options that take parameters, the default value is given.
+## Other options are unset by default.
+##
+## Quotes inside string parameters don't have to be escaped with
+## backslashes. The last double quote in the string will be treated as
+## its end. For example, for the "brackets" option, ""')>]}" will match
+## ", ', ), >, ], and }.
+
+## Use auto-indentation.
+set autoindent
+
+## Backup files to filename~.
+# set backup
+
+## The directory to put unique backup files in.
+set backupdir "~/.nano-backup"
+
+## Do backwards searches by default.
+# set backwards
+
+## Use bold text instead of reverse video text.
+# set boldtext
+
+## The characters treated as closing brackets when justifying
+## paragraphs. They cannot contain blank characters. Only closing
+## punctuation, optionally followed by closing brackets, can end
+## sentences.
+##
+# set brackets ""')>]}"
+
+## Do case sensitive searches by default.
+# set casesensitive
+
+## Constantly display the cursor position in the statusbar. Note that
+## this overrides "quickblank".
+# set const
+
+## Use cut to end of line by default.
+# set cut
+
+## Set the line length for wrapping text and justifying paragraphs.
+## If fill is 0 or less, the line length will be the screen width less
+## this number.
+##
+# set fill -8
+
+## Enable ~/.nano_history for saving and reading search/replace strings.
+# set historylog
+
+## The opening and closing brackets that can be found by bracket
+## searches. They cannot contain blank characters. The former set must
+## come before the latter set, and both must be in the same order.
+##
+# set matchbrackets "(<[{)>]}"
+
+## Use the blank line below the titlebar as extra editing space.
+# set morespace
+
+## Enable mouse support, if available for your system. When enabled,
+## mouse clicks can be used to place the cursor, set the mark (with a
+## double click), and execute shortcuts. The mouse will work in the X
+## Window System, and on the console when gpm is running.
+##
+# set mouse
+
+## Allow multiple file buffers (inserting a file will put it into a
+## separate buffer). You must have configured with --enable-multibuffer
+## for this to work.
+##
+# set multibuffer
+
+## Don't convert files from DOS/Mac format.
+set noconvert
+
+## Don't follow symlinks when writing files.
+# set nofollow
+
+## Don't display the helpful shortcut lists at the bottom of the screen.
+# set nohelp
+
+## Don't add newlines to the ends of files.
+set nonewlines
+
+## Don't wrap text at all.
+# set nowrap
+
+## Set operating directory. nano will not read or write files outside
+## this directory and its subdirectories. Also, the current directory
+## is changed to here, so any files are inserted from this dir. A blank
+## string means the operating directory feature is turned off.
+##
+# set operatingdir ""
+
+## Preserve the XON and XOFF keys (^Q and ^S).
+# set preserve
+
+## The characters treated as closing punctuation when justifying
+## paragraphs. They cannot contain blank characters. Only closing
+## punctuation, optionally followed by closing brackets, can end
+## sentences.
+##
+# set punct "!.?"
+
+## Do quick statusbar blanking. Statusbar messages will disappear after
+## 1 keystroke instead of 26. Note that "const" overrides this.
+##
+# set quickblank
+
+## The email-quote string, used to justify email-quoted paragraphs.
+## This is an extended regular expression if your system supports them,
+## otherwise a literal string. Default:
+# set quotestr "^([ ]*[#:>\|}])+"
+## if you have extended regular expression support, otherwise:
+# set quotestr "> "
+
+## Fix Backspace/Delete confusion problem.
+# set rebinddelete
+
+## Fix numeric keypad key confusion problem.
+# set rebindkeypad
+
+## Do extended regular expression searches by default.
+# set regexp
+
+## Make the Home key smarter. When Home is pressed anywhere but at the
+## very beginning of non-whitespace characters on a line, the cursor
+## will jump to that beginning (either forwards or backwards). If the
+## cursor is already at that position, it will jump to the true
+## beginning of the line.
+set smarthome
+
+## Use smooth scrolling as the default.
+set smooth
+
+## Enable soft line wrapping (AKA full line display).
+set softwrap
+
+## Use this spelling checker instead of the internal one. This option
+## does not properly have a default value.
+##
+# set speller "aspell -x -c"
+
+## Allow nano to be suspended.
+# set suspend
+
+## Use this tab size instead of the default; it must be greater than 0.
+# set tabsize 8
+
+## Convert typed tabs to spaces.
+# set tabstospaces
+
+## Save automatically on exit, don't prompt.
+# set tempfile
+
+## Enable the new (EXPERIMENTAL) generic undo code, not just for line
+## cuts.
+# set undo
+
+## Disallow file modification. Why would you want this in an rcfile? ;)
+# set view
+
+## The two single-column characters used to display the first characters
+## of tabs and spaces. 187 in ISO 8859-1 (0000BB in Unicode) and 183 in
+## ISO-8859-1 (0000B7 in Unicode) seem to be good values for these.
+# set whitespace " "
+
+## Detect word boundaries more accurately by treating punctuation
+## characters as parts of words.
+# set wordbounds
+
+
+## Color setup
+##
+## Format:
+##
+## syntax "short description" ["filename regex" ...]
+##
+## The "none" syntax is reserved; specifying it on the command line is
+## the same as not having a syntax at all. The "default" syntax is
+## special: it takes no filename regexes, and applies to files that
+## don't match any other syntax's filename regexes.
+##
+## color foreground,background "regex" ["regex"...]
+## or
+## icolor foreground,background "regex" ["regex"...]
+##
+## "color" will do case sensitive matches, while "icolor" will do case
+## insensitive matches.
+##
+## Valid colors: white, black, red, blue, green, yellow, magenta, cyan.
+## For foreground colors, you may use the prefix "bright" to get a
+## stronger highlight.
+##
+## To use multi-line regexes, use the start="regex" end="regex"
+## [start="regex" end="regex"...] format.
+##
+## If your system supports transparency, not specifying a background
+## color will use a transparent color. If you don't want this, be sure
+## to set the background color to black or white.
+##
+## If you wish, you may put your syntaxes in separate files. You can
+## make use of such files (which can only include "syntax", "color", and
+## "icolor" commands) as follows:
+##
+## include "/path/to/syntax_file.nanorc"
+##
+## Unless otherwise noted, the name of the syntax file (without the
+## ".nanorc" extension) should be the same as the "short description"
+## name inside that file. These names are kept fairly short to make
+## them easier to remember and faster to type using nano's -Y option.
+##
+## All regexes should be extended regular expressions.
+
+## Key bindings
+## Please see nanorc(5) for more details on this
+##
+## Here are some samples to get you going
+##
+# bind M-W nowrap main
+# bind M-A casesens search
+# bind ^S research main
+
+## Set this if your backspace key sends delete most of the time (2.1.3+)
+# bind kdel backspace all
+
+
diff --git a/.config/okular/.gitignore b/.config/okular/.gitignore
new file mode 100644
index 0000000..4e33b14
--- /dev/null
+++ b/.config/okular/.gitignore
@@ -0,0 +1 @@
+docdata
diff --git a/.config/selected_editor b/.config/selected_editor
new file mode 100644
index 0000000..7631487
--- /dev/null
+++ b/.config/selected_editor
@@ -0,0 +1,4 @@
+# Generated by /usr/bin/select-editor
+SELECTED_EDITOR="emacsclient -a '' -c"
+ALTERNATE_EDITOR='nano'
+VISUAL="$SELECTED_EDITOR"
diff --git a/.config/ssh/.gitignore b/.config/ssh/.gitignore
new file mode 100644
index 0000000..00977c6
--- /dev/null
+++ b/.config/ssh/.gitignore
@@ -0,0 +1 @@
+id_*
diff --git a/.config/ssh/config b/.config/ssh/config
index bb876ba..b6e53d6 100644
--- a/.config/ssh/config
+++ b/.config/ssh/config
@@ -1,3 +1,24 @@
Host *
Protocol 2
+ ControlMaster auto
+ ControlPath ~/.sessions/ssh-%r@%h:%p
Compression yes
+
+Host lore
+ HostName lore.cs.purdue.edu
+ User shumakl
+
+Host data
+ HostName data.cs.purdue.edu
+ User shumakl
+
+Host repo
+ Port 1863
+ HostName repo.parabolagnulinux.org
+
+Host rshg054
+ Port 1863
+ HostName parabolagnulinux.org
+
+Host lukeshu.com
+ Port 1863
diff --git a/.config/symlinks b/.config/symlinks
new file mode 100644
index 0000000..030954c
--- /dev/null
+++ b/.config/symlinks
@@ -0,0 +1,54 @@
+# target link
+
+# Generic
+.config/login.sh .profile
+
+# X11
+.config/X11/defaults .Xdefaults
+.config/X11/clientrc .xinitrc
+.config/X11/serverrc .xserverrc
+.config/X11/login .xsession
+
+# Bash
+.config/bash/rc.sh .bashrc
+.config/bash/login.sh .bash_login
+.config/bash/logout.sh .bash_logout
+
+# Files plucked out of multi-purpose directories
+.config/gpg/gpg.conf .gnupg/gpg.conf
+
+# Individual config files
+.config/abs.conf .abs.conf
+.config/conkerorrc .conkerorrc
+.config/hgk .hgk
+.config/hgrc .hgrc
+.config/irbrc .irbrc
+.config/linphonerc .linphonerc #
+.config/selected_editor .selected_editor
+
+.config/offlineimaprc .offlineimaprc
+.cache/offlineimap .offlineimap
+
+# Directories
+.cache/maildirproc/ .maildirproc
+
+.config/arduino/ .arduino
+.config/bazaar/ .bazaar
+.config/cpan/ .cpan
+.config/emacs/ .emacs.d
+.config/icons/ .icons
+.config/mozilla/ .mozilla #
+.config/mplayer/ .mplayer #
+.config/purple/ .purple
+.config/ssh/ .ssh
+.config/subversion/ .subversion
+.config/wmii-hg/ .wmii-hg
+.config/wmii/ .wmii #
+
+# KDE
+.config/ .kde/share/apps #
+.config/ .kde/share/config #
+.kde/ .kde4 #
+
+# Alias for conkeror
+.mozilla/ .conkeror.mozdev.org
diff --git a/.config/wmii-hg/config.sh b/.config/wmii-hg/config.sh
index 92adb8b..3ddc8d5 100755..100644
--- a/.config/wmii-hg/config.sh
+++ b/.config/wmii-hg/config.sh
@@ -1,30 +1,16 @@
#!/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
+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`"
+HIST="$XDG_CACHE_HOME/wmii/history"
+mkdir -p "${HIST%/*}"
-# Tagging Rules
-echo '/Emacs|Navigator/ -> +sel' >> $WMII_DIR/tagrules
-echo '/Eclipse/ -> +sel' >> $WMII_DIR/tagrules
-echo '/panel/ -> /.*/' >> $WMII_DIR/tagrules
+# Colors tuples: "<text> <background> <border>"
+. theme-tango-dark
Event() {
event=$1; shift;
@@ -40,15 +26,52 @@ Event() {
## 2 = middle
## 3 = right
- ## WMII-meta events
- Quit) ## No args
+ ## Custom (non-WMII-generated) events
+ WmiircStart) ## No args
+ echo ' ==> Starting wmiirc'
+ is_mounted $WMII_DIR && Event WmiircUnmount
+ Event WmiircMount
+
+ # Configure wmii
+ < "`conffile rules`" expand_variables >> $WMII_DIR/rules
+ < "`conffile ctl-init`" expand_variables >> $WMII_DIR/ctl
+ scansection Key | cut -sf2 >> $WMII_DIR/keys
+ # Configure X11
+ hsetroot -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'
- 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;;
+ 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
@@ -85,9 +108,9 @@ Event() {
{
case `wmii9menu Delete Fullscreen` in
Delete)
- echo kill |a $WMII_DIR/client/$client/ctl;;
+ echo kill >> $WMII_DIR/client/$client/ctl;;
Fullscreen)
- echo Fullscreen on |a $WMII_DIR/client/$1/ctl;;
+ echo Fullscreen on >> $WMII_DIR/client/$1/ctl;;
esac
}& ;;
esac;;
@@ -102,7 +125,7 @@ Event() {
resp=$(wihack -transient $client \
xmessage -nearmouse -buttons Kill,Wait -print "$msg")
if [ "$resp" = Kill ]; then
- echo slay |a $WMII_DIR/client/$client/ctl
+ echo slay >> $WMII_DIR/client/$client/ctl
fi
}& ;;
Fullscreen) ## $1=client $2=[on|off]
@@ -111,24 +134,24 @@ Event() {
## Tag events
CreateTag) ## $1=tag
- echo "$WMII_NORMCOLORS" $@ |a $WMII_DIR/lbar/$1;;
+ echo label "$*" >> $WMII_DIR/lbar/$1;;
DestroyTag) ## $1=tag
rm $WMII_DIR/lbar/$1;;
FocusTag) ## $1=tag
- echo "$WMII_FOCUSCOLORS" $1 |a $WMII_DIR/lbar/$1;;
+ echo colors "$WMII_FOCUSCOLORS" >> $WMII_DIR/lbar/$1;;
UnfocusTag) ## $1=tag
- echo "$WMII_NORMCOLORS" $1 |a $WMII_DIR/lbar/$1;;
+ echo colors "$WMII_NORMCOLORS" >> $WMII_DIR/lbar/$1;;
UrgentTag) ## $1=tag $2=[Manager|Client]
- echo "$WMII_URGENTCOLORS" $1 |a $WMII_DIR/lbar/$1;;
+ echo "$WMII_URGENTCOLORS" >> $WMII_DIR/lbar/$1;;
NotUrgentTag) ## $1=tag $2=[Manager|Client]
- echo "$WMII_NORMCOLORS" $1 |a $WMII_DIR/lbar/$1;;
+ echo "$WMII_NORMCOLORS" >> $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;;
+ echo view "$@" >> $WMII_DIR/ctl;;
LeftMouseDND) ## $1=button $2=bar_item
Event LeftBarClick "$@";;
@@ -139,10 +162,6 @@ Event() {
;;
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
@@ -153,119 +172,79 @@ Key() {
## Moving around
$MODKEY-$LEFT) ## Select the client to the left
- echo select left |a $WMII_DIR/tag/sel/ctl;;
+ echo select left >> $WMII_DIR/tag/sel/ctl;;
$MODKEY-$RIGHT) ## Select the client to the right
- echo select right |a $WMII_DIR/tag/sel/ctl;;
+ echo select right >> $WMII_DIR/tag/sel/ctl;;
$MODKEY-$UP) ## Select the client above
- echo select up |a $WMII_DIR/tag/sel/ctl;;
+ echo select up >> $WMII_DIR/tag/sel/ctl;;
$MODKEY-$DOWN) ## Select the client below
- echo select down |a $WMII_DIR/tag/sel/ctl;;
+ echo select down >> $WMII_DIR/tag/sel/ctl;;
$MODKEY-space) ## Toggle between floating and managed layers
- echo select toggle |a $WMII_DIR/tag/sel/ctl;;
+ echo select toggle >> $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;;
+ echo send sel left >> $WMII_DIR/tag/sel/ctl;;
$MODKEY-Shift-$RIGHT) ## Move selected client to the right
- wmiir xwrite /tag/sel/ctl send sel right;;
+ echo send sel right >> $WMII_DIR/tag/sel/ctl;;
$MODKEY-Shift-$UP) ## Move selected client up
- wmiir xwrite /tag/sel/ctl send sel up;;
+ echo send sel up >> $WMII_DIR/tag/sel/ctl;;
$MODKEY-Shift-$DOWN) ## Move selected client down
- wmiir xwrite /tag/sel/ctl send sel down;;
-
+ echo send sel down >> $WMII_DIR/tag/sel/ctl;;
$MODKEY-Shift-space) ## Toggle selected client between floating and managed layers
- wmiir xwrite /tag/sel/ctl send sel toggle;;
+ echo send sel toggle >> $WMII_DIR/tag/sel/ctl;;
## 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;;
+ 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
- wmiir xwrite /client/sel/ctl Fullscreen toggle;;
+ echo Fullscreen toggle >> $WMII_DIR/client/sel/ctl;;
$MODKEY-shift-0) ## Close client
- wmiir xwrite /client/sel/ctl kill;;
+ echo kill >> $WMII_DIR/client/sel/ctl;;
## Changing column modes
$MODKEY-d) ## Set column to default mode
- wmiir xwrite /tag/sel/ctl colmode sel default-max;;
+ echo colmode sel default-max >> $WMII_DIR/tag/sel/ctl;;
$MODKEY-s) ## Set column to stack mode
- wmiir xwrite /tag/sel/ctl colmode sel stack-max;;
+ echo colmode sel stack-max >> $WMII_DIR/tag/sel/ctl;;
$MODKEY-m) ## Set column to max mode
- wmiir xwrite /tag/sel/ctl colmode sel stack+max;;
+ 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) & ;;
+ Action $(path_ls $WMII_CONFPATH | wimenu -h "${HIST}.actions" -n 5000) & ;;
$MODKEY-x) ## Open program menu
- setsid $(wimenu -h "${hist}.progs" -n 5000 <$progsfile) & ;;
+ PATH=$_PATH setsid $(path_ls $PATH | wimenu -h "${HIST}.progs" -n 5000) & ;;
$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;;
+ PATH=$_PATH setsid x-terminal-emulator & ;;
## Tag actions
$MODKEY-t) ## Change to another tag
{
- tag=$(lstags | wimenu -h "${hist}.tags" -n 50) || return
- wmiir xwrite /ctl view $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
- wmiir xwrite /client/$sel/tags "$tag"
+ tag=$(lstags | wimenu -h "${HIST}.tags" -n 50) || return
+ echo "$tag" >> $WMII_DIR/client/$sel/tags
}& ;;
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"
+Action() {
+ prog=`path_which "$WMII_CONFPATH" $1`; shift
+ if [ -n "$prog" ]; then
+ "$prog" "$@"
+ return $?
+ else
+ return 1
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
+} ## End Action
diff --git a/.config/wmii-hg/ctl-init b/.config/wmii-hg/ctl-init
new file mode 100644
index 0000000..026c0d5
--- /dev/null
+++ b/.config/wmii-hg/ctl-init
@@ -0,0 +1,5 @@
+font xft:Monospace-8
+focuscolors $WMII_FOCUSCOLORS
+normcolors $WMII_NORMCOLORS
+grabmod $MODKEY
+border 1
diff --git a/.config/wmii-hg/fixes.sh b/.config/wmii-hg/fixes.sh
new file mode 100644
index 0000000..5858859
--- /dev/null
+++ b/.config/wmii-hg/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() {
+ local 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/.config/wmii-hg/help-events b/.config/wmii-hg/help-events
new file mode 100755
index 0000000..08abd18
--- /dev/null
+++ b/.config/wmii-hg/help-events
@@ -0,0 +1,3 @@
+#!/bin/bash
+. include.sh
+scansection Event | xmessage -file -
diff --git a/.config/wmii-hg/help-keys b/.config/wmii-hg/help-keys
new file mode 100755
index 0000000..6f4bd1c
--- /dev/null
+++ b/.config/wmii-hg/help-keys
@@ -0,0 +1,3 @@
+#!/bin/bash
+. include.sh
+scansection Key | xmessage -file -
diff --git a/.config/wmii-hg/rules b/.config/wmii-hg/rules
new file mode 100644
index 0000000..cf735c9
--- /dev/null
+++ b/.config/wmii-hg/rules
@@ -0,0 +1,8 @@
+/wimenu/ floating=always
+/panel/ tags=/.*/ floating=always
+/xfce4-notifyd/ tags=/.*/ floating=always
+
+/nm-applet/ floating=off
+
+/Emacs|Navigator/ force-tags=+sel floating=never
+/.*/ floating=off
diff --git a/.config/wmii-hg/theme-solarized-dark b/.config/wmii-hg/theme-solarized-dark
index 83285ba..fde361b 100644
--- a/.config/wmii-hg/theme-solarized-dark
+++ b/.config/wmii-hg/theme-solarized-dark
@@ -1,7 +1,7 @@
#!/bin/sh
# Solarized-dark
-. $HOME/.wmii/theme-solarized
+. theme-solarized
WMII_BACKGROUND="$SOL_BASE02"
diff --git a/.config/wmii-hg/theme-tango b/.config/wmii-hg/theme-tango
new file mode 100644
index 0000000..e0e35d4
--- /dev/null
+++ b/.config/wmii-hg/theme-tango
@@ -0,0 +1,10 @@
+TANGO_butter=("#fce94f" "#edd400" "#c4a000")
+TANGO_orange=("#fcaf3e" "#f57900" "#ce5c00")
+TANGO_choc=( "#e9b96e" "#c17d11" "#8f5902")
+TANGO_cham=( "#8ae234" "#73d216" "#4e9a06")
+TANGO_blue=( "#729fcf" "#3465a4" "#204a87")
+TANGO_plum=( "#ad7fa8" "#75507b" "#5c3566")
+TANGO_red=( "#ef2929" "#cc0000" "#a40000")
+TANGO_alum=( "#eeeeec" "#d3d7cf" "#babdb6"
+ "#888a85" "#555753" "#2e3436")
+
diff --git a/.config/wmii-hg/theme-tango-dark b/.config/wmii-hg/theme-tango-dark
new file mode 100644
index 0000000..04a9fa6
--- /dev/null
+++ b/.config/wmii-hg/theme-tango-dark
@@ -0,0 +1,11 @@
+#!/bin/bash
+# Tango-tark
+
+. theme-tango
+
+WMII_BACKGROUND="${TANGO_alum[5]}"
+
+# ="<text> <background> <border>"
+WMII_NORMCOLORS="${TANGO_alum[0]} ${TANGO_alum[4]} ${TANGO_alum[3]}"
+WMII_FOCUSCOLORS="${TANGO_alum[5]} ${TANGO_alum[1]} ${TANGO_alum[0]}"
+WMII_URGENTCOLORS="${TANGO_orange[0]} ${TANGO_alum[4]} ${TANGO_orange[4]}"
diff --git a/.config/wmii-hg/util.sh b/.config/wmii-hg/util.sh
new file mode 100644
index 0000000..71dbc41
--- /dev/null
+++ b/.config/wmii-hg/util.sh
@@ -0,0 +1,129 @@
+#!/bin/bash
+
+# I moved "fixes" into a separate file because it isn't so much configuration...
+. fixes.sh
+
+################################################################################
+# Added shell features #
+################################################################################
+
+##
+# Usage: dquote STRING
+# Safely double-quotes a string.
+# It escapes ways to execute code, but not variables.
+##
+dquote() {
+ local 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() {
+ local dir="$(readlink -m $1)"
+ local mntpnt="$(cut -d' ' -f2 /proc/mounts|grep -Fx -- "$dir")"
+ [[ $dir = "$mntpnt" ]]
+ return $?
+}
+
+################################################################################
+# PATH manipulation #
+################################################################################
+
+##
+# Usage: path_ls PATH
+# List executables in PATH (PATH is delimited by `:')
+##
+path_ls() {
+ local dirs
+ IFS=: dirs=($@)
+ 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() {
+ local mypath=$1
+ local prog=$2
+ local 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() {
+ local file=$(conffile config.sh)
+ local sec=$1
+ local tmp=$(mktemp --tmpdir wmii-scansecion.XXXXXXXXXX)
+ # 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-hg/$1"
+}
diff --git a/.config/wmii-hg/wmiirc b/.config/wmii-hg/wmiirc
new file mode 100755
index 0000000..a6bc4b4
--- /dev/null
+++ b/.config/wmii-hg/wmiirc
@@ -0,0 +1,15 @@
+#!/bin/bash
+export _PATH="$PATH"
+export PATH="$WMII_CONFPATH:$PATH"
+
+. include.sh
+
+wmiir xwrite /event WmiircQuit # close any existing wmiirc's
+
+Event WmiircStart
+
+trap "Event Quit" EXIT
+
+wmiir read /event 2>/dev/null | while read event; do
+ Event $event
+done