From 927aedb7605bba96a6ea2fc707ab026946b4d2b0 Mon Sep 17 00:00:00 2001
From: Luke Shumaker <LukeShu@sbcglobal.net>
Date: Fri, 21 Mar 2014 16:10:08 -0400
Subject: backport changes from my laptop

---
 .config/abs.conf                                   |  1 +
 .config/bash/rc.d/emacs.sh                         | 43 ++++++++++++++--
 .config/bash/rc.sh                                 | 12 ++---
 .config/login.sh                                   | 34 +++++++++----
 .config/lxpanel/default/panels/panel               | 11 ----
 .config/maildirproc/att.rc                         | 33 ++++++++----
 .config/maildirproc/purdue.rc                      | 58 ++++++++++++++++++----
 .config/ssh/.gitignore                             |  1 +
 .config/ssh/config                                 | 13 +++--
 .config/symlinks                                   | 23 +++++----
 .config/wmii-hg/fixes.sh                           |  6 +--
 .config/wmii-hg/util.sh                            | 35 ++++++-------
 .../xfconf/xfce-perchannel-xml/xfce4-notifyd.xml   |  6 ---
 13 files changed, 179 insertions(+), 97 deletions(-)
 create mode 100644 .config/abs.conf
 create mode 100644 .config/ssh/.gitignore
 delete mode 100644 .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml

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/rc.d/emacs.sh b/.config/bash/rc.d/emacs.sh
index f484bbb..9c1bf4d 100644
--- a/.config/bash/rc.d/emacs.sh
+++ b/.config/bash/rc.d/emacs.sh
@@ -1,8 +1,41 @@
+#!/bin/bash
+
 case "$TERM" in
 	eterm*)
