summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2012-08-22 20:44:04 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2012-08-22 20:44:04 -0400
commitad482d55d2f60cf3c91c9014b934af7ea30b4d88 (patch)
tree79bb00ec5be01214f1ebc99509308f2083c17717
parent2f550711d01c7aa731d75edca9bc4d2a1f718045 (diff)
parent510fea7116c6bd01824af38b4e516b6e19fded81 (diff)
Merge branch 'master' into build64-par
Conflicts: .crontab
-rw-r--r--.bashrc7
-rw-r--r--.config/lxpanel/default/config3
-rw-r--r--.config/lxpanel/default/panels/panel42
-rw-r--r--.config/vlc/vlcrc200
-rw-r--r--.crontab3
-rw-r--r--.emacs188
-rw-r--r--.emacs.d/.gitignore4
-rw-r--r--.emacs.d/custom.el26
-rw-r--r--.git.info.exclude14
-rw-r--r--.irbrc1
-rwxr-xr-x.local/bin/notifyd14
-rw-r--r--.maildirproc/default.rc101
-rw-r--r--.offlineimaprc13
-rw-r--r--.profile19
-rwxr-xr-x.wmii/autostart4
-rw-r--r--.wmii/include.sh70
-rwxr-xr-x.wmii/quit3
-rwxr-xr-x.wmii/rbar_battery10
-rwxr-xr-x.wmii/rbar_clock10
-rwxr-xr-x.wmii/rbar_cpu13
-rwxr-xr-x.wmii/rbar_wifi10
-rw-r--r--.wmii/theme-solarized (renamed from .wmii/wmiirc_solarized)0
-rw-r--r--.wmii/theme-solarized-dark (renamed from .wmii/wmiirc_solarized_dark)8
-rwxr-xr-x.wmii/wmiirc495
-rw-r--r--.xinitrc7
25 files changed, 654 insertions, 611 deletions
diff --git a/.bashrc b/.bashrc
index 119e071..ff11c5b 100644
--- a/.bashrc
+++ b/.bashrc
@@ -23,6 +23,13 @@ shopt -s histappend
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
+# Let ** recursively scan directories
+shopt -s globstar
+
+# Why is this not on by default?
+# "We have a cached value, but it isn't valid anymore. Should we trash it?"
+shopt -s checkhash
+
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
diff --git a/.config/lxpanel/default/config b/.config/lxpanel/default/config
new file mode 100644
index 0000000..3ac287f
--- /dev/null
+++ b/.config/lxpanel/default/config
@@ -0,0 +1,3 @@
+[Command]
+FileManager=v-editor %s
+Terminal=urxvt
diff --git a/.config/lxpanel/default/panels/panel b/.config/lxpanel/default/panels/panel
new file mode 100644
index 0000000..9d776bb
--- /dev/null
+++ b/.config/lxpanel/default/panels/panel
@@ -0,0 +1,42 @@
+# lxpanel <profile> config file. Manually editing is not recommended.
+# Use preference dialog in lxpanel to adjust config when you can.
+
+Global {
+ edge=top
+ allign=right
+ margin=0
+ widthtype=percent
+ width=100
+ height=16
+ transparent=1
+ tintcolor=#002b36
+ alpha=255
+ autohide=0
+ heightwhenhidden=2
+ setdocktype=1
+ setpartialstrut=1
+ usefontcolor=1
+ fontsize=10
+ fontcolor=#839496
+ usefontsize=0
+ background=0
+ backgroundfile=/usr/share/lxpanel/images/background.png
+ iconsize=16
+}
+
+Plugin {
+ type = space
+ expand=1
+ Config {
+ Size=2
+ }
+}
+
+Plugin {
+ type = tray
+}
+
+Plugin {
+ type = volumealsa
+}
+
diff --git a/.config/vlc/vlcrc b/.config/vlc/vlcrc
index 35d4eab..21a90e4 100644
--- a/.config/vlc/vlcrc
+++ b/.config/vlc/vlcrc
@@ -1,5 +1,5 @@
###
-### vlc 2.0.1
+### vlc 2.0.3
###
###
@@ -1923,19 +1923,19 @@
[spatializer] # Audio Spatializer
# Room size (float)
-#spatializer-roomsize=1.050000
+#spatializer-roomsize=0.850000
# Room width (float)
-#spatializer-width=10.000000
+#spatializer-width=1.000000
# Wet (float)
-#spatializer-wet=3.000000
+#spatializer-wet=0.400000
# Dry (float)
-#spatializer-dry=2.000000
+#spatializer-dry=0.500000
# Damp (float)
-#spatializer-damp=1.000000
+#spatializer-damp=0.500000
[a52tofloat32] # ATSC A/52 (AC-3) audio decoder
@@ -1951,22 +1951,22 @@
#compressor-rms-peak=0.000000
# Attack time (float)
-compressor-attack=1.400000
+#compressor-attack=25.000000
# Release time (float)
-compressor-release=1.900000
+#compressor-release=100.000000
# Threshold level (float)
-compressor-threshold=0.000000
+#compressor-threshold=-11.000000
# Ratio (float)
-compressor-ratio=1.000000
+#compressor-ratio=8.000000
# Knee radius (float)
-compressor-knee=1.000000
+#compressor-knee=2.500000
# Makeup gain (float)
-compressor-makeup-gain=0.000000
+#compressor-makeup-gain=7.000000
[samplerate] # Secret Rabbit Code (libsamplerate) resampler
@@ -1985,7 +1985,7 @@ compressor-makeup-gain=0.000000
#equalizer-2pass=0
# Global gain (float)
-equalizer-preamp=0.000000
+#equalizer-preamp=12.000000
[theora] # Theora video decoder
@@ -2647,10 +2647,10 @@ equalizer-preamp=0.000000
[skins2] # Skinnable Interface
# Skin to use (string)
-skins2-last=/usr/share/vlc/skins2/default.vlt
+#skins2-last=
# Config of last used skin (string)
-skins2-config=[aboutwin aboutwinwin-main 0 0 330 171 0][eqwin eqwin-main 0 0 330 171 0][fullscreenController fsc_normal 30 30 500 500 1][main normal 0 0 500 350 1][plwin plwin-normal 0 0 500 350 0]
+#skins2-config=
# Enable transparency effects (boolean)
#skins2-transparency=0
@@ -3425,7 +3425,7 @@ qt-privacy-ask=0
#audio=1
# Default audio volume (integer)
-volume=224
+volume=263
# Audio output volume step (integer)
#volume-step=32
@@ -3623,7 +3623,7 @@ volume=224
#sub-autodetect-fuzzy=3
# Subtitle autodetection paths (string)
-#sub-autodetect-path=./Subtitles, ./subtitles
+#sub-autodetect-path=./Subtitles, ./subtitles, ./Subs, ./subs
# Force subtitle position (integer)
#sub-margin=0
@@ -3929,7 +3929,7 @@ volume=224
#auto-preparse=1
# Album art policy (integer)
-album-art=2
+#album-art=0
# Services discovery modules (string)
#services-discovery=
@@ -4618,167 +4618,3 @@ album-art=2
# Playlist bookmark 10 (string)
#bookmark10=
-[fluidsynth] # FluidSynth MIDI synthesizer
-# Sound fonts (string)
-#soundfont=
-# Synthesis gain (float)
-#synth-gain=0.800000
-[snapshot] # Snapshot output
-# Snapshot width (integer)
-#vout-snapshot-width=320
-# Snapshot height (integer)
-#vout-snapshot-height=200
-# Chroma (string)
-#vout-snapshot-chroma=RV32
-# Cache size (number of images) (integer)
-#vout-snapshot-cache-size=50
-[oldtelnet] # VLM remote control interface
-# Host (string)
-#telnet-host=localhost
-# Port (integer)
-#telnet-port=4212
-# Password (string)
-#telnet-password=admin
-[oldhttp] # HTTP remote control interface
-# Host address (string)
-#http-host=
-# Source directory (string)
-#http-src=
-# Handlers (string)
-#http-handlers=
-# Export album art as /art (boolean)
-#http-album-art=0
-# Certificate file (string)
-#http-intf-cert=
-# Private key file (string)
-#http-intf-key=
-# Root CA file (string)
-#http-intf-ca=
-# CRL file (string)
-#http-intf-crl=
-[crop] # Crop video filter
-# Crop geometry (pixels) (string)
-#crop-geometry=
-# Automatic cropping (boolean)
-#autocrop=0
-# Ratio max (x 1000) (integer)
-#autocrop-ratio-max=2405
-# Manual ratio (integer)
-#crop-ratio=0
-# Number of images for change (integer)
-#autocrop-time=25
-# Number of lines for change (integer)
-#autocrop-diff=16
-# Number of non black pixels (integer)
-#autocrop-non-black-pixels=3
-# Skip percentage (%) (integer)
-#autocrop-skip-percent=17
-# Luminance threshold (integer)
-#autocrop-luminance-threshold=40
-[fake] # Fake video decoder
-# Image file (string)
-#fake-file=
-# Reload image file (integer)
-#fake-file-reload=0
-# Video width (integer)
-#fake-width=0
-# Video height (integer)
-#fake-height=0
-# Keep aspect ratio (boolean)
-#fake-keep-ar=0
-# Background aspect ratio (string)
-#fake-aspect-ratio=
-# Deinterlace video (boolean)
-#fake-deinterlace=0
-# Deinterlace module (string)
-#fake-deinterlace-module=deinterlace
-# Chroma used (string)
-#fake-chroma=I420
-[invmem] # Memory video decoder
-# Width (integer)
-#invmem-width=0
-# Height (integer)
-#invmem-height=0
-# Lock function (string)
-#invmem-lock=0
-# Unlock function (string)
-#invmem-unlock=0
-# Callback data (string)
-#invmem-data=0
-# Chroma (string)
-#invmem-chroma=RV24
-[dvb] # DVB input with v4l2 support
-# Caching value in ms (integer)
-#dvb-caching=300
-# Adapter card to tune (integer)
-#dvb-adapter=0
-# Device number to use on adapter (integer)
-#dvb-device=0
-# Transponder/multiplex frequency (integer)
-#dvb-frequency=0
-# Inversion mode (integer)
-#dvb-inversion=2
-# Probe DVB card for capabilities (boolean)
-#dvb-probe=1
-# Budget mode (boolean)
-#dvb-budget-mode=0
-# Satellite number in the Diseqc system (integer)
-#dvb-satno=0
-# LNB voltage (integer)
-#dvb-voltage=13
-# High LNB voltage (boolean)
-#dvb-high-voltage=0
-# 22 kHz tone (integer)
-#dvb-tone=-1
-# Transponder FEC (integer)
-#dvb-fec=9
-# Transponder symbol rate in kHz (integer)
-#dvb-srate=27500000
-# Antenna lnb_lof1 (kHz) (integer)
-#dvb-lnb-lof1=0
-# Antenna lnb_lof2 (kHz) (integer)
-#dvb-lnb-lof2=0
-# Antenna lnb_slof (kHz) (integer)
-#dvb-lnb-slof=0
-# Modulation type (integer)
-#dvb-modulation=0
-# Terrestrial high priority stream code rate (FEC) (integer)
-#dvb-code-rate-hp=9
-# Terrestrial low priority stream code rate (FEC) (integer)
-#dvb-code-rate-lp=9
-# Terrestrial bandwidth (integer)
-#dvb-bandwidth=0
-# Terrestrial guard interval (integer)
-#dvb-guard=0
-# Terrestrial transmission mode (integer)
-#dvb-transmission=0
-# Terrestrial hierarchy mode (integer)
-#dvb-hierarchy=0
-# HTTP Host address (string)
-#dvb-http-host=
-# HTTP user name (string)
-#dvb-http-user=
-# HTTP password (string)
-#dvb-http-password=
-# HTTP ACL (string)
-#dvb-http-acl=
-# Certificate file (string)
-#dvb-http-intf-cert=
-# Private key file (string)
-#dvb-http-intf-key=
-# Root CA file (string)
-#dvb-http-intf-ca=
-# CRL file (string)
-#dvb-http-intf-crl=
-[access_fake] # Fake video input
-# Caching value in ms (integer)
-#fake-caching=300
-# Framerate (float)
-#fake-fps=25.000000
-# ID (integer)
-#fake-id=0
-# Duration in ms (integer)
-#fake-duration=-1
-[access_mmap] # Memory-mapped file input
-# Use file memory mapping (boolean)
-#file-mmap=0
diff --git a/.crontab b/.crontab
index 990c00e..ca405cf 100644
--- a/.crontab
+++ b/.crontab
@@ -1,2 +1,3 @@
# m h dom mon dow command
-*/5 * * * * cd $HOME && make -
+*/5 * * * * cd $HOME && make
+*/5 * * * * offlineimap-runner 2 -u quiet
diff --git a/.emacs b/.emacs
index 4bc39b3..0637377 100644
--- a/.emacs
+++ b/.emacs
@@ -1,132 +1,81 @@
-(set-face-attribute 'default nil :height 80)
+;; 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")
-(load custom-file 'noerror)
-(defun load-identica-mode ()
- (when (require 'netrc nil t)
- (autoload 'identica-mode "identica-mode" nil t)
- (let ((identica (netrc-machine (netrc-parse "~/.netrc") "identi.ca" t)))
- (setq identica-password (netrc-get identica "password"))
- (setq identica-username (netrc-get identica "login"))
- )
- )
-)
+; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(add-to-list 'load-path "~/.emacs.d/")
-(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
+(setq el-get-install-branch "master") ;; live life on the edge
(unless (require 'el-get nil t)
- (url-retrieve
- "https://github.com/dimitri/el-get/raw/master/el-get-install.el"
- (lambda (s)
- (end-of-buffer)
- (eval-print-last-sexp))))
-
-(setq el-get-sources
- '((:name scss-mode
- :url "git://github.com/antonj/scss-mode.git"
- :after (lambda ()
- (setq scss-compile-at-save nil)))
- (:name color-theme
- :after (lambda ()
- (color-theme-tty-dark)))
- (:name color-theme-solarized
- :after (lambda ()
- (add-hook 'after-make-frame-functions
- (lambda (frame)
- (set-variable 'color-theme-is-global nil)
- (select-frame frame)
- (if window-system
- (color-theme-solarized-dark)
- (color-theme-tty-dark))))))
- (:name org-mode
- :after (lambda ()
- (require 'org-checklist)
- (setq org-hide-leading-stars t)
- (setq org-log-done 'time)))
- (:name identica-mode
- :type http-tar
- :options ("xzf")
- :url "http://git.savannah.gnu.org/cgit/identica-mode.git/snapshot/identica-mode-1.1.tar.gz"
- :load "identica-mode.el"
- :after (lambda ()
- (load-identica-mode)))
- (:name nginx-mode
- :description "Major mode for editing Nginx configuration files"
- :type git
- :url "git://github.com/ajc/nginx-mode.git")
- (:name autopair
- :after (lambda ()
- (autopair-global-mode 1)
- (setq autopair-autowrap t)))
- ))
+ (eval-url "https://github.com/dimitri/el-get/raw/master/el-get-install.el"))
-(setq lts-el-get-packages
+(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
- package
- rainbow-delimiters
- php-mode-improved
- mmm-mode
- dtrt-indent
- coffee-mode
- folding
- apel flim semi wanderlust
- scss-mode
- color-theme color-theme-solarized
- org-mode
- identica-mode
+; nxhtml
smarttabs
- markdown-mode
- autopair
- nginx-mode
))
-(when (require 'el-get nil t)
- (el-get 'sync lts-el-get-packages))
+;; Now load all of that ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(add-hook 'text-mode-hook 'turn-on-auto-fill)
-(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)
+;; 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)
-
-(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)))))
-(global-set-key [f11] 'toggle-fullscreen)
+(setq org-hide-leading-stars t)
+(setq org-log-done 'time)
+;(xclip-mode 1)
(load "whitespace")
-(global-set-key "\C-cw" 'global-whitespace-mode)
(setq whitespace-style '(
-; face
-; tabs
tab-mark
-; spaces
space-mark
-; newline
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)
@@ -135,7 +84,7 @@
(setq
backup-by-copying t ;; don't clobber symlinks
- backup-directory-alist '(("." . "~/.saves")) ;; don't litter my fs tree
+ backup-directory-alist '(("." . "~/.emacs.d/saves")) ;; don't litter my fs tree
delete-old-versions t
kept-new-versions 6
kept-old-versions 2
@@ -152,6 +101,34 @@
(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)
@@ -179,8 +156,19 @@
(setq autopair-dont-activate t) ;; Don't let autopair break ansi-term
))
-(add-to-list 'auto-mode-alist '("PKGBUILD" . sh-mode))
+(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)))
diff --git a/.emacs.d/.gitignore b/.emacs.d/.gitignore
index 675a8be..ef4ec20 100644
--- a/.emacs.d/.gitignore
+++ b/.emacs.d/.gitignore
@@ -1,7 +1,9 @@
auto-save-list/*
el-get/*
-server/*
elmo/*
+elpa/*
image-dired/*
+server/*
session.*
+tramp
url/*
diff --git a/.emacs.d/custom.el b/.emacs.d/custom.el
index 9f61215..ee82309 100644
--- a/.emacs.d/custom.el
+++ b/.emacs.d/custom.el
@@ -1,16 +1,20 @@
(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.
- '(erc-nick "lukeshu-freenode")
- '(erc-port 6667)
- '(erc-server "lukeshu.ath.cx")
+ ;; 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")
+ '(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.
+ ;; 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/.git.info.exclude b/.git.info.exclude
index 235367c..4576b6f 100644
--- a/.git.info.exclude
+++ b/.git.info.exclude
@@ -54,6 +54,7 @@ history.*
.current.asound
.dbus/session-bus/*
.ddd/history
+.ddd/sessions
.dvdcss
.esd_auth
.eshell/history
@@ -87,16 +88,19 @@ history.*
.config/libretools/blacklist.txt
# Ignore these files for no good reason
-.terminfo
-.config/vlc/vlc-qt-interface.conf
-.wine*
-.offlineimap
.bogofilter
.config/Trolltech.conf
+.config/vlc/vlc-qt-interface.conf
.gem
+.offlineimap
+.prefix
+.terminfo
+.wine*
# Ignore these files that if I tracked them, would be a separate repo
+.config/chromium
.config/libreoffice
.config/transmission
-.netbeans
+.eclipse
.mozilla
+.netbeans
diff --git a/.irbrc b/.irbrc
new file mode 100644
index 0000000..7596d96
--- /dev/null
+++ b/.irbrc
@@ -0,0 +1 @@
+require 'rubygems' unless defined? Gem # only needed in 1.8
diff --git a/.local/bin/notifyd b/.local/bin/notifyd
new file mode 100755
index 0000000..ddd5971
--- /dev/null
+++ b/.local/bin/notifyd
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+connected_to_x_server() {
+ xdpyinfo &>/dev/null
+ return $?
+}
+
+start_backend() {
+ /usr/lib/xfce4/notifyd/xfce4-notifyd
+}
+
+while connected_to_x_server; do
+ start_backend
+done
diff --git a/.maildirproc/default.rc b/.maildirproc/default.rc
index f49fb9b..24f51e8 100644
--- a/.maildirproc/default.rc
+++ b/.maildirproc/default.rc
@@ -71,32 +71,25 @@ def handle_incoming_unknown(mail):
return
def my_filters(mail):
- # Sort into software mailing lists
+ # 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("bug-gsrc\.gnu\.org")
- or mail["Subject"].contains("bug-gsrc")
+ or mail["List-Id"].matches("social-discuss\.gnu\.org")
+ or mail["Subject"].contains("social-discuss")
):
- mail.move(".software.bug-gsrc")
- return
-
- if mail["List-Id"].matches("bug-make\.gnu\.org"):
- mail.move(".software.bug-make")
- return
-
- if mail["List-Id"].matches("help-make\.gnu\.org"):
- mail.move(".software.help-make")
- return
-
- if mail["List-Id"].matches("social(|-discuss)\.gnu\.org"):
mail.move(".software.social")
return
- if mail["List-Id"].matches("help-grub.gnu.org"):
- mail.move(".software.help-grub")
- return
-
if mail["List-Id"].matches("maintenance.lists.parabolagnulinux.org"):
mail.move(".software.parabola-maintenance")
return
@@ -108,9 +101,15 @@ def my_filters(mail):
):
mail.move(".software.parabola-dev")
return
+
+ for subject_re in [
+ "\[Stow-[^\]]*\].*",
+ ]:
+ if mail["Subject"].matches(subject_re):
+ mail.move(".software")
+ return
- # Sort email from some social websites
-
+ # Sort mail from some social websites
if mail["From"].matches("facebook(|mail)\.com"):
mail.move(".Social.Facebook")
return
@@ -131,8 +130,7 @@ def my_filters(mail):
mail.move(".Social.xkcd")
return
- # Sort email related to Troop 276
-
+ # Sort mail related to Troop 276
if (
False
or mail["List-Id"].contains("troopmailinglist.troop276.net")
@@ -154,11 +152,29 @@ def my_filters(mail):
mail.move(".Troop276")
return
+ # Sort mail from misc people
if mail["From"].matches("margieshu@sbcglobal\.net"):
mail.move(".misc.Mom")
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 robotics people
+ # Sort mail from FRC people
for address in [
"jeffreysmith@msdlt.k12.in.us",
"jason.zielke@gmail.com",
@@ -171,7 +187,6 @@ def my_filters(mail):
"skiplittell@comcast.net",
"dave.nelson@ecolab.com",
"@ni.com",
- "@precisepath.com",
"@usfirst.org",
"gamefreak207@gmail.com", # Brett Leedy
"tswilson4801@att.net",
@@ -184,6 +199,7 @@ def my_filters(mail):
mail.move(".School.Robotics")
return
for subject_re in [
+ "FIRST",
"robotics",
"1024",
"kil-?a-?bytes",
@@ -192,9 +208,10 @@ def my_filters(mail):
mail.move(".School.Robotics")
return
- # Sort mail from scoftware people
+ # Sort mail from software people
for address in [
"gnu.org",
+ "eff.org",
"gitorious.org",
"sourceforge.com",
"ietf.org",
@@ -208,30 +225,9 @@ def my_filters(mail):
if is_to_or_from(mail,address):
mail.move(".software")
return
- for subject_re in [
- "\[Stow-[^\]]*\].*",
- ]:
- if mail["Subject"].matches(subject_re):
- mail.move(".software")
- return
- for address in [
- "nintendo.com",
- "nintendo-news.com",
- ]:
- if mail["From"].contains(address):
- mail.move(".Nintendo")
- return
-
- for address in [
- "@lpi.org",
- "@pearson.com",
- "CompTIA",
- ]:
- if mail["From"].contains(address):
- mail.move(".CompTIA")
- return
+ # Sort mail from the school newspaper
if (
False
or is_to_or_from(mail, "@lnnorthstar.org")
@@ -240,8 +236,13 @@ def my_filters(mail):
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(".PMCH")
+ mail.move(".Work.PMCH")
for address in [
"d.farrar@comcast.net",
@@ -253,7 +254,6 @@ def my_filters(mail):
return
# Sort misc newsletters
-
if (
False
or mail["From"].contains("newsletter")
@@ -261,6 +261,7 @@ def my_filters(mail):
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
diff --git a/.offlineimaprc b/.offlineimaprc
index 0f4cc78..319593c 100644
--- a/.offlineimaprc
+++ b/.offlineimaprc
@@ -1,3 +1,4 @@
+# -*- Mode: Conf -*-
[general]
accounts = LukeShu
@@ -8,13 +9,21 @@ remoterepository = Remote
[Repository Local]
type = Maildir
localfolders = ~/Maildir
-nametrans = lambda foldername: re.sub('^$', 'Inbox', re.sub('^/', '', foldername.replace('.', '/')))
+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
-nametrans = lambda foldername: re.sub('^\.Inbox$', '', "."+foldername.replace('/', '.'))
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
index d2a1e6c..f394fbd 100644
--- a/.profile
+++ b/.profile
@@ -25,13 +25,6 @@ done
# Settings ###########################################################
-# TMPDIR
-if [ -d "$HOME/tmp" ]; then
- export TMPDIR="$HOME/tmp"
-elif [ -d "$HOME/.prefix/tmp" ]; then
- export TMPDIR="$HOME/.prefix/tmp"
-fi
-
# Text editor
if [ -f "$HOME/.selected_editor" ]; then
. "$HOME/.selected_editor"
@@ -49,6 +42,7 @@ _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
# ALSA
@@ -57,7 +51,16 @@ if [ -x "`which alsactl 2>/dev/null`" ]; then
fi
# X11
-export XAUTHORITY=$HOME/.Xauthority
+if [ -z "$XAUTHORITY" ]; then
+ export XAUTHORITY=$HOME/.Xauthority
+fi
+
+# D-Bus
+if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
+ eval `dbus-launch`
+ export DBUS_SESSION_BUS_ADDRESS
+ export DBUS_SESSION_BUS_PID
+fi
# Start background programs ##########################################
if [ -f "$HOME/.login-daemons" ]; then
diff --git a/.wmii/autostart b/.wmii/autostart
new file mode 100755
index 0000000..aae23f4
--- /dev/null
+++ b/.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/.wmii/include.sh b/.wmii/include.sh
new file mode 100644
index 0000000..36f8f3e
--- /dev/null
+++ b/.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/.wmii/quit b/.wmii/quit
new file mode 100755
index 0000000..54f64e7
--- /dev/null
+++ b/.wmii/quit
@@ -0,0 +1,3 @@
+#!/bin/bash
+. "$HOME/.wmii/include.sh"
+echo quit |a $WMII_DIR/ctl
diff --git a/.wmii/rbar_battery b/.wmii/rbar_battery
new file mode 100755
index 0000000..7a7f24f
--- /dev/null
+++ b/.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/.wmii/rbar_clock b/.wmii/rbar_clock
new file mode 100755
index 0000000..8e7d2a4
--- /dev/null
+++ b/.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/.wmii/rbar_cpu b/.wmii/rbar_cpu
new file mode 100755
index 0000000..7f891da
--- /dev/null
+++ b/.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/.wmii/rbar_wifi b/.wmii/rbar_wifi
new file mode 100755
index 0000000..608b164
--- /dev/null
+++ b/.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/.wmii/wmiirc_solarized b/.wmii/theme-solarized
index 5dc830d..5dc830d 100644
--- a/.wmii/wmiirc_solarized
+++ b/.wmii/theme-solarized
diff --git a/.wmii/wmiirc_solarized_dark b/.wmii/theme-solarized-dark
index 4d663d2..83285ba 100644
--- a/.wmii/wmiirc_solarized_dark
+++ b/.wmii/theme-solarized-dark
@@ -1,8 +1,12 @@
+#!/bin/sh
# Solarized-dark
-. $HOME/.wmii/wmiirc_solarized
+. $HOME/.wmii/theme-solarized
+
+WMII_BACKGROUND="$SOL_BASE02"
# ="<text> <background> <border>"
WMII_NORMCOLORS="$SOL_BASE0 $SOL_BASE03 $SOL_BASE02"
WMII_FOCUSCOLORS="$SOL_BASE0 $SOL_BASE02 $SOL_BASE0"
-WMII_BACKGROUND="$SOL_BASE02"
+WMII_URGENTCOLORS="$SOL_RED $SOL_BASE03 $SOL_RED"
+
diff --git a/.wmii/wmiirc b/.wmii/wmiirc
index d41f392..82c424b 100755
--- a/.wmii/wmiirc
+++ b/.wmii/wmiirc
@@ -1,269 +1,270 @@
-#!/bin/dash -f
-# -*- mode: sh; -*-
+#!/bin/bash
+# Let any running instances of wmiirc know that we're starting
+wmiir xwrite /event Start
-# Configure wmii
-wmiiscript=wmiirc # For wmii.sh
-. wmii.sh
+. "$HOME/.wmii/include.sh"
-export WMII_FONT='xft:Monospace-8'
-export WMII_TERM=x-terminal-emulator
+echo ' ==> Starting wmiirc'
+mount9p=/opt/plan9/bin/9pfuse
+mkdir -p $WMII_NAMESPACE/mnt
+$mount9p $WMII_NAMESPACE/{wmii,mnt}
-. $HOME/.wmii/wmiirc_local
-
-# Configuration Variables
+MODKEY=Mod4 # super
UP=p
DOWN=n
LEFT=b
RIGHT=f
-# Bars
-noticetimeout=5
-noticebar=/rbar/!notice
-
# Colors tuples: "<text> <background> <border>"
-. $HOME/.wmii/wmiirc_solarized_dark
+. `conffile theme-solarized-dark`
# Menu history
-hist="${WMII_CONFPATH%%:*}/history"
-histnum=5000
-
-# Column Rules
-wmiir write /colrules <<!
-/gimp/ -> 17+83+41
-/.*/ -> 62+38 # Golden Ratio
-!
+hist="`conffile history`"
# Tagging Rules
-wmiir write /tagrules <<!
-/MPlayer|VLC/ -> ~
-/Gimp/ -> ~+gimp
-/Emacs|Navigator/ -> +sel
-!
-
-local_events() { true; }
-wi_runconf -s wmiirc_local
-
-echo $WMII_NORMCOLORS | wmiir create $noticebar
-
-# Event processing
-events() {
- events_events
- events_menus
- events_actions
- events_keybindings
-}
-events_events() {
- cat <<'!'
-# Events
-Event CreateTag
- echo "$WMII_NORMCOLORS" "$@" | wmiir create "/lbar/$@"
-Event DestroyTag
- wmiir remove "/lbar/$@"
-Event FocusTag
- wmiir xwrite "/lbar/$@" "$WMII_FOCUSCOLORS" "$@"
-Event UnfocusTag
- wmiir xwrite "/lbar/$@" "$WMII_NORMCOLORS" "$@"
-Event UrgentTag
- shift
- wmiir xwrite "/lbar/$@" "*$@"
-Event NotUrgentTag
- shift
- wmiir xwrite "/lbar/$@" "$@"
-Event LeftBarClick LeftBarDND
- shift
- wmiir xwrite /ctl view "$@"
-Event Unresponsive
- {
- client=$1; shift
- msg="The following client is not responding. What would you like to do?$wi_newline"
- resp=$(wihack -transient $client \
- xmessage -nearmouse -buttons Kill,Wait -print
- -fn "${WMII_FONT%%,*}" "$msg $(wmiir read /client/sel/label)")
- if [ "$resp" = Kill ]; then
- wmiir xwrite /client/$client/ctl slay &
- fi
- }&
-Event Notice
- wmiir xwrite $noticebar $wi_arg
-
- kill $xpid 2>/dev/null # Let's hope this isn't reused...
- { sleep $noticetimeout; wmiir xwrite $noticebar ' '; }&
- xpid = $!
-!
-}
-
-events_menus() {
- cat <<'!'
-# Window menus
-Menu Client-3-Delete
- wmiir xwrite /client/$1/ctl kill
-#Menu Client-3-Kill
-# wmiir xwrite /client/$1/ctl slay
-Menu Client-3-Fullscreen
- wmiir xwrite /client/$1/ctl Fullscreen on
-Event ClientMouseDown
- wi_fnmenu Client $2 $1 &
-
-# LBar menus
-Menu LBar-3-Delete
- tag=$1; clients=$(wmiir read "/tag/$tag/index" | awk '/[^#]/{print $2}')
- for c in $clients; do
- if [ "$tag" = "$(wmiir read /client/$c/tags)" ]; then
- wmiir xwrite /client/$c/ctl kill
- else
- wmiir xwrite /client/$c/tags -$tag
- fi
- if [ "$tag" = "$(wi_seltag)" ]; then
- newtag=$(wi_tags | awk -v't='$tag '
- $1 == t { if(!l) getline l
- print l
- exit }
- { l = $0 }')
- wmiir xwrite /ctl view $newtag
- fi
- done
-Event LeftBarMouseDown
- wi_fnmenu LBar "$@" &
-!
-}
-
-events_actions() {
- cat <<'!'
-# Actions
-Action showkeys
- echo "$KeysHelp" | xmessage -file - -fn ${WMII_FONT%%,*}
-Action quit
- wmiir xwrite /ctl quit
-Action exec
- wmiir xwrite /ctl exec "$@"
-Action rehash
- wi_proglist $PATH >$progsfile
-Action status
- set +xv
- if wmiir remove /rbar/status 2>/dev/null; then
- sleep 2
- fi
- echo "$WMII_NORMCOLORS" | wmiir create /rbar/status
- while status | wmiir write /rbar/status; do
- sleep 1
- done
-!
-}
-
-events_keybindings() {
- cat <<'!'
+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";;
+ 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
-KeyGroup Moving around
-Key $MODKEY-$LEFT # Select the client to the left
- wmiir xwrite /tag/sel/ctl select left
-Key $MODKEY-$RIGHT # Select the client to the right
- wmiir xwrite /tag/sel/ctl select right
-Key $MODKEY-$UP # Select the client above
- wmiir xwrite /tag/sel/ctl select up
-Key $MODKEY-$DOWN # Select the client below
- wmiir xwrite /tag/sel/ctl select down
-
-Key $MODKEY-space # Toggle between floating and managed layers
- wmiir xwrite /tag/sel/ctl select toggle
-
-KeyGroup Moving clients around
-Key $MODKEY-Shift-$LEFT # Move selected client to the left
- wmiir xwrite /tag/sel/ctl send sel left
-Key $MODKEY-Shift-$RIGHT # Move selected client to the right
- wmiir xwrite /tag/sel/ctl send sel right
-Key $MODKEY-Shift-$UP # Move selected client up
- wmiir xwrite /tag/sel/ctl send sel up
-Key $MODKEY-Shift-$DOWN # Move selected client down
- wmiir xwrite /tag/sel/ctl send sel down
-
-Key $MODKEY-Shift-space # Toggle selected client between floating and managed layers
- wmiir xwrite /tag/sel/ctl send sel toggle
-
-KeyGroup Moving through stacks
-Key $MODKEY-Control-$UP # Select the stack above
- wmiir xwrite /tag/sel/ctl select up stack
-Key $MODKEY-Control-$DOWN # Select the stack below
- wmiir xwrite /tag/sel/ctl select down stack
-
-KeyGroup Client actions
-Key $MODKEY-shift-1 # Toggle selected client's fullsceen state
- wmiir xwrite /client/sel/ctl Fullscreen toggle
-Key $MODKEY-shift-0 # Close client
- wmiir xwrite /client/sel/ctl kill
-
-KeyGroup Changing column modes
-Key $MODKEY-d # Set column to default mode
- wmiir xwrite /tag/sel/ctl colmode sel default-max
-Key $MODKEY-s # Set column to stack mode
- wmiir xwrite /tag/sel/ctl colmode sel stack-max
-Key $MODKEY-m # Set column to max mode
- wmiir xwrite /tag/sel/ctl colmode sel stack+max
-
-KeyGroup Running programs
-Key $MODKEY-a # Open wmii actions menu
- action $(wi_actions | wimenu -h "${hist}.actions" -n $histnum) &
-Key $MODKEY-x # Open program menu
- eval wmiir setsid "$(wimenu -h "${hist}.progs" -n $histnum <$progsfile)" &
-Key $MODKEY-Return # Launch a terminal
- eval wmiir setsid $WMII_TERM &
-
-KeyGroup Other
-Key $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;;
+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
-KeyGroup Tag actions
-Key $MODKEY-t # Change to another tag
- (tag=$(wi_tags | wimenu -h "${hist}.tags" -n 50) && wmiir xwrite /ctl view $tag) &
-Key $MODKEY-Shift-t # Retag the selected client
- c=$(wi_selclient)
- (tag=$(wi_tags | wimenu -h "${hist}.tags" -n 50) && wmiir xwrite /client/$c/tags $tag) &
-!
- for i in 0 1 2 3 4 5 6 7 8 9; do
- cat <<'!'
-Key $MODKEY-$i # Move to the numbered view
- wmiir xwrite /ctl view "$i"
-#Key $MODKEY-Shift-$i # Retag selected client with the numbered tag
-# wmiir xwrite /client/sel/tags "$i"
-!
- done
-}
-wi_events events local_events
-
-# WM Configureation
-wmiir write /ctl <<!
- font $WMII_FONT
- focuscolors $WMII_FOCUSCOLORS
- normcolors $WMII_NORMCOLORS
- grabmod $MODKEY
- border 1
-!
+# 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" &
-# Misc
-progsfile="$(wmiir namespace)/.proglist"
-action status &
-wi_proglist $PATH >$progsfile &
-
-# Setup Tag Bar
-IFS="$wi_newline"
-wmiir rm $(wmiir ls /lbar | sed 's,^,/lbar/,') >/dev/null
-seltag=$(wmiir read /tag/sel/ctl | sed 1q)
-unset IFS
-wi_tags | while read tag
-do
+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
- echo "$WMII_FOCUSCOLORS" "$tag"
- else
- echo "$WMII_NORMCOLORS" "$tag"
- fi | wmiir create "/lbar/$tag"
+ Event FocusTag "$tag"
+ fi
done
-wi_eventloop
+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
index 2cf4ea2..9c5ce55 100644
--- a/.xinitrc
+++ b/.xinitrc
@@ -5,10 +5,13 @@
# 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
- [ -x "$f" ] && . "$f"
+ echo " -> $f"
+ [ -x "$f" ] && "$f" &
done
unset f
+ echo ' -> done'
fi
usermodmap="$HOME/.xmodmap"
@@ -20,4 +23,4 @@ fi
# exec startkde
# exec startxfce4
# ...or the Window Manager of your choice
-exec wmii
+exec ck-launch-session wmii