Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

initial import

  • Loading branch information...
commit 084afcdeebe01ee1448ebde69fb4bf3d3a6e70c1 0 parents
@jrockway authored
Showing with 1,475 additions and 0 deletions.
  1. +1 −0  alsaplayer/alsaplayer.m3u
  2. +47 −0 alsaplayer/config
  3. BIN  anki/backups/!home!jon!Things!anki!mydeck.backup-0.anki
  4. BIN  anki/backups/!home!jon!Things!anki!mydeck.backup-1.anki
  5. BIN  anki/backups/!home!jon!Things!anki!mydeck.backup-2.anki
  6. BIN  anki/backups/!home!jon!Things!anki!mydeck.backup-3.anki
  7. BIN  anki/backups/!home!jon!mydeck.backup-0.anki
  8. BIN  anki/backups/!home!jon!mydeck.backup-1.anki
  9. BIN  anki/backups/!home!jon!mydeck.backup-2.anki
  10. BIN  anki/backups/!home!jon!mydeck.backup-3.anki
  11. BIN  anki/backups/!home!jon!mydeck.backup-4.anki
  12. BIN  anki/backups/!home!jon!mydeck.backup-5.anki
  13. BIN  anki/backups/!home!jon!mydeck.backup-6.anki
  14. BIN  anki/backups/!home!jon!mydeck2.backup-0.anki
  15. +101 −0 anki/config.db
  16. +6 −0 asdf-install
  17. +1 −0  aspell.en.prepl
  18. +100 −0 aspell.en.pws
  19. +1 −0  bash_login
  20. +7 −0 bash_logout
  21. +104 −0 bashrc
  22. +36 −0 bin/import.pl
  23. +46 −0 bin/relink.pl
  24. +549 −0 emacs
  25. +15 −0 gitconfig
  26. +1 −0  inputrc
  27. +1 −0  minicpanrc
  28. +10 −0 templates/TEMPLATE.PL.tpl
  29. +19 −0 templates/TEMPLATE.asd.tpl
  30. +6 −0 templates/TEMPLATE.pl.tpl
  31. +19 −0 templates/TEMPLATE.pm.tpl
  32. +5 −0 templates/TEMPLATE.t.tpl
  33. +77 −0 xbindkeysrc.scm
  34. +23 −0 xinitrc
  35. +10 −0 xmodmaprc
  36. +16 −0 xmonad/mobar.conf
  37. +274 −0 xmonad/xmonad.hs