-			SELECTED_EDITOR='emacsclient'
-			EDITOR=$SELECTED_EDITOR
-			VISUAL=$SELECTED_EDITOR
-			export SELECTED_EDITOR EDITOR VISUAL
-			:;;
+		SELECTED_EDITOR='emacsclient'
+		EDITOR=$SELECTED_EDITOR
+		VISUAL=$SELECTED_EDITOR
+		export SELECTED_EDITOR EDITOR VISUAL
+		# The following uses the variable _EMACS_BUFFER to store some state
+		_emacs_quote() {
+			local str="$*"
+			str="${str//\\/\\\\}"
+			str="${str//\"/\\\"}"
+			str="\"${str}\""
+			printf '%s' "$str"
+		}
+		_emacs_rename_terminal() {
+			local name="$(_emacs_quote "$(_emacs_get_desired_buffer_name)")"
+			if [[ -n $_EMACS_BUFFER ]]; then
+				local buffer="(get-buffer $_EMACS_BUFFER)"
+			else
+				local buffer='(window-buffer (selected-window))'
+			fi
+			_EMACS_BUFFER="$(emacsclient -e "(with-current-buffer ${buffer} (rename-buffer ${name} t)))" 2>/dev/null)"
+		}
+		_emacs_get_short_cwd() {
+			local base=$1
+			local suffix=''
+			if [[ $base =~ (/(src|pkg|doc|pkg-libre|src-libre|trunk|tags|branches))*$ ]]; then
+				suffix=$BASH_REMATCH
+				base=${base%$suffix}
+			fi
+			base=${base##*/}
+			echo ${base}${suffix}
+		}
+		_emacs_get_desired_buffer_name() {
+			echo "*ansi-term*<$(_emacs_get_short_cwd "$PWD")>"
+		}
+		PROMPT_COMMAND='_emacs_rename_terminal "$(_emacs_get_desired_buffer_name)"'
+		:;;
 esac
diff --git a/.config/bash/rc.sh b/.config/bash/rc.sh
index 447796a..2bf60bc 100644
--- a/.config/bash/rc.sh
+++ b/.config/bash/rc.sh
@@ -13,17 +13,16 @@ shopt -s checkhash
 ################################################################################
 
 # History settings
-export HISTCONTROL=ignoredups
-export HISTFILE=${XDG_CACHE_HOME}/bash/history
-export HISTTIMEFORMAT='[%Y-%m-%d %H:%M] '
-export HISTSIZE=5000
+HISTCONTROL=ignoredups
+HISTFILE=${XDG_CACHE_HOME}/bash/history
+HISTTIMEFORMAT='[%Y-%m-%d %H:%M] '
+HISTSIZE=5000
 shopt -s histappend # append to the history file, don't overwrite it
 mkdir -p "${HISTFILE%/*}"
 
 # General settings
 shopt -s checkwinsize # update the values of LINES and COLUMNS
 shopt -s globstar # Let ** recursively scan directories
-PROMPT_COMMAND=''
 
 ################################################################################
 # Overly complicated setting of PS1                                            #
@@ -38,6 +37,7 @@ term-title() {
 	esac
 	printf "$fmt" "$*"
 }
+PROMPT_COMMAND=''
 
 make_prompt() {
 	echo "${BOLD}${GREEN}\u@\h${BLUE}:\w${RESET}"
@@ -57,7 +57,7 @@ if tput setaf 1 &>/dev/null; then
 	_STATUS+="\$(v=\$?; [[ \$v = 0 ]] && c='${GREEN}' || c='${RED}'; printf %s%03i \$c \$v)"
 	_STATUS+="${RESET}${BOLD}]${RESET}"
 else
-	_STATUS='[$?]'
+	_STATUS='[$(printf "%03i" $?)]'
 fi
 PS1="${_STATUS} $(make_prompt)"'\n\$ '
 unset RESET BOLD RED GREEN BLUE _STATUS
diff --git a/.config/login.sh b/.config/login.sh
index 3dad752..2687a8e 100644
--- a/.config/login.sh
+++ b/.config/login.sh
@@ -27,9 +27,15 @@ export TMPDIR="$HOME/tmp"
 # XDG ################################################################
 
 . "$HOME/.local/lib/xdg.sh"
+ln -sf -- "$XDG_RUNTIME_DIR/sessions" ~/.sessions
 
 # Settings ###########################################################
 
+# Spell check
+if [[ -z "$DICTIONARY" ]] && [[ -n "$LANG" ]]; then
+	export DICTIONARY="${LANG%%.*}"
+fi
+
 # Text editor
 if [[ -f "$HOME/.selected_editor" ]]; then
 	. "$HOME/.selected_editor"
@@ -41,13 +47,17 @@ fi
 
 # GPG
 if [[ -z $GPGKEY ]] && [[ -f "${HOME}/.gnupg/gpg.conf" ]]; then
+	echo 'login: Setting GPGKEY'
 	export GPGKEY=`sed -nr 's/^\s*default-key\s+//p' "${HOME}/.gnupg/gpg.conf"`
 fi
 if [[ -z "$(pgrep -u `whoami` gpg-agent)" ]] && [[ -n $XDG_RUNTIME_DIR ]] && type gpg-agent &>/dev/null; then
+	echo 'login: Starting gpg-agent'
 	mkdir -p "${XDG_RUNTIME_DIR}/sessions"
-	gpg-agent --daemon --write-env-file "${XDG_RUNTIME_DIR}/sessions/gpg" &>/dev/null
+	gpg-agent --daemon --write-env-file "${XDG_RUNTIME_DIR}/sessions/gpg" >/dev/null
 fi
 if [[ -f "${XDG_RUNTIME_DIR}/sessions/gpg" ]]; then
+	echo 'login: Setting gpg-agent info:'
+	cat "${XDG_RUNTIME_DIR}/sessions/gpg"
 	. "${XDG_RUNTIME_DIR}/sessions/gpg"
 	export GPG_AGENT_INFO
 	#export SSH_AUTH_SOCK
@@ -65,19 +75,21 @@ export _JAVA_OPTIONS
 
 # X11
 if [[ -z $XAUTHORITY ]]; then
-	export XAUTHORITY="$HOME/.Xauthority"
+	#export XAUTHORITY="$HOME/.Xauthority"
+	mkdir -p "${XDG_RUNTIME_DIR}/sessions"
+	export XAUTHORITY="${XDG_RUNTIME_DIR}/sessions/Xauthority"
 fi
 
 # D-Bus
-if [[ -z $DBUS_SESSION_BUS_ADDRESS ]] && type dbus-launch &>/dev/null; then
-	# I want a separate instance for each login
-	#dbus-launch > "${HOME}/.cache/sessions/dbus"
-	#. "${HOME}/.cache/sessions/dbus"
-	eval `dbus-launch`
-
-	export DBUS_SESSION_BUS_ADDRESS
-	export DBUS_SESSION_BUS_PID
-fi
+# if [[ -z $DBUS_SESSION_BUS_ADDRESS ]] && type dbus-launch &>/dev/null; then
+# 	# I want a separate instance for each login
+# 	#dbus-launch > "${HOME}/.cache/sessions/dbus"
+# 	#. "${HOME}/.cache/sessions/dbus"
+# 	eval `dbus-launch`
+
+# 	export DBUS_SESSION_BUS_ADDRESS
+# 	export DBUS_SESSION_BUS_PID
+# fi
 
 # Load any box-specific stuff
 if [[ -f "$XDG_CONFIG_HOME/login.local.sh" ]]; then
diff --git a/.config/lxpanel/default/panels/panel b/.config/lxpanel/default/panels/panel
index 304f201..93bdb61 100644
--- a/.config/lxpanel/default/panels/panel
+++ b/.config/lxpanel/default/panels/panel
@@ -31,17 +31,6 @@ Plugin {
         image=/usr/share/lxpanel/images/my-computer.png
         system {
         }
-        separator {
-        }
-        item {
-            command=run
-        }
-        separator {
-        }
-        item {
-            image=gnome-logout
-            command=logout
-        }
     }
 }
 
diff --git a/.config/maildirproc/att.rc b/.config/maildirproc/att.rc
index e862b3f..381ce8f 100644
--- a/.config/maildirproc/att.rc
+++ b/.config/maildirproc/att.rc
@@ -76,7 +76,7 @@ def handle_incoming_unknown(mail):
 
 def my_filters(mail):
 	# Sort mail from GNU mailing lists
-	for list in [ 'bug-gsrc', 'bug-make', 'help-make', 'social', 'help-grub', 'bug-gnuzilla' ]:
+	for list in [ 'bug-gsrc', 'bug-make', 'help-make', 'social', 'help-grub', 'bug-gnuzilla', 'bug-librejs' ]:
 		if (
 			False
 			or mail["List-Id"].matches(list+"\.gnu\.org")
@@ -101,6 +101,9 @@ def my_filters(mail):
 	if mail["List-Id"].matches("maintenance.lists.parabolagnulinux.org"):
 		if mail["From"].contains("monit@"):
 			if mail["Message-Id"].contains("@repo.parabolagnulinux.org"):
+				if mail["Subject"].matches("^\[Maintenance\] monit alert --  (Execution|Connection) (succeeded|failed) sshd$"):
+					mail.move(".software.parabola-maintenance.monit-repo.sshd")
+					return
 				mail.move(".software.parabola-maintenance.monit-repo")
 				return
 			if mail["Message-Id"].contains("@rshg054.dnsready.net"):
@@ -125,6 +128,9 @@ def my_filters(mail):
 		or is_to_or_from(mail,     "parabolagnulinux.org")
 		or is_to_or_from(mail,     "kiwwwi.com.ar")
 		):
+		if mail["Subject"].contains("[Django]"):
+			mail.move(".software.parabola-maintenance.django")
+			return
 		mail.move(".software.parabola-dev")
 		return
 
@@ -132,6 +138,10 @@ def my_filters(mail):
 		mail.move(".software.pacman-dev")
 		return
 
+	if (mail["List-Id"].matches("systemd-devel.lists.freedesktop.org")):
+		mail.move(".software.systemd-devel")
+		return
+
 	for subject_re in [
 		"\[Stow-[^\]]*\].*",
 		]:
@@ -179,6 +189,7 @@ def my_filters(mail):
 		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")
+		or is_to_or_from(mail,"crossroadsbsa.org")
 		):
 		mail.move(".Troop276")
 		return
@@ -250,20 +261,21 @@ def my_filters(mail):
 
 	# Sort mail from software people
 	for address in [
-		"gnu.org",
-		"gnome.org",
+		"@archlinux.org",
+		"@fsf.org",
+		"@github.com",
+		"canonical.org",
+		"cnuk.org",
 		"eff.org",
+		"esr@thyrsus.com",
+		"foocorp.net",
 		"gitorious.org",
-		"sourceforge.com",
+		"gnome.org",
+		"gnu.org",
 		"ietf.org",
 		"kde.org",
+		"sourceforge.com",
 		"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")
@@ -305,6 +317,7 @@ def my_filters(mail):
 		or mail["Subject"].contains("newsletter")
 		or mail["From"].contains("Info@mailing.jamendo.com")
 		or mail["From"].contains("info@demandprogress.org")
+		or (mail["From"].contains("@sparkfun.com") and mail["Message-Id"].contains("rsgsv.net"))
 		):
 		mail.move(".misc.Newsletters")
 		return
diff --git a/.config/maildirproc/purdue.rc b/.config/maildirproc/purdue.rc
index 0ffc1e6..6d4b913 100644
--- a/.config/maildirproc/purdue.rc
+++ b/.config/maildirproc/purdue.rc
@@ -27,7 +27,7 @@ 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 ########################################################
 
@@ -37,11 +37,11 @@ def my_filters(mail):
 		or is_to_or_from(mail,"Purduealumni@purdue.edu")
 		or is_to_or_from(mail,"pase@purdue.edu")
 		):