1  alsaplayer/alsaplayer.m3u
@@ -0,0 +1 @@
+Music/misc/01 - Psycho Killer ( Live LP Version ).mp3
47 alsaplayer/config
@@ -0,0 +1,47 @@
+#
+# alsaplayer config file
+#
+# Only edit this file if the application is not active.
+# Any modifications might (will!) be lost otherwise.
+#
+blurscope.active=false
+gtk2_interface.background_colour=#000000
+gtk2_interface.default_playlist_add_path=/home/jon/Music/misc
+gtk2_interface.default_playlist_load_path=.
+gtk2_interface.default_playlist_save_path=.
+gtk2_interface.font_colour=#ffffff
+gtk2_interface.fonts=
+gtk2_interface.height=1186
+gtk2_interface.loop=1
+gtk2_interface.play_on_add=false
+gtk2_interface.play_on_title=false
+gtk2_interface.playlist_active=true
+gtk2_interface.playlist_height=1
+gtk2_interface.scopeswindow_active=false
+gtk2_interface.smooth_transition=false
+gtk2_interface.width=1920
+gtk_interface.default_play_path=/home/jon/
+gtk_interface.default_playlist_add_path=/home/jon/Music/Mario/
+gtk_interface.default_playlist_load_path=/
+gtk_interface.default_playlist_save_path=/
+gtk_interface.playlist_active=true
+gtk_interface.scopeswindow_active=false
+gtk_interface.smooth_transition=false
+http.buffer_size=1048576
+jack.output1=alsa_pcm:playback_1
+jack.output2=alsa_pcm:playback_2
+levelmeter.active=false
+logbarfft.active=false
+mad.parse_id3=true
+main.default_interface=gtk
+main.default_output=alsa
+main.multiopen=true
+main.period_count=8
+main.period_size=4096
+main.play_on_start=false
+monoscope.active=false
+opengl_spectrum.active=false
+opengl_spectrum.height=480
+opengl_spectrum.width=640
+spacescope.active=false
+synaescope.active=false
BIN  anki/backups/!home!jon!Things!anki!mydeck.backup-0.anki
Binary file not shown
BIN  anki/backups/!home!jon!Things!anki!mydeck.backup-1.anki
Binary file not shown
BIN  anki/backups/!home!jon!Things!anki!mydeck.backup-2.anki
Binary file not shown
BIN  anki/backups/!home!jon!Things!anki!mydeck.backup-3.anki
Binary file not shown
BIN  anki/backups/!home!jon!mydeck.backup-0.anki
Binary file not shown
BIN  anki/backups/!home!jon!mydeck.backup-1.anki
Binary file not shown
BIN  anki/backups/!home!jon!mydeck.backup-2.anki
Binary file not shown
BIN  anki/backups/!home!jon!mydeck.backup-3.anki
Binary file not shown
BIN  anki/backups/!home!jon!mydeck.backup-4.anki
Binary file not shown
BIN  anki/backups/!home!jon!mydeck.backup-5.anki
Binary file not shown
BIN  anki/backups/!home!jon!mydeck.backup-6.anki
Binary file not shown
BIN  anki/backups/!home!jon!mydeck2.backup-0.anki
Binary file not shown
101 anki/config.db
@@ -0,0 +1,101 @@
+(dp1
+S'interfaceFontSize'
+p2
+I12
+sS'lastCardFontSize'
+p3
+I14
+sS'interfaceLang'
+p4
+S'en_US'
+p5
+sS'syncOnLoad'
+p6
+I00
+sS'recentDeckPaths'
+p7
+(lp8
+V/home/jon/Things/anki/mydeck.anki
+p9
+aV/home/jon/mydeck.anki
+p10
+aV/home/jon/mydeck2.anki
+p11
+aV/home/jon/mydeck3.anki
+p12
+asS'easeButtonHeight'
+p13
+S'standard'
+p14
+sS'syncPassword'
+p15
+S''
+sS'saveAfterAnswerNum'
+p16
+I30
+sS'saveAfterAdding'
+p17
+I01
+sS'editFontFamily'
+p18
+S'Arial'
+p19
+sS'easeButtonStyle'
+p20
+g14
+sS'showToolbar'
+p21
+I01
+sS'backgroundColour'
+p22
+S'#FFFFFF'
+p23
+sS'mainWindowGeometry'
+p24
+(I1
+I13
+I1918
+I1186
+tp25
+sS'saveOnClose'
+p26
+I01
+sS'syncOnClose'
+p27
+I00
+sS'interfaceColour'
+p28
+S'#000000'
+p29
+sS'lastCardFontFamily'
+p30
+g19
+sS'saveAfterAddingNum'
+p31
+I10
+sS'syncUsername'
+p32
+S''
+sS'interfaceFontFamily'
+p33
+g19
+sS'lastCardColour'
+p34
+S'#0077FF'
+p35
+sS'checkForUpdates'
+p36
+I01
+sS'editFontSize'
+p37
+I12
+sS'showSuspendedCards'
+p38
+I01
+sS'saveAfterAnswer'
+p39
+I01
+sS'showFontPreview'
+p40
+I01
+s.
6 asdf-install
@@ -0,0 +1,6 @@
+;;; -*- Mode: Lisp -*-
+
+(setq asdf-install:*locations*
+ '((#P"/home/jon/.sbcl/site/"
+ #P"/home/jon/.sbcl/systems/"
+ "Personal installation")))
1  aspell.en.prepl
@@ -0,0 +1 @@
+personal_repl-1.1 en 0
100 aspell.en.pws
@@ -0,0 +1,100 @@
+personal_ws-1.1 en 99
+templating
+proven
+Rockway
+BACKPAN
+CGI
+jrockway
+whitespace
+introspectable
+startup
+repurposed
+else's
+perl
+WebLogic
+cp
+config
+formbuilder
+committer
+dev
+undef
+AuthName
+cms
+everything's
+dir
+busses
+prepend
+jsp
+pastable
+YAML
+composable
+btw
+multilog
+dists
+formatters
+formatter's
+md
+one's
+namespace
+src
+httpd
+javascript
+XHTML
+MooseX
+REPL
+metadescription
+MetaDescription
+repo
+vivification
+MyApp
+validator
+filename
+MyCPAN
+syntaxes
+PAUSE's
+readproctitle
+metadescriptions
+dereferenced
+svn
+auth
+ro
+lexicals
+uchicago
+ERC
+metaclass
+jrock
+TT
+Plugin
+Subdirectories
+localhost
+datetime
+DateTime
+Deliverables
+nmr
+HOWTO
+username
+TODO
+utf
+accessor
+hostname
+plugins
+CPAN
+MySQL
+html
+eval
+Bcc
+CGIs
+unapplied
+pfizer
+DBIx
+Args
+profiler
+conf
+brian
+builtins
+timestamping
+refactored
+xml
+formatter
+Makefile
+ConfigLoader
1  bash_login
@@ -0,0 +1 @@
+source $HOME/.bashrc
7 bash_logout
@@ -0,0 +1,7 @@
+# ~/.bash_logout: executed by bash(1) when login shell exits.
+
+# when leaving the console clear the screen to increase privacy
+
+if [ "$SHLVL" = 1 ]; then
+ [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
+fi
104 bashrc
@@ -0,0 +1,104 @@
+#!/bin/bash
+
+# path
+PATH=\
+$HOME/perl/install/bin:\
+$HOME/projects/jrockway-utils/bin:\
+$HOME/utils:\
+/var/qmail/bin:\
+/usr/local/bin:\
+/usr/local/sbin:\
+/sw/bin:\
+/sw/sbin:\
+/opt/bin:\
+/opt/sbin:\
+/usr/games:\
+/usr/bin:\
+/usr/X11R6/bin:\
+/sbin:\
+/usr/sbin:\
+/bin
+
+export PATH
+
+# xterm titlebar
+case $TERM in
+ xterm* | rxvt* | cygwin*)
+ PROMPT_COMMAND='echo -ne "\033]0;$(whoami)@$(hostname):${PWD} [$(jobs -s | wc -l | sed -e "s/ //g")]\007"'
+ ;;
+ *)
+ ;;
+esac
+
+# prompts
+case $TERM in
+ dumb* | emacs* )
+ export PS1="[\w]\$ "
+ ;;
+ *)
+ export PS1="\[\033[01;32m\]\n[\w] \j (\u@\h)\n\$ \[\033[00m\]"
+ export PS2="\w$ "
+ export PS3="\$ "
+ ;;
+esac
+
+# aliases
+alias xmms=xmms2
+
+alias perlfunc="perldoc -f"
+alias lperl="perl -Ilib"
+function lbperl {
+ perl -Ilib "bin/$1";
+}
+
+alias gap="git add --patch"
+function mod {
+ cd ~/projects/cpan_modules/$1*
+}
+
+alias ec="emacsclient -t" # yay for multi-tty!
+
+function net {
+ sudo iwconfig wlan0 ap any;
+ sudo iwconfig wlan0 essid "$1";
+ sleep 1;
+ sudo dhclient wlan0;
+}
+
+function phone {
+ sudo ifconfig wlan0 down
+ sudo iwconfig wlan0 mode ad-hoc
+ sudo ifconfig wlan0 up
+ sudo iwconfig wlan0 essid WMWifiRouter
+ sleep 1;
+ sudo dhclient wlan0
+}
+
+function phone-down {
+ sudo ifconfig wlan0 down
+ sudo iwconfig wlan0 mode managed
+ sudo ifconfig wlan0 up
+ sudo iwconfig wlan0 essid "none"
+}
+
+# limits
+ulimit -c 0
+
+# history-related
+shopt -s cmdhist
+shopt -s checkwinsize
+shopt -s cdable_vars
+alias h=history
+alias r='fc -s'
+export HISTFILESIZE=10000
+
+# exports
+#export CFLAGS="-O0 -g3"
+export EDITOR="mg"
+#export EDITOR="emacs -nw --no-desktop "
+alias edit="$EDITOR"
+export SVKMERGE="svk-merge-emacs"
+
+alias cs="perl script/*_server.pl -d"
+alias carpcs="perl -MCarp::Always script/*_server.pl -d"
+unset HISTSIZE
36 bin/import.pl
@@ -0,0 +1,36 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use feature ':5.10';
+
+use Path::Class;
+use Carp qw(confess);
+
+my $home = dir($ENV{HOME});
+confess "NO HOMEDIR!?" unless -d $home;
+
+my $dotdir = $home->subdir(".dotfiles");
+confess "$dotdir does not exist" unless -e -d $dotdir;
+confess "$dotdir is not a git repository" unless -d $dotdir->subdir('.git');
+
+my $dotfile = shift @ARGV || confess 'Need a dotfile to import';
+$dotfile = $home->file($dotfile);
+confess "$dotfile does not exist" unless -e $dotfile;
+confess "refusing to import a symlink" if -l $dotfile;
+confess "$dotfile does not start with a dot" unless $dotfile->basename =~ /^[.]/;
+
+my ($name) = ($dotfile->basename =~ m{[.](.+)$});
+my $dest = $dotdir->file($name);
+
+confess "destination $dest already exists!" if -e $dest;
+
+rename $dotfile, $dest or confess "Failed to rename $dotfile to $dest: $!";
+
+chdir $dotdir or confess "Failed to chdir to $dotdir: $!";
+# if git fails, its own messages should make that clear. we don't
+# lose any data in that case.
+system(qw/git add/, $dest);
+system(qw/git commit -m/, 'adding '. $dotfile->basename);
+
+symlink $dest, $dotfile or warn "WARNING: Failed to link $dest to $dotfile: $!";
46 bin/relink.pl
@@ -0,0 +1,46 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use feature ':5.10';
+
+use Path::Class;
+use Carp qw(confess);
+
+my $home = dir($ENV{HOME});
+confess "NO HOMEDIR!?" unless -d $home;
+
+my $dotdir = $home->subdir(".dotfiles");
+confess "$dotdir does not exist" unless -e -d $dotdir;
+
+my @files =
+ map { $dotdir->file($_) }
+ grep { !/^[.]/ && !/^bin$/ }
+ do {
+ opendir my $dh, $dotdir or confess "Failed to open $dotdir: $!";
+ readdir $dh;
+ };
+
+relink:
+for my $original (@files){
+ no warnings 'exiting';
+ my $link = $home->file('.'. $original->basename);
+ #say "looking at $link -> $original";
+ given($link){
+ when( -l $_ ){
+ my $dest = file(readlink $link);
+ if($dest->absolute ne $original->absolute){
+ say {*STDERR} "warning: destination link '$link' exists, ".
+ "but points to the wrong place. (should point to ".
+ "$original, points to $dest).";
+ }
+ next relink;
+ }
+ when( -e $_ ){
+ say {*STDERR} "warning: destination link '$link' exists as a regular file!";
+ next relink;
+ }
+ }
+ say "linking $original to $link";
+ symlink $original, $link or say {*STDERR} "Error linking $original to $link: $!";
+}
549 emacs
@@ -0,0 +1,549 @@
+;;; load extra modes
+(add-to-list 'load-path "~/elisp")
+(add-to-list 'load-path "~/elisp/haskell-mode/")
+(add-to-list 'load-path "~/elisp/ecb")
+(add-to-list 'load-path "~/elisp/eieio-0.17")
+(add-to-list 'load-path "~/elisp/speedbar-0.14beta4/")
+(add-to-list 'load-path "~/elisp/semantic-1.4.4")
+(add-to-list 'load-path "~/elisp/_local")
+(add-to-list 'load-path "~/elisp/slime/")
+(add-to-list 'load-path "~/elisp/slime/contrib")
+;(add-to-list 'load-path "~/elisp/Sepia/")
+(add-to-list 'load-path "~/elisp/mmm-mode/")
+;(add-to-list 'load-path "~/elisp/nxml/nxml-mode-20041004")
+;(add-to-list 'load-path "~/elisp/nxml/nxhtml")
+;(add-to-list 'load-path "~/elisp/nxml/util")
+(add-to-list 'load-path "~/elisp/ocaml")
+(add-to-list 'load-path "~/projects/cpan_modules/Stylish/emacs")
+
+;(load-file "/home/jon/elisp/nxml/autostart.el")
+(load-file "/home/jon/elisp/cperl-mode.el")
+(load-file "/home/jon/elisp/css-mode.el")
+(load-file "/home/jon/elisp/vc-svk.el")
+(load-file "/home/jon/elisp/php-mode.el")
+(load-file "/home/jon/elisp/pir-mode.el")
+(load-file "/home/jon/elisp/vc-svk.el")
+(load-file "/home/jon/elisp/visible-mark.el")
+(load-file "/home/jon/elisp/chop.el")
+(load-file "/home/jon/elisp/haskell-mode/haskell-mode.el")
+(load-file "/home/jon/elisp/template/lisp/template.el")
+(load-file "/home/jon/elisp/ecb/ecb.el")
+
+;; environment
+(setenv "PATH"
+ (concat "/home/jon/perl/install/bin:" (getenv "PATH")))
+
+(require 'template)
+(template-initialize)
+
+(require 'caml)
+(require 'chop)
+(require 'cperl-extras)
+(require 'editing-extras)
+(require 'elisp-extras)
+(require 'erc)
+(require 'erc-extras)
+(require 'etags-extras)
+(require 'git)
+(require 'gitsum)
+(require 'gnus)
+(require 'iswitchb-extras)
+(require 'js2)
+(require 'lisp-extras)
+(require 'message)
+(require 'sql-extras)
+(ignore-errors (require 'stylish-repl-iedit))
+(require 'twittering-mode)
+(require 'uniquify)
+(require 'w3m-load)
+(require 'wget)
+(load "w3m-wget")
+(require 'w3m-extras)
+(require 'window-number)
+(require 'windowing-extras)
+(require 'xmms)
+(require 'yaml-mode)
+
+;;; slime
+(eval-after-load "slime"
+ '(progn
+ (slime-setup '(slime-fancy
+ slime-fancy-inspector
+ slime-asdf
+ slime-fontifying-fu))
+ (slime-autodoc-mode)
+ (setq slime-complete-symbol*-fancy t)
+ (setq slime-complete-symbol-function 'slime-fuzzy-complete-symbol)))
+(require 'slime)
+
+;;; modes i want on by default
+(diary 0)
+(iswitchb-mode 1)
+;(desktop-save-mode 1)
+(winner-mode 1)
+(window-number-mode 1)
+(windmove-default-keybindings)
+(slime-setup)
+(defalias 'perl-mode 'cperl-mode)
+
+;;; hooks
+(defun text-hooks ()
+ "This function turns modes that I need when editing English text."
+ (turn-on-auto-fill)
+ (flyspell-mode 1)
+ (local-set-key "\C-cu" 'insert-same-number-of-chars-as-line-above)
+ (local-set-key "\C-ccw" 'ispell-complete-word))
+
+(defun cperl-hooks ()
+ (when (featurep 'stylish-repl)
+ (local-set-key (kbd "C-M-x") 'stylish-repl-send-file)))
+
+(defun maybe-flymake-mode ()
+ (interactive)
+ (if (not (or
+ ;; if we've disabled flymake, don't turn it on (XXX: perl-specific)
+ (and (boundp 'cperl-no-flymake) cperl-no-flymake)
+ ;; if the buffer is read-only, don't turn it on
+ buffer-read-only))
+ (flymake-mode)))
+
+;;; hooks
+(add-hook 'before-save-hook #'delete-trailing-whitespace)
+(add-hook 'text-mode-hook 'text-hooks)
+(add-hook 'tex-mode-hook (lambda () (setq ispell-parser 'tex)))
+(add-hook 'c-mode-common-hook (lambda () (local-set-key '"\C-c\C-f" 'compile)))
+(add-hook 'c-mode-common-hook (lambda () (local-set-key '"\C-c\C-l" 'goto-line)))
+(add-hook 'diary-hook 'appt-make-list)
+(add-hook 'cperl-mode-hook 'cperl-hooks)
+;(add-hook 'cperl-mode-hook 'maybe-flymake-mode)
+(add-hook 'cperl-mode-hook 'flyspell-prog-mode)
+(add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
+(add-hook 'haskell-mode-hook 'turn-on-haskell-decl-scan)
+(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
+(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)
+(add-hook 'org-mode-hook
+ (lambda nil
+ ;; the kbd is irritatingly made-of-fail
+ (loop for i in (list (kbd "S-<left>")
+ (kbd "S-<right>")
+ (kbd "S-<up>")
+ (kbd "S-<down>"))
+ do (local-unset-key i))))
+(add-hook 'w3m-mode-hook
+ (lambda nil
+ (loop for old in '("S-<left>" "S-<right>")
+ do (local-unset-key (macroexpand `(kbd ,old))))
+ ;; yes, the reverse order is intentional
+ (local-set-key (kbd "C-<right>") #'w3m-shift-left)
+ (local-set-key (kbd "C-<left>") #'w3m-shift-right)))
+
+(add-hook 'message-setup-hook
+ (lambda () (local-set-key "\C-cw" 'message-widen-reply)))
+
+;(add-hook 'haskell-mode-hook 'turn-on-haskell-simple-indent)
+
+;;; auto-modes
+(setq auto-mode-alist
+ (append
+ '(("\\.css$" . css-mode)
+ ("\\.js$" . js2-mode)
+ ("\\.ya?ml$" . yaml-mode)
+ ("^mutt-" . mail-mode)
+ ("\\.html$" . html-mode)
+ ("configure.in" . m4-mode)
+ ("\\.t$" . cperl-mode)
+ ("\\.tt2?$" . html-mode)
+ ("\\.tmpl$" . html-mode)
+ ("\\.pir$" . pir-mode)
+ ("\\.[hg]s$" . haskell-mode)
+ ("\\.hi$" . haskell-mode)
+ ("\\.elt$" . emacs-lisp-mode)
+ ("\\.ml[iyl]?$" . caml-mode)
+ ("\\.l[hg]s$" . literate-haskell-mode))
+ auto-mode-alist))
+
+(add-to-list 'auto-mode-alist
+ (cons (concat "\\." (regexp-opt '("xml" "xsd" "sch" "rng"
+ "xslt" "svg" "rss") t) "\\'")
+ 'nxml-mode))
+
+;;; enable/disable
+(put 'downcase-region 'disabled nil)
+(put 'narrow-to-page 'disabled nil)
+(put 'set-goal-column 'disabled nil)
+(put 'upcase-region 'disabled nil)
+
+;;; functions for keybindings
+(defun kill-current-buffer (prefix)
+ (interactive "P")
+ (if prefix (call-interactively 'kill-buffer)
+ (kill-buffer nil)))
+
+;;; advice
+(require 'flymake)
+(defadvice flymake-perl-init (after fix-flymake-perl-path)
+ (let* ((include
+ (condition-case nil
+ (list (concat
+ "-I" (car (perl-project-includes)))
+ (concat
+ "-I" (expand-file-name
+ (concat (look-for-Makefile.PL) "/.."))))
+ (error nil)))
+ (perl "/home/jon/perl/install/bin/perl")
+ (file (cadadr ad-return-value))
+ (args (if include (append include (list "-c" file))
+ (list "-c" file))))
+ (setq ad-return-value (list perl args))))
+(ad-activate 'flymake-perl-init)
+
+(defadvice iswitchb-kill-buffer (after rescan-after-kill activate)
+ "*Regenerate the list of matching buffer names after a kill.
+ Necessary if using `uniquify' with `uniquify-after-kill-buffer-p'
+ set to non-nil."
+ (setq iswitchb-buflist iswitchb-matches)
+ (iswitchb-rescan))
+
+(defun iswitchb-rescan ()
+ "*Regenerate the list of matching buffer names."
+ (interactive)
+ (iswitchb-make-buflist iswitchb-default)
+ (setq iswitchb-rescan t))
+(ad-activate 'iswitchb-kill-buffer)
+
+(defun log-edit-hide-buf (&optional buf where)
+ (when (setq buf (get-buffer (or buf log-edit-files-buf)))
+ (let ((win (get-buffer-window buf where)))
+ (bury-buffer buf))))
+
+;;; override stupid defaults
+(defalias 'yes-or-no-p 'y-or-n-p) ; typing yes or no is annoying? (y or n)
+(defun message-box (text) (message "%s" text))
+
+;;; key-bindings
+(global-set-key [kp-decimal] 'goto-line)
+(global-set-key (kbd "C-x C-b") 'ibuffer)
+(global-set-key "\C-xg" 'rgrep)
+(global-set-key "\C-x\C-m" 'execute-extended-command)
+(global-set-key "\C-c\C-m" 'execute-extended-command)
+(global-set-key "\C-w" 'backward-kill-word)
+(global-set-key "\C-x\C-k" 'kill-region)
+(global-set-key "\C-c\C-k" 'kill-region)
+(global-set-key "\C-h" 'backward-delete-char-untabify)
+(global-set-key (kbd "C-;") (lambda () (interactive) (insert "_")))
+;(global-set-key (kbd "C-c a SPC") 'amarok-play-pause)
+;(global-set-key (kbd "C-c a n") 'amarok-next)
+;(global-set-key (kbd "C-c a p") 'amarok-prev)
+(global-set-key (kbd "C-c a s") 'xmms-seek)
+(global-set-key (kbd "C-c a a") 'xmms-jump-to-song)
+(global-set-key "\C-c\C-r" 'revert-buffer)
+(global-set-key (kbd "C-x C-g") 'keyboard-quit)
+(global-set-key (kbd "C-x k") 'kill-current-buffer)
+(global-set-key (kbd "<f12>") 'erc-next-channel)
+(global-set-key (kbd "<f11>") (lambda () (interactive) (switch-to-buffer "*Messages*")))
+(global-set-key (kbd "<f10>") 'erc-iswitchb)
+(global-set-key (kbd "<f9>") (lambda () (interactive) (switch-to-buffer "*scratch*")))
+(global-set-key (kbd "<f8>") 'ifind-perl-projects)
+(global-set-key (kbd "<f5>") 'gnus)
+(global-set-key (kbd "<f2> g") 'customize-group)
+(global-set-key (kbd "<f2> v") 'customize-variable)
+(global-set-key (kbd "<f2> a") 'customize-apropos)
+(global-set-key (kbd "<f2> f") 'customize-face)
+(global-set-key (kbd "<f1> l") (lambda nil (interactive) (info "Elisp")))
+(global-set-key (kbd "<f1> o") 'find-library)
+(global-set-key (kbd "C-x t") (lambda nil (interactive) (ansi-term "/bin/bash")))
+(global-set-key (kbd "M-?") 'hippie-expand)
+
+;; These are pretty useless when not in the terminal.
+(when (eq window-system 'x)
+ (global-unset-key (kbd "C-z"))
+ (global-unset-key (kbd "C-x C-z"))
+ (global-unset-key (kbd "C-x C-c"))
+ (global-set-key (kbd "C-x C-c") 'bury-buffer))
+
+;; I use these too much
+(loop for key in (list (kbd "C-<left>")
+ (kbd "C-<right>")
+ (kbd "C-<backspace>"))
+ do (global-unset-key key))
+(define-key read-expression-map (kbd "TAB") #'lisp-complete-symbol)
+(global-set-key (kbd "M-<up>") 'chop-move-up)
+(global-set-key (kbd "M-<down>") 'chop-move-down)
+
+;;; setqs
+(setq cperl-electric-keywords nil)
+(setq cperl-hairy nil)
+(setq fill-column 78)
+(setq auto-fill-mode t)
+(setq frame-title-format "emacs")
+(setq twittering-username "jrockway")
+
+;;; utils
+
+(defun erc-start nil
+ "Connect to all my networks"
+ (interactive)
+ (let ((password (password-read "IRC password: "))
+ (host "localhost"))
+ (erc :server host :port 6667 :nick "jrockway" :password password)
+ (erc :server host :port 6668 :nick "jrockway" :password password)
+ (erc :server host :port 6669 :nick "jrockway" :password password)
+ (erc :server host :port 6670 :nick "jrockway" :password password)))
+
+(defalias 'start-erc 'erc-start)
+
+(defun ensure-erc-features nil
+ (interactive)
+ (erc-spelling-mode 1)
+ (erc-truncate-mode 1))
+
+;;; custom-set
+(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.
+ '(blink-matching-paren nil)
+ '(blink-matching-paren-on-screen nil)
+ '(browse-url-browser-function (quote my-w3m-browse-url))
+ '(browse-url-generic-program "midori")
+ '(browse-url-new-window-flag t)
+ '(bubbles-game-theme (quote difficult))
+ '(bubbles-grid-size (quote (20 . 15)))
+ '(c-cleanup-list (quote (empty-defun-braces defun-close-semi list-close-comma scope-operator compact-empty-funcall)))
+ '(c-default-style (quote ((java-mode . "java") (other . "gnu"))))
+ '(c-electric-pound-behavior (quote (alignleft)))
+ '(c-macro-cppflags "-I/usr/include -I/usr/local/include -I/usr/include/g++-3")
+ '(case-fold-search t)
+ '(compilation-ask-about-save nil)
+ '(compilation-read-command nil)
+ '(compilation-scroll-output t)
+ '(compilation-window-height 10)
+ '(compile-auto-highlight 10)
+ '(compile-command "make")
+ '(confirm-nonexistent-file-or-buffer nil)
+ '(cperl-auto-newline nil)
+ '(cperl-close-paren-offset -4)
+ '(cperl-continuted-statement-offset 0)
+ '(cperl-highlight-variables-indiscriminately nil)
+ '(cperl-indent-level 4)
+ '(cperl-indent-parens-as-block t)
+ '(cperl-inent-level 4)
+ '(cperl-invalid-face (quote default))
+ '(cperl-tab-always-indent t)
+ '(cperl-under-as-char nil)
+ '(current-language-environment "UTF-8")
+ '(custom-magic-show-button t)
+ '(debug-on-error (quote (nil)))
+ '(display-hourglass nil)
+ '(display-time-mode nil)
+ '(ecb-options-version "2.32")
+ '(ecb-source-path (quote ("~/projects")))
+ '(ecomplete-database-file-coding-system (quote utf-8-emacs))
+ '(erc-auto-query (quote bury))
+ '(erc-email-userid "jon@jrock.us")
+ '(erc-fools nil)
+ '(erc-format-query-as-channel-p nil)
+ '(erc-header-line-face-method t)
+ '(erc-hide-list (quote ("JOIN" "PART" "QUIT")))
+ '(erc-keywords (quote ("\\bjrock[^w]" "[^j]rockway")))
+ '(erc-max-buffer-size 20000)
+ '(erc-mode-hook (quote (erc-munge-invisibility-spec erc-move-to-prompt-setup pcomplete-erc-setup erc-button-setup erc-imenu-setup ensure-erc-features)))
+ '(erc-nick "jrockway")
+ '(erc-nick-uniquifier "_")
+ '(erc-pals (quote ("stevan" "nothingmuch" "tom$" "jeremy" "iistevan" "iiyuval" "jeremyshao" "schmeidi" "gphat")))
+ '(erc-prompt-for-password t)
+ '(erc-server "stonepath.jrock.us")
+ '(erc-spelling-mode t)
+ '(erc-track-exclude-server-buffer t)
+ '(erc-track-exclude-types (quote ("JOIN" "KICK" "NICK" "PART" "QUIT" "MODE")))
+ '(erc-track-faces-priority-list (quote (erc-error-face erc-current-nick-face erc-keyword-face erc-pal-face erc-nick-msg-face erc-direct-msg-face erc-dangerous-host-face)))
+ '(erc-track-minor-mode t)
+ '(erc-track-mode t)
+ '(erc-track-position-in-mode-line (quote after-modes))
+ '(erc-track-priority-faces-only (quote all))
+ '(erc-track-remove-disconnected-buffers t)
+ '(erc-track-showcount t)
+ '(erc-track-switch-direction (quote importance))
+ '(erc-track-use-faces t)
+ '(erc-truncate-mode t)
+ '(erc-user-full-name "Jonathan Rockway")
+ '(erc-whowas-on-nosuchnick t)
+ '(eshell-after-prompt-hook nil)
+ '(eshell-modules-list (quote (eshell-alias eshell-banner eshell-basic eshell-cmpl eshell-dirs eshell-glob eshell-hist eshell-ls eshell-pred eshell-prompt eshell-rebind eshell-script eshell-term eshell-unix)))
+ '(eshell-prompt-function (lambda nil (format "%s
+%s" (eshell/pwd) (if (= (user-uid) 0) " # " " $ "))))
+ '(eudc-protocol (quote ldap))
+ '(eudc-server "ldap.uchicago.edu")
+ '(flymake-allowed-file-name-masks (quote (("\\.c\\'" flymake-simple-make-init) ("\\.cpp\\'" flymake-simple-make-init) ("\\.xml\\'" flymake-xml-init) ("\\.html?\\'" flymake-xml-init) ("\\.cs\\'" flymake-simple-make-init) ("\\.p[lm]\\'" flymake-perl-init) ("\\.t\\'" flymake-perl-init) ("\\.h\\'" flymake-master-make-header-init flymake-master-cleanup) ("\\.java\\'" flymake-simple-make-java-init flymake-simple-java-cleanup) ("[0-9]+\\.tex\\'" flymake-master-tex-init flymake-master-cleanup) ("\\.tex\\'" flymake-simple-tex-init) ("\\.idl\\'" flymake-simple-make-init))))
+ '(flyspell-issue-welcome-flag nil)
+ '(flyspell-mode-line-string " Spell")
+ '(font-lock-global-modes t)
+ '(global-font-lock-mode t nil (font-lock))
+ '(gnus-always-force-window-configuration t)
+ '(gnus-asynchronous t)
+ '(gnus-gcc-mark-as-read t)
+ '(gnus-ignored-from-addresses "\\\\(?:jon@bar\\.jrock\\.us\\\\|jon@jrock\\.us\\\\)")
+ '(gnus-local-domain "jrock.us")
+ '(gnus-message-archive-group "Sent")
+ '(gnus-message-replyencrypt t)
+ '(gnus-message-replysign nil)
+ '(gnus-novice-user nil)
+ '(gnus-posting-styles (quote (((header "To" "iinteractive.com") (signature nil) (address "jonathan.rockway@iinteractive.com")))))
+ '(gnus-secondary-select-methods (quote ((nnimap "localhost" (username jon)))))
+ '(gnus-secondary-servers nil)
+ '(gnus-select-method (quote (nnmbox "/var/spool/mail/jon")))
+ '(gnus-summary-mode-hook (quote (gnus-agent-mode (lambda nil (local-set-key (kbd "D") (quote gnus-summary-delete-article))))))
+ '(gnus-update-message-archive-method t)
+ '(gnus-use-full-window nil)
+ '(grep-tree-command "find <D> -path '*/.svn' -prune -o <X> -type f <F> -print0 | xargs -0 -e egrep <C> -nH -e '<R>'")
+ '(gud-tooltip-echo-area t)
+ '(haskell-font-lock-symbols nil)
+ '(haskell-literate-default (quote latex))
+ '(ibuffer-expert t)
+ '(ibuffer-fontification-alist (quote ((10 buffer-read-only font-lock-constant-face) (15 (and buffer-file-name (string-match ibuffer-compressed-file-name-regexp buffer-file-name)) font-lock-doc-face) (20 (string-match "^*" (buffer-name)) font-lock-keyword-face) (25 (and (string-match "^ " (buffer-name)) (null buffer-file-name)) italic) (30 (memq major-mode ibuffer-help-buffer-modes) font-lock-comment-face) (35 (eq major-mode (quote dired-mode)) font-lock-function-name-face) (1 (eq major-mode (quote cperl-mode)) font-lock-type-face) (1 (eq major-mode (quote erc-mode)) erc-notice-face))))
+ '(ielm-mode-hook (quote (turn-on-eldoc-mode)))
+ '(indent-tabs-mode nil)
+ '(indicate-buffer-boundaries (quote left))
+ '(indicate-empty-lines nil)
+ '(inferior-lisp-program "/usr/bin/sbcl")
+ '(inhibit-startup-screen t)
+ '(initial-scratch-message nil)
+ '(iswitchb-buffer-ignore (quote ("^ " "^[#]")))
+ '(jde-compiler (quote ("javac" "")))
+ '(jde-gen-conditional-padding-1 " ")
+ '(jde-gen-conditional-padding-3 "")
+ '(jde-gen-method-signature-padding-3 "")
+ '(jde-help-docsets (quote (("JDK API" "/usr/local/java/docs/api" nil))))
+ '(js2-auto-indent-flag nil)
+ '(js2-basic-offset 4)
+ '(js2-electric-keys nil)
+ '(js2-mirror-mode nil)
+ '(js2-use-font-lock-faces t)
+ '(lisp-interaction-mode-hook (quote (turn-on-eldoc-mode)))
+ '(mail-user-agent (quote gnus-user-agent))
+ '(make-backup-files nil)
+ '(max-lisp-eval-depth 65536)
+ '(menu-bar-mode nil nil (menu-bar))
+ '(message-citation-line-format "* On %a, %b %d %Y, %N wrote:")
+ '(message-citation-line-function (quote message-insert-formatted-citation-line))
+ '(message-kill-buffer-on-exit t)
+ '(message-mail-alias-type (quote ecomplete))
+ '(mm-verify-option (quote known))
+ '(mmm-submode-decoration-level 1)
+ '(mouse-avoidance-mode (quote jump) nil (avoid))
+ '(mumamo-set-major-mode-delay -1)
+ '(nnimap-debug nil)
+ '(nxhtml-skip-welcome t)
+ '(occur-mode-hook (quote (turn-on-font-lock next-error-follow-minor-mode)))
+ '(pgg-default-user-id "5BF3666D")
+ '(pgg-gpg-use-agent t)
+ '(pop-up-windows nil)
+ '(rcirc-default-server "irc.perl.org")
+ '(safe-local-variable-values (quote ((Syntax . ANSI-Common-Lisp) (Base . 10) (flymake-mode . 0))))
+ '(same-window-buffer-names (quote ("*shell*" "*mail*" "*inferior-lisp*" "*ielm*" "*scheme*" "*info*")))
+ '(same-window-regexps (quote ("^[^*]" "[*]Help" "[*]Custom" "[*]git" "[*]w3m" "[*]sldb" "[*].*reply.*" "[*]SLIME")))
+ '(save-place t nil (saveplace))
+ '(scheme-program-name "guile")
+ '(scroll-bar-mode nil)
+ '(show-paren-mode t)
+ '(show-trailing-whitespace nil)
+ '(slime-enable-evaluate-in-emacs t)
+ '(slime-kill-without-query-p t)
+ '(slime-startup-animation nil)
+ '(speedbar-frame-parameters (quote ((minibuffer) (width . 40) (border-width . 0) (menu-bar-lines . 0) (tool-bar-lines . 0) (unsplittable . t))))
+ '(speedbar-use-images nil)
+ '(split-height-threshold 1)
+ '(split-width-threshold 10000)
+ '(sql-electric-stuff (quote semicolon))
+ '(sql-sqlite-program "sqlite3")
+ '(template-auto-insert t)
+ '(template-confirm-insecure nil)
+ '(template-subdirectories (quote ("./" "Templates/")))
+ '(term-scroll-to-bottom-on-output t)
+ '(tex-default-mode (quote latex-mode))
+ '(tex-dvi-view-command "xdvi")
+ '(tex-shell-window-height 10)
+ '(tex-show-queue-command " lpq")
+ '(tool-bar-mode nil nil (tool-bar))
+ '(tooltip-delay 0.1)
+ '(tooltip-mode t)
+ '(tooltip-use-echo-area t)
+ '(transient-mark-mode nil)
+ '(truncate-partial-width-windows nil)
+ '(uce-mail-reader (quote gnus))
+ '(uniquify-buffer-name-style (quote forward) nil (uniquify))
+ '(user-mail-address "jon@jrock.us")
+ '(vc-handled-backends (quote (SVK RCS CVS SVN SCCS Arch MCVS GIT)))
+ '(w3-use-unicode-table-characters t)
+ '(w3-user-colors-take-precedence t)
+ '(w3-user-fonts-take-precedence t)
+ '(w3m-accept-languages (quote ("en")))
+ '(w3m-coding-system (quote utf-8))
+ '(w3m-default-coding-system (quote utf-8))
+ '(w3m-default-display-inline-images t)
+ '(w3m-file-coding-system (quote utf-8))
+ '(w3m-file-name-coding-system (quote utf-8))
+ '(w3m-key-binding (quote info))
+ '(w3m-make-new-session t)
+ '(w3m-new-session-in-background t)
+ '(w3m-new-session-url "about:")
+ '(w3m-pop-up-windows nil)
+ '(w3m-terminal-coding-system (quote utf-8))
+ '(w3m-track-mouse nil)
+ '(w3m-use-cookies t)
+ '(w3m-view-this-url-new-session-in-background t)
+ '(wget-download-directory "~/tmp")
+ '(woman-cache-filename "/home/jon/.wmncach.el")
+ '(woman-use-own-frame 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.
+ '(default ((t (:stipple nil :background "black" :foreground "grey90" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 120 :width normal :foundry "bitstream" :family "Bitstream Vera Sans Mono"))))
+ '(cperl-array ((((class color) (background dark)) (:background "navy" :foreground "yellow"))))
+ '(cperl-hash ((((class color) (background dark)) (:background "navy" :foreground "Red"))))
+ '(cperl-hash-face ((((class color) (background dark)) (:background "navy" :foreground "Red" :slant normal :weight bold))))
+ '(cursor ((t (:background "turquoise" :inverse-video t))))
+ '(diff-added ((t (:inherit diff-changed :foreground "green"))))
+ '(diff-hunk-header ((t (:inherit diff-header :foreground "turquoise"))))
+ '(diff-removed ((t (:inherit diff-changed :foreground "red"))))
+ '(erc-button ((t (:underline nil :weight normal))))
+ '(erc-current-nick-face ((t (:foreground "DarkTurquoise" :weight bold))))
+ '(erc-direct-msg-face ((t (:foreground "IndianRed"))))
+ '(erc-header-line ((t (:background "grey90" :foreground "grey20" :inverse-video t))))
+ '(erc-pal-face ((t (:foreground "Magenta" :weight normal))))
+ '(eshell-prompt ((t (:foreground "green" :weight bold))))
+ '(flymake-errline ((((class color)) (:underline "red"))))
+ '(flymake-warnline ((((class color)) (:box (:line-width 2 :color "yellow" :style released-button)))))
+ '(flyspell-duplicate ((t (:inverse-video nil :underline "Gold3" :weight normal))))
+ '(flyspell-duplicate-face ((t (:inverse-video nil :underline "Gold3" :weight normal))) t)
+ '(flyspell-incorrect ((t (:inverse-video nil :underline "OrangeRed"))))
+ '(flyspell-incorrect-face ((t (:inverse-video nil :underline "OrangeRed" :weight normal))) t)
+ '(font-lock-doc-face ((t (:inherit font-lock-string-face :foreground "#ffbbff"))))
+ '(font-lock-regexp-grouping-backslash ((t (:inherit bold :background "grey10"))))
+ '(font-lock-regexp-grouping-construct ((t (:inherit font-lock-regexp-grouping-backslash))))
+ '(gnus-group-mail-3 ((t (:foreground "aquamarine1" :weight bold))))
+ '(js2-error-face ((((class color) (background dark)) (:underline "red"))))
+ '(js2-function-param-face ((t (:inherit font-lock-type-face))))
+ '(message-header-subject ((t (:foreground "#5555ff" :weight bold))))
+ '(message-header-to ((t (:foreground "#3333ff" :weight bold))))
+ '(message-separator ((t (:background "black" :foreground "LightSkyBlue1" :inverse-video t :weight bold))))
+ '(mmm-default-submode-face ((t (:background "black"))))
+ '(mode-line ((t (:background "grey20" :foreground "white" :box (:line-width 1 :color "grey30")))))
+ '(mode-line-buffer-id ((t (:foreground "green"))))
+ '(mode-line-highlight ((((class color) (min-colors 88)) (:box (:line-width 1 :color "grey40")))))
+ '(mode-line-inactive ((default (:inherit mode-line :background "black" :foreground "grey80" :box (:line-width 1 :color "grey20"))) (nil nil)))
+ '(shadow ((((class color grayscale) (min-colors 88) (background dark)) (:foreground "grey40"))))
+ '(sldb-restartable-frame-line-face ((t (:foreground "turquoise"))))
+ '(slime-note-face ((((class color) (background dark)) (:underline "green"))))
+ '(slime-repl-input-face ((t (:inherit default :underline t :weight normal))))
+ '(slime-repl-inputed-output-face ((((class color) (background dark)) (:foreground "green"))))
+ '(slime-repl-output-face ((t (:inherit nil))))
+ '(slime-repl-result-face ((t (:inherit font-lock-type-face))))
+ '(stylish-repl-error-face ((t (:inherit font-lock-warning-face :weight normal))))
+ '(tooltip ((((class color)) (:inherit default :background "lightyellow" :foreground "black"))))
+ '(window-number-face ((nil (:foreground "red")))))
+
+(put 'narrow-to-region 'disabled nil)
15 gitconfig
@@ -0,0 +1,15 @@
+[user]
+ name = Jonathan Rockway
+ email = jon@jrock.us
+ signingkey = 5BF3666D
+[alias]
+ st = status
+ di = diff
+ co = checkout
+ ci = commit
+ br = branch
+ sta = stash
+[color]
+ status = auto
+ branch = auto
+ diff = auto
1  inputrc
@@ -0,0 +1 @@
+set blink-matching-paren on
1  minicpanrc
@@ -0,0 +1 @@
+local: /home/jon/perl/cpan
10 templates/TEMPLATE.PL.tpl
@@ -0,0 +1,10 @@
+use strict;
+use warnings;
+use inc::Module::Install;
+
+name '(>>>POINT<<<)';
+all_from 'lib/';
+
+build_requires 'Test::More';
+
+WriteAll();
19 templates/TEMPLATE.asd.tpl
@@ -0,0 +1,19 @@
+;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
+
+(defpackage #:(>>>ASD-PKG<<<)
+ (:use :cl :asdf))
+
+(in-package #:(>>>ASD-PKG<<<))
+
+(defsystem (>>>PKG<<<)
+ :name "(>>>PKG<<<)"
+ :depends-on ()
+ :components ((:file "package")
+ (>>>POINT<<<)))
+>>>TEMPLATE-DEFINITION-SECTION<<<
+("ASD-PKG"
+ (insert (format "%s-asd"
+ (file-name-sans-extension
+ (file-name-nondirectory (buffer-file-name))))))
+("PKG" (insert (file-name-sans-extension
+ (file-name-nondirectory (buffer-file-name)))))
6 templates/TEMPLATE.pl.tpl
@@ -0,0 +1,6 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use feature ':5.10';
+(>>>POINT<<<)
19 templates/TEMPLATE.pm.tpl
@@ -0,0 +1,19 @@
+package (>>>PACKAGE_NAME<<<);
+use Moose;
+
+(>>>POINT<<<)
+
+1;
+>>>TEMPLATE-DEFINITION-SECTION<<<
+("PACKAGE_NAME"
+ (insert
+ (let ((filename (buffer-file-name)))
+ (if (string-match "lib/\\(.+\\)[.]pm$" filename)
+ (let ((mod (match-string 1 filename)))
+ (while (string-match "/" mod)
+ (setq mod (replace-match "::" nil nil mod)))
+ mod)
+ (if (string-match "\\([^/]+\\)[.]pm$" filename)
+ (match-string 1 filename)
+ "UNKNOWN"))))
+ )
5 templates/TEMPLATE.t.tpl
@@ -0,0 +1,5 @@
+use strict;
+use warnings;
+use Test::More tests => 10;
+
+(>>>POINT<<<)
77 xbindkeysrc.scm
@@ -0,0 +1,77 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Start of xbindkeys guile configuration ;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; This configuration is guile based.
+;; http://www.gnu.org/software/guile/guile.html
+;; any functions that work in guile will work here.
+;; see EXTRA FUNCTIONS:
+
+;; Version: 1.8.2
+
+;; If you edit this file, do not forget to uncomment any lines
+;; that you change.
+;; The semicolon(;) symbol may be used anywhere for comments.
+
+;; To specify a key, you can use 'xbindkeys --key' or
+;; 'xbindkeys --multikey' and put one of the two lines in this file.
+
+;; A list of keys is in /usr/include/X11/keysym.h and in
+;; /usr/include/X11/keysymdef.h
+;; The XK_ is not needed.
+
+;; List of modifier:
+;; Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
+;; Mod3 (CapsLock), Mod4, Mod5 (Scroll).
+
+
+;; The release modifier is not a standard X modifier, but you can
+;; use it if you want to catch release instead of press events
+
+;; By defaults, xbindkeys does not pay attention to modifiers
+;; NumLock, CapsLock and ScrollLock.
+;; Uncomment the lines below if you want to use them.
+;; To dissable them, call the functions with #f
+
+
+;;;;EXTRA FUNCTIONS: Enable numlock, scrolllock or capslock usage
+;;(set-numlock! #t)
+;;(set-scrolllock! #t)
+;;(set-capslock! #t)
+
+;;;;; Scheme API reference
+;;;;
+;; Optional modifier state:
+;; (set-numlock! #f or #t)
+;; (set-scrolllock! #f or #t)
+;; (set-capslock! #f or #t)
+;;
+;; Shell command key:
+;; (xbindkey key "foo-bar-command [args]")
+;; (xbindkey '(modifier* key) "foo-bar-command [args]")
+;;
+;; Scheme function key:
+;; (xbindkey-function key function-name-or-lambda-function)
+;; (xbindkey-function '(modifier* key) function-name-or-lambda-function)
+;;
+;; Other functions:
+;; (remove-xbindkey key)
+;; (run-command "foo-bar-command [args]")
+;; (grab-all-keys)
+;; (ungrab-all-keys)
+;; (remove-all-keys)
+;; (debug)
+
+
+;; Examples of commands:
+
+;; set directly keycode (here control + f with my keyboard)
+;(xbindkey '("m:0x4" "c:41") "xterm")
+
+(define (super key)
+ (list 'mod4 key))
+
+(define Pause 'Pause) ; "c:204"
+(xbindkey Pause "xmms2 toggleplay")
+(xbindkey (super 'Left) "xmms2 prev")
+(xbindkey (super 'Right) "xmms2 next")
+(xbindkey (super Pause) "xmms2 next; xmms2 prev")
23 xinitrc
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+cd $HOME;
+
+export TZ="America/Chicago"
+
+eval `gpg-agent --pinentry-program /usr/bin/pinentry-gtk2 --enable-ssh-support --write-env-file $HOME/.gpg-agent-info --daemon --use-standard-socket`
+. $HOME/.gpg-agent-info
+
+scim -d
+urxvtd -q -f -o
+xmodmap ~/.xmodmaprc
+xbindkeys
+xinput set-button-map Mouse0 1 8 3 4 5 6 7 2 9
+pidof emacs || emacs --daemon &
+unclutter -idle 1 &
+xmms2-launcher &
+. $HOME/utils/irc-ssh.sh
+
+offlineimap -u Noninteractive.Quiet &
+mount /mnt/bingo &
+
+exec xmonad | xmobar ~/.xmonad/mobar.conf
10 xmodmaprc
@@ -0,0 +1,10 @@
+remove Lock = Caps_Lock
+keysym Caps_Lock = Super_L
+
+!! Reverse alt/super
+! clear mod1
+! clear mod4
+! keycode 64 = Super_L
+! keycode 115 = Alt_L Meta_L
+! add mod1 = Alt_L Meta_L
+! add mod4 = Super_L
16 xmonad/mobar.conf
@@ -0,0 +1,16 @@
+Config { font = "-misc-fixed-*-*-*-*-10-*-*-*-*-*-*-*"
+ , bgColor = "black"
+ , fgColor = "grey"
+ , position = Top
+ , commands = [
+ Run Cpu ["-L","10","-H","51","--normal","green","--high","red"] 10
+ , Run Memory ["-t","Mem: <usedratio>%"] 10
+ , Run Swap [] 10
+ , Run Date "%A %B %d %l:%M %p" "date" 10
+ , Run Battery ["-L","30","-H","50","--normal","yellow", "--low", "red"] 10
+ , Run StdinReader
+ ]
+ , sepChar = "%"
+ , alignSep = "}{"
+ , template = "%cpu% %memory% %swap% %battery% } %StdinReader% { <fc=#ee9a00>%date%</fc>"
+ }
274 xmonad/xmonad.hs
@@ -0,0 +1,274 @@
+--
+-- xmonad example config file.
+--
+-- A template showing all available configuration hooks,
+-- and how to override the defaults in your own xmonad.hs conf file.
+--
+-- Normally, you'd only override those defaults you care about.
+--
+
+import XMonad
+import System.Exit
+import XMonad.Actions.NoBorders
+import XMonad.Hooks.ManageDocks
+import XMonad.Hooks.DynamicLog
+import XMonad.Layout.NoBorders
+
+import qualified XMonad.StackSet as W
+import qualified Data.Map as M
+
+-- The preferred terminal program, which is used in a binding below and by
+-- certain contrib modules.
+--
+myTerminal = "urxvtcd"
+
+-- Width of the window border in pixels.
+--
+myBorderWidth = 1
+
+-- modMask lets you specify which modkey you want to use. The default
+-- is mod1Mask ("left alt"). You may also consider using mod3Mask
+-- ("right alt"), which does not conflict with emacs keybindings. The
+-- "windows key" is usually mod4Mask.
+--
+myModMask = mod4Mask
+
+-- The mask for the numlock key. Numlock status is "masked" from the
+-- current modifier status, so the keybindings will work with numlock on or
+-- off. You may need to change this on some systems.
+--
+-- You can find the numlock modifier by running "xmodmap" and looking for a
+-- modifier with Num_Lock bound to it:
+--
+-- > $ xmodmap | grep Num
+-- > mod2 Num_Lock (0x4d)
+--
+-- Set numlockMask = 0 if you don't have a numlock key, or want to treat
+-- numlock status separately.
+--
+myNumlockMask = mod2Mask
+
+-- The default number of workspaces (virtual screens) and their names.
+-- By default we use numeric strings, but any string may be used as a
+-- workspace name. The number of workspaces is determined by the length
+-- of this list.
+--
+-- A tagging example:
+--
+-- > workspaces = ["web", "irc", "code" ] ++ map show [4..9]
+--
+myWorkspaces = ["1","2","3","4","5","6","7","8","9"]
+
+-- Border colors for unfocused and focused windows, respectively.
+--
+myNormalBorderColor = "#dddddd"
+myFocusedBorderColor = "#ff0000"
+
+------------------------------------------------------------------------
+-- Key bindings. Add, modify or remove key bindings here.
+--
+myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
+ -- launch a terminal
+ [ ((modMask .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
+
+ -- launch dmenu
+ , ((modMask, xK_p ), spawn "exe=`dmenu_path | dmenu` && eval \"exec $exe\"")
+
+ -- launch gmrun
+ , ((modMask .|. shiftMask, xK_p ), spawn "gmrun")
+
+ -- close focused window
+ , ((modMask , xK_q ), kill)
+
+ -- Rotate through the available layout algorithms
+ , ((modMask, xK_space ), sendMessage NextLayout)
+
+ -- Reset the layouts on the current workspace to default
+ , ((modMask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf)
+
+ -- Resize viewed windows to the correct size
+ , ((modMask, xK_n ), refresh)
+
+ -- Move focus to the next window
+ , ((modMask, xK_Tab ), windows W.focusDown)
+
+ -- Move focus to the next window
+ , ((modMask, xK_j ), windows W.focusDown)
+
+ -- Move focus to the previous window
+ , ((modMask, xK_k ), windows W.focusUp )
+
+ -- Move focus to the master window
+ , ((modMask, xK_m ), windows W.focusMaster )
+
+ -- Swap the focused window and the master window
+ , ((modMask, xK_Return), windows W.swapMaster)
+
+ -- Swap the focused window with the next window
+ , ((modMask .|. shiftMask, xK_j ), windows W.swapDown )
+
+ -- Swap the focused window with the previous window
+ , ((modMask .|. shiftMask, xK_k ), windows W.swapUp )
+
+ -- Shrink the master area
+ , ((modMask, xK_h ), sendMessage Shrink)
+
+ -- Expand the master area
+ , ((modMask, xK_l ), sendMessage Expand)
+
+ -- Push window back into tiling
+ , ((modMask, xK_t ), withFocused $ windows . W.sink)
+
+ -- Increment the number of windows in the master area
+ , ((modMask , xK_comma ), sendMessage (IncMasterN 1))
+
+ -- Deincrement the number of windows in the master area
+ , ((modMask , xK_period), sendMessage (IncMasterN (-1)))
+
+ -- toggle the status bar gap
+ , ((modMask , xK_b ), sendMessage ToggleStruts)
+
+-- modifyGap (\i n -> let x = (XMonad.defaultGaps conf ++ rep--eat (0,0,0,0)) !! i
+-- in if n == x then (0,0,0,0) else x))
+--
+ -- Restart xmonad
+ , ((modMask .|. shiftMask, xK_q ),
+ broadcastMessage ReleaseResources >> restart "xmonad" True)
+
+ -- remove border from window
+ , ((modMask, xK_g), withFocused toggleBorder)
+
+ ]
+ ++
+
+ --
+ -- mod-[1..9], Switch to workspace N
+ -- mod-shift-[1..9], Move client to workspace N
+ --
+ [((m .|. modMask, k), windows $ f i)
+ | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]
+ , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
+ ++
+
+ --
+ -- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3
+ -- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3
+ --
+ [((m .|. modMask, key), screenWorkspace sc >>= flip whenJust (windows . f))
+ | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]
+ , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]
+
+
+------------------------------------------------------------------------
+-- Mouse bindings: default actions bound to mouse events
+--
+myMouseBindings (XConfig {XMonad.modMask = modMask}) = M.fromList $
+
+ -- mod-button1, Set the window to floating mode and move by dragging
+ [ ((modMask, button1), (\w -> focus w >> mouseMoveWindow w))
+
+ -- mod-button2, Raise the window to the top of the stack
+ , ((modMask, button2), (\w -> focus w >> windows W.swapMaster))
+
+ -- mod-button3, Set the window to floating mode and resize by dragging
+ , ((modMask, button3), (\w -> focus w >> mouseResizeWindow w))
+
+ -- you may also bind events to the mouse scroll wheel (button4 and button5)
+ ]
+
+------------------------------------------------------------------------
+-- Layouts:
+
+-- You can specify and transform your layouts by modifying these values.
+-- If you change layout bindings be sure to use 'mod-shift-space' after
+-- restarting (with 'mod-q') to reset your layout state to the new
+-- defaults, as xmonad preserves your old layout settings by default.
+--
+-- The available layouts. Note that each layout is separated by |||,
+-- which denotes layout choice.
+--
+myLayout = smartBorders( avoidStruts (tiled ||| Mirror tiled ||| Full) )
+ where
+ -- default tiling algorithm partitions the screen into two panes
+ tiled = Tall nmaster delta ratio
+
+ -- The default number of windows in the master pane
+ nmaster = 1
+
+ -- Default proportion of screen occupied by master pane
+ ratio = 1/2
+
+ -- Percent of screen to increment by when resizing panes
+ delta = 3/100
+
+------------------------------------------------------------------------
+-- Window rules:
+
+-- Execute arbitrary actions and WindowSet manipulations when managing
+-- a new window. You can use this to, for example, always float a
+-- particular program, or have a client always appear on a particular
+-- workspace.
+--
+-- To find the property name associated with a program, use
+-- > xprop | grep WM_CLASS
+-- and click on the client you're interested in.
+--
+-- To match on the WM_NAME, you can use 'title' in the same way that
+-- 'className' and 'resource' are used below.
+--
+myManageHook = composeAll
+ [ className =? "MPlayer" --> doFloat
+ , className =? "Gimp" --> doFloat
+ , resource =? "desktop_window" --> doIgnore
+ , resource =? "kdesktop" --> doIgnore ]
+ <+> manageDocks
+
+-- Whether focus follows the mouse pointer.
+myFocusFollowsMouse :: Bool
+myFocusFollowsMouse = True
+
+------------------------------------------------------------------------
+-- Status bars and logging
+
+-- Perform an arbitrary action on each internal state change or X event.
+-- See the 'DynamicLog' extension for examples.
+--
+-- To emulate dwm's status bar
+--
+-- > logHook = dynamicLogDzen
+--
+myLogHook = dynamicLogXmobar
+
+------------------------------------------------------------------------
+-- Now run xmonad with all the defaults we set up.
+
+-- Run xmonad with the settings you specify. No need to modify this.
+--
+main = xmonad defaults
+
+-- A structure containing your configuration settings, overriding
+-- fields in the default config. Any you don't override, will
+-- use the defaults defined in xmonad/XMonad/Config.hs
+--
+-- No need to modify this.
+--
+defaults = defaultConfig {
+ -- simple stuff
+ terminal = myTerminal,
+ focusFollowsMouse = myFocusFollowsMouse,
+ borderWidth = myBorderWidth,
+ modMask = myModMask,
+ numlockMask = myNumlockMask,
+ workspaces = myWorkspaces,
+ normalBorderColor = myNormalBorderColor,
+ focusedBorderColor = myFocusedBorderColor,
+
+ -- key bindings
+ keys = myKeys,
+ mouseBindings = myMouseBindings,
+
+ -- hooks, layouts
+ layoutHook = myLayout,
+ manageHook = myManageHook,
+ logHook = myLogHook
+ }
Please sign in to comment.
Something went wrong with that request. Please try again.