-		mail.move("INBOX.PASE")
+		mail.move("INBOX.crap.PASE")
 		return
 
 	if mail["Subject"].contains("[PLUG]"):
-		mail.move("INBOX.PLUG")
+		mail.move("INBOX.crap.PLUG")
 		return
 
 	if mail["From"].matches(".*bursar.*@purdue\.edu"):
@@ -49,15 +49,19 @@ def my_filters(mail):
 		return
 
 	if mail["From"].contains("mailhub-admin@purdue.edu"):
-		mail.move("INBOX.mailhub-admin")
+		mail.move("INBOX.crap.mailhub-admin")
 		return
 
 	if mail["From"].matches("pmx-.*@purdue.edu"):
-		mail.move("INBOX.spam")
+		mail.move("INBOX.crap.spam")
 		return
 
 	if is_to_or_from(mail,"linkedin.com"):
-		mail.move("INBOX.LinkedIn")
+		mail.move("INBOX.crap.LinkedIn")
+		return
+
+	if is_to_or_from(mail,"follet.com"):
+		mail.move("INBOX.Follet")
 		return
 
 	if (
@@ -65,12 +69,14 @@ def my_filters(mail):
 		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.CollegeStation")
+		mail.move("INBOX.housing.CollegeStation")
 		return
 
 	if mail["From"].matches("facebook(|mail)\.com"):
-		mail.move("INBOX.Facebook")
+		mail.move("INBOX.crap.Facebook")
 		return
 
 	if (
@@ -78,7 +84,7 @@ def my_filters(mail):
 		or is_to_or_from(mail,"@cable.comcast.com")
 		or is_to_or_from(mail,"@apexsystemsinc.com")
 		):
-		mail.move("INBOX.Comcast")
+		mail.move("INBOX.work.Comcast")
 		return
 
 	if (
@@ -86,7 +92,10 @@ def my_filters(mail):
 		or mail["Subject"].contains("[CS Opportunity Update]")
 		or mail["Subject"].contains("[CS Majors]")
 		):
-		mail.move("INBOX.CS")
+		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 ############################################################
@@ -145,6 +154,35 @@ def my_filters(mail):
 		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,
 	}
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 894af44..b6e53d6 100644
--- a/.config/ssh/config
+++ b/.config/ssh/config
@@ -1,16 +1,16 @@
 Host *
 	Protocol 2
 	ControlMaster auto
-	ControlPath ~/.ssh/master-%r@%h:%p
+	ControlPath ~/.sessions/ssh-%r@%h:%p
 	Compression yes
 
 Host lore
-     HostName lore.cs.purdue.edu
-     User shumakl
+	HostName lore.cs.purdue.edu
+	User shumakl
 
 Host data
-     HostName data.cs.purdue.edu
-     User shumakl
+	HostName data.cs.purdue.edu
+	User shumakl
 
 Host repo
 	Port 1863
@@ -20,6 +20,5 @@ Host rshg054
 	Port 1863
 	HostName parabolagnulinux.org
 
-Host lukeshu
+Host lukeshu.com
 	Port 1863
-	HostName 199.180.255.147
diff --git a/.config/symlinks b/.config/symlinks
index dfd06d4..030954c 100644
--- a/.config/symlinks
+++ b/.config/symlinks
@@ -15,39 +15,40 @@
 .config/bash/logout.sh	.bash_logout
 
 # Files plucked out of multi-purpose directories
-.config/ssh/config	.ssh/config
 .config/gpg/gpg.conf	.gnupg/gpg.conf
 
 # Individual config files
+.config/abs.conf	.abs.conf
 .config/conkerorrc	.conkerorrc
-.config/hgrc		.hgrc
 .config/hgk		.hgk
+.config/hgrc		.hgrc
 .config/irbrc		.irbrc
-.config/linphonerc	.linphonerc
+.config/linphonerc	.linphonerc #
 .config/selected_editor	.selected_editor
 
-.cache/offlineimap	.offlineimap
 .config/offlineimaprc	.offlineimaprc
+.cache/offlineimap	.offlineimap
 
 # Directories
 .cache/maildirproc/	.maildirproc
-.config/icons/		.icons
+
 .config/arduino/	.arduino
 .config/bazaar/		.bazaar
 .config/cpan/		.cpan
 .config/emacs/		.emacs.d
+.config/icons/		.icons
 .config/mozilla/	.mozilla #
-.config/mplayer/	.mplayer
-.config/nanorc		.nanorc
+.config/mplayer/	.mplayer #
 .config/purple/		.purple
+.config/ssh/		.ssh
 .config/subversion/	.subversion
-.config/wmii/		.wmii #
 .config/wmii-hg/	.wmii-hg
+.config/wmii/		.wmii #
 
 # KDE
-.config/		.kde/share/apps
-.config/		.kde/share/config
-.kde/			.kde4
+.config/		.kde/share/apps #
+.config/		.kde/share/config #
+.kde/			.kde4 #
 
 # Alias for conkeror
 .mozilla/		.conkeror.mozdev.org
diff --git a/.config/wmii-hg/fixes.sh b/.config/wmii-hg/fixes.sh
index aa09157..5858859 100644
--- a/.config/wmii-hg/fixes.sh
+++ b/.config/wmii-hg/fixes.sh
@@ -7,11 +7,11 @@
 ##
 unalias ls &>/dev/null
 ls() {
-	real_ls="`which ls` -1F"
-	[ $# = 0 ] && set -- "`pwd`"
+	local real_ls=("$(which ls)" -1F)
+	[ $# = 0 ] && set -- "$PWD"
 	f="${1/#${WMII_DIR}/}"
 	if [ "$f" = "$1" ]; then
-		$real_ls "$f"
+		"${real_ls[@]}" "$f"
 	else
 		wmiir ls "$f"
 	fi
diff --git a/.config/wmii-hg/util.sh b/.config/wmii-hg/util.sh
index a4c4bb4..71dbc41 100644
--- a/.config/wmii-hg/util.sh
+++ b/.config/wmii-hg/util.sh
@@ -13,7 +13,7 @@
 # It escapes ways to execute code, but not variables.
 ##
 dquote() {
-	str=$1
+	local str=$1
 	str="${str//\\/\\\\}" # backslash
 	str="${str//\"/\\\"}" # dquote
 	str="${str//\$(/\\\$(}" # $(...)
@@ -32,8 +32,8 @@ expand_variables() {
 }
 
 is_mounted() {
-	dir="$(readlink -m $1)"
-	mntpnt="$(cut -d' ' -f2 /proc/mounts|grep -- "$dir")"
+	local dir="$(readlink -m $1)"
+	local mntpnt="$(cut -d' ' -f2 /proc/mounts|grep -Fx -- "$dir")"
 	[[ $dir = "$mntpnt" ]]
 	return $?
 }
@@ -47,8 +47,9 @@ is_mounted() {
 # List executables in PATH (PATH is delimited by `:')
 ##
 path_ls() {
-	dirs="`echo "$@"|sed 'y/:/ /'`"
-	find -L $dirs -maxdepth 1 -type f -executable -printf '%f\n' 2>/dev/null | sort -u
+	local dirs
+	IFS=: dirs=($@)
+	find -L "${dirs[@]}" -maxdepth 1 -type f -executable -printf '%f\n' 2>/dev/null | sort -u
 }
 
 ##
@@ -56,9 +57,9 @@ path_ls() {
 # Find the full path of PROGRAM by searching PATH
 ##
 path_which() {
-	mypath=$1
-	prog=$2
-	which=`which which`
+	local mypath=$1
+	local prog=$2
+	local which=$(which which)
 	PATH="$mypath" "$which" -- "$prog" 2>/dev/null
 }
 
@@ -71,7 +72,7 @@ path_which() {
 # Lists wmii tags
 ##
 lstags() {
-	ls $WMII_DIR/tag | sed -e 's@/@@' -e '/^sel$/d'
+	ls "$WMII_DIR/tag" | sed -e 's@/$@@' -e '/^sel$/d'
 }
 
 ################################################################################
@@ -97,18 +98,18 @@ connected_to_x_server() {
 # If SECTION is not given, it reads all doc comments.
 ##
 scansection() {
-	file=`conffile config.sh`
-	sec=$1
-	tmp=`mktemp`
+	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
+		< "$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
+		< "$file" sed "/\s*}\s*##\s*End\s/d" > "$tmp"
 	fi
-	< $tmp sed -n '/##/p' | while read; do
+	< "$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
@@ -117,12 +118,12 @@ scansection() {
 			printf '\t%s\t%s\n' "$(echo "$var"|expand_variables)" "$comment"
 		fi
 	done
-	rm $tmp
+	rm -- "$tmp"
 }
 
 ##
 # Usage: conffile FILE
 ##
 conffile() {
-	echo "$HOME/.wmii-hg/$@"
+	echo "$HOME/.wmii-hg/$1"
 }
diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml b/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml
deleted file mode 100644
index 2dd5c11..0000000
--- a/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<channel name="xfce4-notifyd" version="1.0">
-  <property name="notify-location" type="uint" value="2"/>
-  <property name="initial-opacity" type="double" value="1.000000"/>
-</channel>
-- 
cgit v1.2.3-2-g168b