PLDMRGXK2L3DF4GLVYJKJNX6F72BPVDVEFUS2K4W44XWYKWR5GIQC
2OES7EJZSZZ3Z7GPXGYJ7O4RCCIXTR3FMXWGNDHKSC3EIFVH6YFAC
GP6AXCERE3ZEABUBKCNHETFSRGPWBXN255SCIS7234KNI7YDIPEAC
ID2EGR57O3IBMJWU6YEKAYOOTBMK3E2OR5GWGNUNJO4VROOOBDJQC
HHLCJKAQVBFPGDR6ZYIAXRNFBESUNXGKFPFUD2CMYZ6DWC3THI7AC
RXCY7LD6ZRIOIKZEYKLMCYPMQPXF4DOEEFBDLVR2B22BXLZJFFBQC
WYODGFC5HQ73OSRTMGFQ64X6ER3HQT5TAW27TH7ZEFJD3JE66QWQC
RCTW4VQVWMZEYSBORRWDV6OPIE63XTYOWYZUADF37S26CLQSBVBQC
YCPRKUMAHYHNGCZF5FYN332QJXYUO7TPEIR5VQ5VMSBVVC3GIW4AC
NLM7RUDTNDVPJK2JELSMKF7UR435LHIDBU3FEQL5XUJVATTES42QC
U6B4KEINSCX7K46ULMCMUQINMAW7CVQKHVV4DF3WDFMZXP6AB6ZQC
AJ7GQ5G7CQ3SDNKVSKZGWVD7C673EUGD5V7FHVPH4BM5SI3Z36GAC
CKE36ZZNBYDD3RZKKP4W3SPBEPLWKRRYOJPDVQA7GYF4BVAQGBRQC
TZW2OC47P423ZY2LWMBVLAPEPJF6MXUGN63YQQBPAF6JG3W7WMDAC
4262KCJHLNE3XCYS2ABUYK7G25SZ7IKMDGWILUS2CU26GFMECPDQC
GYCQG6LZQ3CALPOMOGV4KWDDYSWHQHMANY47O4AFARFVTU7DPCNQC
IIGFHQBUY3EF2A2WZQ2P32HCGJNNEBEIMBAUUVVY3GURRH6JGPJAC
WUTLDZ45C2Q6X72A3QQ2SEX2MRWOTW4WFYGW7655WECZRX4OHD6AC
YR2TRQQAEELAEJLABFCOMUZRYEQE5Q5NIGQFQHQKB7MWM63JZUPQC
NWOVG5T6YWJBCD2RADDZQLJ46TV6OY3DTS5BWEEFHOPSMHD462GAC
XPUW7ZNKIKNUQSCPNU3DT4W4ADHJY3XN5FSK2SNJWLUDVCWIVP5QC
YV3JNCHDYZYHHCSCA5EP4AB3JY7Z77UGR5BAJDONOUDMWQZYULCQC
LLW2FQPVXSBPFNZ3AHXRNLKNPV626QR32TTW53YHTKJTWK2YOUMAC
IMMB6ZKLCUL7UEXN4RGAGXWFIEOAYGBZ73C3R3G2XZX72D4RFMBAC
4VZKUDKGREGRTRYWSPLUEFJZQFWFSFTKVGKENUGBQHVRG3K5JHHQC
vdump_md() {
vpandoc_view markdown "$1"
}
tmux_ps() {
(for s in `tmux list-sessions -F '#{session_name}'` ; do
echo -e "\ntmux session name: $s\n--------------------"
for p in `tmux list-panes -s -F '#{pane_pid}' -t "$s"` ; do
pstree -p -a -A $p
done
done) | eval $PAGER
}
name: xmonad
version: 0.1.0.0
synopsis: Initial project template from stack
description: Please see README.md
homepage: http://github.com/githubuser/xmonad#readme
license: BSD3
license-file: LICENSE
author: Author name here
maintainer: example@example.com
copyright: 2016 Author Here
category: Web
build-type: Simple
-- extra-source-files:
cabal-version: >=1.10
library
hs-source-dirs: src
exposed-modules: Lib
build-depends: base >= 4.7 && < 5
default-language: Haskell2010
executable xmonad-exe
hs-source-dirs: app
main-is: Main.hs
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends: base
, xmonad
default-language: Haskell2010
test-suite xmonad-test
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
build-depends: base
, xmonad
ghc-options: -threaded -rtsopts -with-rtsopts=-N
default-language: Haskell2010
source-repository head
type: git
location: https://github.com/githubuser/xmonad
# For more information, see: http://docs.haskellstack.org/en/stable/yaml_configuration.html
# Specifies the GHC version and set of packages available (e.g., lts-3.5, nightly-2015-09-21, ghc-7.10.2)
resolver: lts-4.0
# Local packages, usually specified by relative directory name
packages:
- '.'
# Packages to be pulled from upstream that are not in the resolver (e.g., acme-missiles-0.3)
extra-deps: []
# Override default flag values for local packages and extra-deps
flags: {}
# Extra package databases containing global packages
extra-package-dbs: []
# Control whether we use the GHC we find on the path
# system-ghc: true
# Require a specific version of stack, using version ranges
# require-stack-version: -any # Default
# require-stack-version: >= 1.0.0
# Override the architecture used by stack, especially useful on Windows
# arch: i386
# arch: x86_64
# Extra directories used by stack for building
# extra-include-dirs: [/path/to/dir]
# extra-lib-dirs: [/path/to/dir]
# Allow a newer minor version of GHC than the snapshot specifies
# compiler-check: newer-minor
eval `ssh-agent`
exec xmonad
gnome-settings-daemon &
eval `gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh`
export GNOME_KEYRING_CONTROL
export SSH_AUTH_SOCK
export GPG_AGENT_INFO
export GNOME_KEYRING_PID
exec ssh-agent /home/edwlan/bin/stumpwm
#exec xmonad
# Path to your oh-my-zsh configuration.
export ZSH=$HOME/.oh-my-zsh
export MPD_HOST=srv2.elangley.org
# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
# Set to this to use case-sensitive completion
# export CASE_SENSITIVE="true"
# Comment this out to disable weekly auto-update checks
# export DISABLE_AUTO_UPDATE="true"
autoload zsh/parameter
# Uncomment following line if you want to disable colors in ls
# export DISABLE_LS_COLORS="true"
# Uncomment following line if you want to disable autosetting terminal title.
#export DISABLE_AUTO_TITLE="true"
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Example format: plugins=(rails git textmate ruby lighthouse)
fpath=(~/.zsh.d/completion ~/.zsh.d/functions $fpath)
plugins=(git rails osx brew zsh-syntax-highlighting python git-extra git-flow battery)
source $ZSH/oh-my-zsh.sh
unsetopt correct_all
echo "done oh-my-zsh"
unalias sp
# Experimenting with disabling oh-my-zsh
#
# # Path to your oh-my-zsh configuration.
# #export ZSH=$HOME/.oh-my-zsh
# #export MPD_HOST=srv2.elangley.org
# #
# #fpath=(~/.zsh.d/completion ~/.zsh.d/functions $fpath)
# #plugins=(git rails osx brew zsh-syntax-highlighting python git-extra git-flow battery)
# #
# #source $ZSH/oh-my-zsh.sh
# #unsetopt correct_all
# #
# #echo "done oh-my-zsh"
# unalias sp
if [ -x /opt/local/bin/fortune ]; then export FORTUNE=/opt/local/bin/fortune
elif [ -x /usr/local/bin/fortune ]; then export FORTUNE=/usr/local/bin/fortune
elif [ -x /usr/games/fortune ]; then export FORTUNE=/usr/games/fortune
else export FORTUNE=/usr/bin/fortune
fi
for p in $PATH; do
_FORTUNE="$PATH/fortune"
if [[ -x "$_FORTUNE" ]]; then
FORTUNE="$_FORTUNE"
break
fi
done
echo -ne "\033]0;${USER}@$HOSTNAME: $1\007"
cmd_name="${(V)1}"
if [ 'fg' = "${${(z)@}[1]}" ]; then
cmd_name="${(vV)jobtexts}"
fi
if [[ "${TERM%%-*}"x == "screen"x ]]; then
echo -ne "\033]0;${cmd_name}\007"
else
echo -ne "\033]0; ${cmd_name} : ${USER}@$HOSTNAME\007"
fi
#export PAGER="/bin/sh -c \"unset PAGER;col -b -x | \
#vim -R -c 'set ft=man nomod nolist' -c 'map q :q<CR>' \
#-c 'map <SPACE> <C-D>' -c 'map b <C-U>' \
#-c 'nmap K :Man <C-R>=expand(\\\"<cword>\\\")<CR><CR>' -\""
export PAGER="less"
export PAGER="less -SiemX"
zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[-._]=** r:|=**' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[-._]=** r:|=**' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[-._]=** r:|=**' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[-._]=** r:|=**'
zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[._]=** r:|=**' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[._]=** r:|=**' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[._]=** r:|=**' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[._]=** r:|=**'
gfind \( \( -name .git -o -name CVS \) -prune \) -o \( -type f \) -print0 | xargs -0 shasum | sort | guniq -w 20 -c | sort -nr
find \( \( -name .git -o -name CVS \) -prune \) -o \( -type f \) -print0 | xargs -0 shasum | sort | uniq -w 20 -c | sort -nr
#set_colors()
#{
#local base03="002b36"
#local base02="073642"
#local base01="586e75"
#local base00="657b83"
#local base0="839496"
#local base1="93a1a1"
#local base2="eee8d5"
#local base3="fdf6e3"
#local yellow="b58900"
#local orange="cb4b16"
#local red="dc322f"
#local magenta="d33682"
#local violet="6c71c4"
#local blue="268bd2"
#local cyan="2aa198"
#local green="859900"
#echo -en "\e]P0${base02}" #black
#echo -en "\e]P8${base03}" #brblack
#echo -en "\e]P1${red}" #red
#echo -en "\e]P9${orange}" #brred
#echo -en "\e]P2${green}" #green
#echo -en "\e]PA${base01}" #brgreen
#echo -en "\e]P3${yellow}" #yellow
#echo -en "\e]PB${base00}" #bryellow
#echo -en "\e]P4${blue}" #blue
#echo -en "\e]PC${base0}" #brblue
#echo -en "\e]P5${magenta}" #magenta
#echo -en "\e]PD${violet}" #brmagenta
#echo -en "\e]P6${cyan}" #cyan
#echo -en "\e]PE${base1}" #brcyan
#echo -en "\e]P7${base2}" #white
#echo -en "\e]PF${base3}" #brwhite
##clear #for background artifacting
#}
#if [ "$TERM" = "linux" ]; then
#set_colors
#fi
#unset -f set_colors
#zprof
(NewSelect Full
(NewSelect Accordion
(NewSelect Circle
(NewSelect SpiralWithDir
(NewSelect
(ModifiedLayout Rename
(ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest))
(NewSelect
(ModifiedLayout Rename (Mirror Accordion))
(NewSelect
(ModifiedLayout Rename (ModifiedLayout Gaps Full))
(NewSelect
(ModifiedLayout Rename DragPane)
(NewSelect (ModifiedLayout Rename Grid)
(NewSelect TwoPane OneBig))))))))))) Word64
base = mthree ||| wide ||| Full ||| Accordion ||| Circle ||| spiral (6/7)
||| myTabbed ||| wideAccordion ||| writingLayout ||| rows ||| grid
||| (TwoPane (3/100) (1/2)) ||| (OneBig (3/4) (3/4))
where
mthree = renamed [Replace "ThreeWide"] $ Mirror threeLayout
wide = renamed [Replace "Wide"] $ Mirror tiled
wideAccordion = renamed [Replace "WideAccordion"] $ Mirror Accordion
grid = renamed [Replace "Gridding"] $ GridRatio (1/2)
rows = renamed [Replace "WritingNew"] $ dragPane Vertical 1 0.5
(NewSelect Full
(NewSelect Accordion
(NewSelect Circle
(NewSelect SpiralWithDir
(NewSelect (ModifiedLayout Rename (ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest))
(NewSelect (ModifiedLayout Rename (Mirror Accordion))
(NewSelect (ModifiedLayout Rename (ModifiedLayout Gaps Full))
(NewSelect (ModifiedLayout Rename DragPane)
(NewSelect (ModifiedLayout Rename Grid)
(NewSelect TwoPane OneBig))))))))))) Word64
base = mthree ||| wide ||| Full ||| Accordion ||| Circle ||| spiral (6/7)
||| myTabbed ||| wideAccordion ||| writingLayout ||| rows ||| grid
||| TwoPane (3/100) (1/2) ||| OneBig (3/4) (3/4)
where
mthree = renamed [Replace "ThreeWide"] $ Mirror threeLayout
wide = renamed [Replace "Wide"] $ Mirror tiled
wideAccordion = renamed [Replace "WideAccordion"] $ Mirror Accordion
grid = renamed [Replace "Gridding"] $ GridRatio (1/2)
rows = renamed [Replace "WritingNew"] $ dragPane Vertical 1 0.5
tmp = onWorkspace "web" (myTabbed ||| Full ||| TwoPane (3/100) (1/2)) $
onWorkspace "terminal" (tiled ||| threeLayout ||| Full) $
onWorkspace "IM" imLayout $
--onWorkspace "images" (gimpLayout ||| tiled ||| threeLayout ||| base) $
tiled ||| threeLayout ||| base
--where
-- gimpLayout = renamed [Replace "gimp"] $ withIM (11/64) (Role "gimp-toolbox") $ ResizableTall 2 (1/118) (11/20) [1]
myLayout = avoidStruts $ smartBorders $
onWorkspace "web" (myTabbed ||| Full ||| (TwoPane (3/100) (1/2))) $
onWorkspace "terminal" (tiled ||| threeLayout ||| Full) $
onWorkspace "IM" imLayout $
onWorkspace "images" (gimpLayout ||| tiled ||| threeLayout ||| base) $
tiled ||| threeLayout ||| base
where
gimpLayout = renamed [Replace "gimp"] $ withIM (11/64) (Role "gimp-toolbox") $ ResizableTall 2 (1/118) (11/20) [1]
myLayout = avoidStruts $ smartBorders tmp
myDzenConfig = (timeout 1 >=> (onCurr (vCenter 100)) >=> (onCurr (hCenter 300)) >=> XMonad.Util.Dzen.font "xft:Source Code Pro:size=20:antialias=true")
myDzenConfig = timeout 1 >=> onCurr (vCenter 100)
>=> onCurr (hCenter 300)
>=> XMonad.Util.Dzen.font "xft:Source Code Pro:size=20:antialias=true"
switchWorkspace :: WorkspaceId -> X ()
switchWorkspace target = do
switchWorkspace :: forall l a s sd a1. (Eq s, Ord a) => ((StackSet String l a s sd -> StackSet String l a s sd) -> X a1)
-> String -> X ()
switchWorkspace ws target = do
makeSwitchComb mod keyList num action = ((getMod mod, keyList !! num), action)
where
getMod Nothing = mod4Mask
getMod (Just mod) = mod4Mask .|. mod
workspaceNames = ["web", "2", "3", "4", "5", "6", "7", "terminal", "images"]
numKeys :: [KeySym]
numKeys = [xK_0, xK_1, xK_2, xK_3, xK_4, xK_5, xK_6, xK_7, xK_8, xK_9]
numPadKeys :: [KeySym]
numPadKeys = [xK_KP_Insert -- 0
, xK_KP_End, xK_KP_Down, xK_KP_Page_Down -- 1, 2, 3
, xK_KP_Left, xK_KP_Begin, xK_KP_Right -- 4, 5, 6
, xK_KP_Home, xK_KP_Up, xK_KP_Page_Up -- 7, 8, 9
]
combForNum keyList action mod n = makeSwitchComb mod keyList n $ action windows $ workspaceNames !! (n-1)
multiMap funs seq = concatMap (`map` seq) funs
workspaceKeys =
bindWorkspaces [
bindNum copyNSwitch shiftMask,
bindNum shiftNSwitch controlMask,
bindNumPad copyNSwitch shiftMask,
bindNumPad shiftNSwitch controlMask,
combForNum numKeys switchWorkspace Nothing,
combForNum numPadKeys switchWorkspace Nothing
] ++ [
((mod4Mask, xK_0), withNthWorkspace greedyView 0),
((mod4Mask .|. shiftMask, xK_0), withNthWorkspace copy 0),
((mod4Mask, head numPadKeys), withNthWorkspace greedyView 0)
]
where
bindNum action = combForNum numKeys action . Just
bindNumPad action = combForNum numPadKeys action . Just
bindWorkspaces = flip multiMap [1..9]
XMonad.workspaces = ["web", "terminal", "1", "2", "3", "4", "5", "6", "images", "IM"]
} `additionalKeys` (
XMonad.workspaces = ["web", "2", "3", "4", "5", "6", "7", "terminal", "images", "IM"]
} `additionalKeys` (workspaceKeys ++
((mod4Mask .|. controlMask, numPadKeys !! 1), shiftNSwitch windows "web" ),
((mod4Mask .|. controlMask, numPadKeys !! 2), shiftNSwitch windows "terminal" ),
((mod4Mask .|. controlMask, numPadKeys !! 3), shiftNSwitch windows "1" ),
((mod4Mask .|. controlMask, numPadKeys !! 4), shiftNSwitch windows "2" ),
((mod4Mask .|. controlMask, numPadKeys !! 5), shiftNSwitch windows "3" ),
((mod4Mask .|. controlMask, numPadKeys !! 6), shiftNSwitch windows "4" ),
((mod4Mask .|. controlMask, numPadKeys !! 7), shiftNSwitch windows "5" ),
((mod4Mask .|. controlMask, numPadKeys !! 8), shiftNSwitch windows "6" ),
((mod4Mask .|. controlMask, numPadKeys !! 9), shiftNSwitch windows "images" ),
((mod4Mask .|. controlMask, xK_1), shiftNSwitch windows "web" ),
((mod4Mask .|. controlMask, xK_2), shiftNSwitch windows "terminal" ),
((mod4Mask .|. controlMask, xK_3), shiftNSwitch windows "1" ),
((mod4Mask .|. controlMask, xK_4), shiftNSwitch windows "2" ),
((mod4Mask .|. controlMask, xK_5), shiftNSwitch windows "3" ),
((mod4Mask .|. controlMask, xK_6), shiftNSwitch windows "4" ),
((mod4Mask .|. controlMask, xK_7), shiftNSwitch windows "5" ),
((mod4Mask .|. controlMask, xK_8), shiftNSwitch windows "6" ),
((mod4Mask .|. controlMask, xK_9), shiftNSwitch windows "images" ),
(((mod4Mask .|. controlMask, xK_q ), spawn "if type xmonad; then xmonad --recompile && xmonad --restart; else xmessage xmonad not in \\$PATH: \"$PATH\"; fi")),
((mod4Mask .|. controlMask, xK_q ), spawn "if type xmonad; then xmonad --recompile && xmonad --restart; else xmessage xmonad not in \\$PATH: \"$PATH\"; fi"),
((mod4Mask, numPadKeys !! 1), switchWorkspace "web" ),
((mod4Mask, numPadKeys !! 2), switchWorkspace "terminal" ),
((mod4Mask, numPadKeys !! 3), switchWorkspace "1" ),
((mod4Mask, numPadKeys !! 4), switchWorkspace "2" ),
((mod4Mask, numPadKeys !! 5), switchWorkspace "3" ),
((mod4Mask, numPadKeys !! 6), switchWorkspace "4" ),
((mod4Mask, numPadKeys !! 7), switchWorkspace "5" ),
((mod4Mask, numPadKeys !! 8), switchWorkspace "6" ),
((mod4Mask, numPadKeys !! 9), switchWorkspace "images" ),
((mod4Mask .|. shiftMask, numPadKeys !! 1), copyNSwitch windows "web" ),
((mod4Mask .|. shiftMask, numPadKeys !! 2), copyNSwitch windows "terminal" ),
((mod4Mask .|. shiftMask, numPadKeys !! 3), copyNSwitch windows "1" ),
((mod4Mask .|. shiftMask, numPadKeys !! 4), copyNSwitch windows "2" ),
((mod4Mask .|. shiftMask, numPadKeys !! 5), copyNSwitch windows "3" ),
((mod4Mask .|. shiftMask, numPadKeys !! 6), copyNSwitch windows "4" ),
((mod4Mask .|. shiftMask, numPadKeys !! 7), copyNSwitch windows "5" ),
((mod4Mask .|. shiftMask, numPadKeys !! 8), copyNSwitch windows "6" ),
((mod4Mask .|. shiftMask, numPadKeys !! 9), copyNSwitch windows "images" ),
((mod4Mask .|. shiftMask, xK_1), copyNSwitch windows "web" ),
((mod4Mask .|. shiftMask, xK_2), copyNSwitch windows "terminal" ),
((mod4Mask .|. shiftMask, xK_3), copyNSwitch windows "1" ),
((mod4Mask .|. shiftMask, xK_4), copyNSwitch windows "2" ),
((mod4Mask .|. shiftMask, xK_5), copyNSwitch windows "3" ),
((mod4Mask .|. shiftMask, xK_6), copyNSwitch windows "4" ),
((mod4Mask .|. shiftMask, xK_7), copyNSwitch windows "5" ),
((mod4Mask .|. shiftMask, xK_8), copyNSwitch windows "6" ),
((mod4Mask .|. shiftMask, xK_9), copyNSwitch windows "images" ),
((mod4Mask, xK_1), switchWorkspace "web" ),
((mod4Mask, xK_2), switchWorkspace "terminal" ),
((mod4Mask, xK_3), switchWorkspace "1" ),
((mod4Mask, xK_4), switchWorkspace "2" ),
((mod4Mask, xK_5), switchWorkspace "3" ),
((mod4Mask, xK_6), switchWorkspace "4" ),
((mod4Mask, xK_7), switchWorkspace "5" ),
((mod4Mask, xK_8), switchWorkspace "6" ),
((mod4Mask, xK_9), switchWorkspace "images" ),
((mod4Mask, xK_q), ((withSelectedWindow $ windows . W.focusWindow) defaultGSConfig) >> (windows $ W.shiftMaster)),
((mod4Mask, xK_q), (withSelectedWindow $ windows . W.focusWindow) defaultGSConfig >> windows W.shiftMaster),
((mod4Mask, xK_w), gridselectWorkspace defaultGSConfig (\ws -> greedyView ws))
((mod4Mask, xK_w), gridselectWorkspace defaultGSConfig greedyView),
((mod4Mask, xK_Left), onPrevNeighbour W.view),
((mod4Mask, xK_Right), onNextNeighbour W.view)
++ zip (zip (repeat (mod4Mask)) ([xK_0])) (map (withNthWorkspace greedyView) [0..])
++ zip (zip (repeat (mod4Mask .|. shiftMask)) ([xK_0])) (map (withNthWorkspace copy) [0..])
++ zip (zip (repeat (mod4Mask)) (map (numPadKeys !!) ([0]))) (map (withNthWorkspace greedyView) [0..])
((mod4Mask .|. mod1Mask, xK_3), namedScratchpadAction scratchpads "irc"),
((mod4Mask .|. mod1Mask, numPadKeys !! 3), namedScratchpadAction scratchpads "irc"),
--((mod4Mask .|. mod1Mask, xK_3), namedScratchpadAction scratchpads "irc"),
--((mod4Mask .|. mod1Mask, numPadKeys !! 3), namedScratchpadAction scratchpads "irc"),
numPadKeys :: [KeySym]
numPadKeys = [xK_KP_Insert -- 0
, xK_KP_End, xK_KP_Down, xK_KP_Page_Down -- 1, 2, 3
, xK_KP_Left, xK_KP_Begin, xK_KP_Right -- 4, 5, 6
, xK_KP_Home, xK_KP_Up, xK_KP_Page_Up -- 7, 8, 9
]
let g:lisp_rainbow=1
let g:pandoc_no_empty_implicits=1
let g:pandoc_use_hard_wraps = 1
let g:pandoc#modules#enabled = ["formatting", "folding", "completion", "metadata","menu"]
let g:pandoc#modules#disabled = ["command", "bibliographies"]
let g:pandoc_formatting_settings = "h"
let g:pandoc#filetypes#handled = ["markdown", "rst", "textile"]
let g:slimv_disable_clojure=1
let g:lisp_rainbow=1
"let g:pandoc_no_empty_implicits=1
"let g:pandoc_use_hard_wraps = 1
"let g:pandoc#modules#enabled = ["formatting", "folding", "completion", "metadata","menu"]
"let g:pandoc#modules#disabled = ["command", "bibliographies"]
"let g:pandoc_formatting_settings = "h"
"let g:pandoc#filetypes#handled = ["markdown", "rst", "textile"]
NeoBundle 'altercation/vim-colors-solarized'
NeoBundle 'bitc/vim-hdevtools'
NeoBundle 'Blackrush/vim-gocode'
NeoBundle 'bling/vim-airline'
NeoBundle 'burnettk/vim-angular'
NeoBundle 'christoomey/vim-tmux-navigator'
NeoBundle 'curist/vim-angular-template'
NeoBundle 'eagletmt/ghcmod-vim'
NeoBundle 'eagletmt/neco-ghc'
NeoBundle 'edsono/vim-matchit'
"NeoBundle 'enomsg/vim-haskellConcealPlus'
NeoBundle 'exu/pgsql.vim'
NeoBundle 'fiddlerwoaroof/htmljinja'
NeoBundle 'fiddlerwoaroof/vim-jinja'
NeoBundle 'godlygeek/tabular'
NeoBundle 'groenewege/vim-less'
NeoBundle 'guns/vim-clojure-static'
NeoBundle 'ivanov/vim-ipython'
NeoBundle 'jmcantrell/vim-virtualenv'
NeoBundle 'kien/rainbow_parentheses.vim'
NeoBundle 'kovisoft/slimv'
NeoBundle 'lukerandall/haskellmode-vim'
"NeoBundle 'm2mdas/phpcomplete-extended'
NeoBundle 'markcornick/vim-vagrant'
NeoBundle 'matthewsimo/angular-vim-snippets'
NeoBundle 'mattn/emmet-vim.git'
NeoBundle 'msanders/snipmate.vim'
NeoBundle 'othree/javascript-libraries-syntax.vim'
NeoBundle 'pangloss/vim-javascript'
NeoBundle 'raichoo/haskell-vim'
"NeoBundle 'rking/ag.vim' "Ag search utility
NeoBundle 'rust-lang/rust.vim'
NeoBundle 'scrooloose/nerdcommenter'
NeoBundle 'scrooloose/nerdtree'
NeoBundle 'scrooloose/syntastic'
NeoBundle 'Shougo/unite-outline'
NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/vimfiler.vim'
NeoBundle 'Shougo/vimproc'
NeoBundle 'Shougo/vimshell.vim'
NeoBundle 'sjl/gundo.vim'
NeoBundle 'sjl/vitality.vim'
NeoBundle 'sophacles/vim-bundle-mako'
NeoBundle 'terryma/vim-multiple-cursors'
NeoBundle 'tpope/vim-fireplace'
NeoBundle 'tpope/vim-fugitive'
NeoBundle 'tpope/vim-repeat'
NeoBundle 'tpope/vim-surround'
NeoBundle 'Twinside/vim-haskellFold'
NeoBundle 'Twinside/vim-hoogle'
"NeoBundle 'Valloric/YouCompleteMe'
NeoBundle 'vim-pandoc/vim-pandoc'
NeoBundle 'vim-scripts/dbext.vim'
NeoBundle 'vim-scripts/php.vim--Garvin'
NeoBundle 'vim-scripts/pydoc.vim'
NeoBundle 'vim-scripts/VimClojure'
NeoBundle 'vim-voom/VOoM'
NeoBundle 'ytsunetsune/unite-outline-euslisp'
NeoBundle 'mustache/vim-mustache-handlebars'
NeoBundle 'davidoc/taskpaper.vim'
NeoBundle 'altercation/vim-colors-solarized'
NeoBundle 'bitc/vim-hdevtools'
NeoBundle 'Blackrush/vim-gocode'
NeoBundle 'bling/vim-airline'
NeoBundle 'bling/vim-airline-themes'
NeoBundle 'burnettk/vim-angular'
NeoBundle 'christoomey/vim-tmux-navigator'
NeoBundle 'curist/vim-angular-template'
NeoBundle 'eagletmt/ghcmod-vim'
NeoBundle 'eagletmt/neco-ghc'
NeoBundle 'edsono/vim-matchit'
"NeoBundle 'enomsg/vim-haskellConcealPlus'
NeoBundle 'exu/pgsql.vim'
NeoBundle 'fiddlerwoaroof/htmljinja'
NeoBundle 'fiddlerwoaroof/vim-jinja'
NeoBundle 'godlygeek/tabular'
NeoBundle 'groenewege/vim-less'
NeoBundle 'guns/vim-clojure-static'
NeoBundle 'ivanov/vim-ipython'
NeoBundle 'jmcantrell/vim-virtualenv'
NeoBundle 'kien/rainbow_parentheses.vim'
NeoBundle 'kovisoft/slimv'
NeoBundle 'lukerandall/haskellmode-vim'
"NeoBundle 'm2mdas/phpcomplete-extended'
NeoBundle 'markcornick/vim-vagrant'
NeoBundle 'matthewsimo/angular-vim-snippets'
NeoBundle 'mattn/emmet-vim.git'
NeoBundle 'msanders/snipmate.vim'
NeoBundle 'othree/javascript-libraries-syntax.vim'
NeoBundle 'pangloss/vim-javascript'
NeoBundle 'raichoo/haskell-vim'
"NeoBundle 'rking/ag.vim' "Ag search utility
NeoBundle 'rust-lang/rust.vim'
NeoBundle 'scrooloose/nerdcommenter'
NeoBundle 'scrooloose/nerdtree'
NeoBundle 'scrooloose/syntastic'
NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/unite-outline'
NeoBundle 'tsukkee/unite-tag'
NeoBundle 'Shougo/vimfiler.vim'
NeoBundle 'Shougo/vimproc'
NeoBundle 'Shougo/vimshell.vim'
NeoBundle 'sjl/gundo.vim'
NeoBundle 'sjl/vitality.vim'
NeoBundle 'sophacles/vim-bundle-mako'
NeoBundle 'terryma/vim-multiple-cursors'
NeoBundle 'tpope/vim-fireplace'
NeoBundle 'tpope/vim-fugitive'
NeoBundle 'tpope/vim-repeat'
NeoBundle 'tpope/vim-surround'
NeoBundle 'Twinside/vim-haskellFold'
NeoBundle 'Twinside/vim-hoogle'
"NeoBundle 'Valloric/YouCompleteMe'
"NeoBundle 'vim-pandoc/vim-pandoc'
NeoBundle 'vim-scripts/dbext.vim'
NeoBundle 'vim-scripts/php.vim--Garvin'
NeoBundle 'vim-scripts/pydoc.vim'
NeoBundle 'vim-scripts/VimClojure'
NeoBundle 'vim-voom/VOoM'
NeoBundle 'ytsunetsune/unite-outline-euslisp'
NeoBundle 'xolox/vim-misc'
NeoBundle 'xolox/vim-easytags'
NeoBundle 'majutsushi/tagbar'
let g:lisp_rainbow=1
let g:pandoc_no_empty_implicits=1
let g:pandoc_use_hard_wraps = 1
let g:pandoc#modules#enabled = ["formatting", "folding", "completion", "metadata","menu"]
let g:pandoc#modules#disabled = ["command", "bibliographies"]
let g:pandoc_formatting_settings = "h"
let g:pandoc#filetypes#handled = ["markdown", "rst", "textile"]
let g:lisp_rainbow=1
"let g:pandoc#filetypes#handled = ["markdown", "rst", "textile"]
"let g:pandoc_formatting_settings = "h"
"let g:pandoc#modules#disabled = ["command", "bibliographies"]
"let g:pandoc#modules#enabled = ["formatting", "folding", "completion", "metadata","menu"]
"let g:pandoc_no_empty_implicits=1
"let g:pandoc_use_hard_wraps = 1
autocmd FileType markdown set linebreak tw=110 noexpandtab nosmartindent autoindent
autocmd FileType pandoc set linebreak tw=110 noexpandtab nosmartindent autoindent
autocmd FileType pantondoc set linebreak tw=110 noexpandtab nosmartindent autoindent
autocmd FileType markdown set linebreak tw=110 noexpandtab nosmartindent autoindent spelllang=en spell
"autocmd FileType pandoc set linebreak tw=110 noexpandtab nosmartindent autoindent
"autocmd FileType pantondoc set linebreak tw=110 noexpandtab nosmartindent autoindent
(in-package :stumpwm)
(eval-when (:load-toplevel :compile-toplevel :execute)
(load "~/quicklisp/setup.lisp")
(ql:quickload :swank))
(defcommand start-swank () ()
(swank:start-server :port 4587 :dont-close t))
(set-prefix-key (kbd "s-space"))
(defparameter *browser-command* "/usr/bin/google-chrome-beta")
(defun cat (&rest strings)
(apply 'concatenate 'string strings))
(defgeneric get-search-url (provider &rest strings)
(:method-combination append :most-specific-last)
(:method :around (provider &rest r)
(declare (ignore r))
(apply #'concatenate 'string (call-next-method)))
(:method append (provider &rest r)
(declare (ignore r))
(list "https://duckduckgo.com/?q="))
(:method append ((provider (eql nil)) &rest strings)
(list* (car strings) (loop for string in (cdr strings) nconcing (list "+" string))))
(:method append ((provider (eql :google)) &rest strings)
(list* "%21google" (loop for string in strings nconcing (list "+" string)))))
(defmacro add-provider (name ddg-shortcut)
`(defmethod get-search-url append ((provider (eql ,name)) &rest strings)
(list* (concatenate 'string "%21" ,ddg-shortcut)
(loop for string in strings nconcing (list "+" string)))))
(defmacro add-providers (&body definitions)
`(progn
,@(loop for (name shortcut) in definitions
collect `(add-provider ,name ,shortcut))))
(add-providers
(:amazon "a")
(:php "php")
(:python "python")
(:stack-overflow "sof")
(:lisp "lisp")
(:wikipedia "w"))
(defcommand google (provider search-string) ((:string "Search Provider? ") (:string "Search Google for: "))
"Search google for a given string"
(check-type search-string (or null string))
(when search-string)
(run-shell-command (cat *browser-command* " "
(get-search-url :google (substitute #\+ #\space search-string)))))
(defcommand do-search (provider search-string) ((:string "Provider: ") (:string "Search for: "))
"Run a search against a specified provider"
(check-type provider (or null string))
(check-type search-string (or null string))
(when (and provider search-string)
(let ((provider (intern (string-upcase provider) :keyword)))
(run-shell-command (cat *browser-command* " "
(get-search-url provider (substitute #\+ #\space search-string)))))))
(defcommand google (search-string) ((:string "Search Google for: "))
"Search google for a given string"
(check-type search-string (or null string))
(when search-string
(run-shell-command (cat *browser-command* " "
(get-search-url :google (substitute #\+ #\space search-string))))))
(defcommand duckduckgo (search-string) ((:string "Search DDG for: "))
"Search duckduckgo gor a given string"
(check-type search-string (or null string))
(when search-string
(run-shell-command (cat *browser-command* " "
(get-search-url nil (substitute #\+ #\space search-string))))))
(defcommand search-for-selection (provider) ((:string "Search Provider?"))
"Search for the x selection with provider"
(do-search provider (get-x-selection)))
(defparameter *selection-search-map* nil "selection search map")
(fill-keymap *selection-search-map*
(kbd "g") "search-for-search google"
(kbd "/") "search-for-search google"
(kbd "s-/") "search-for-search google"
(kbd "l") "search-for-selection lisp")
(defparameter *search-map* nil "search map")
(fill-keymap *search-map*
(kbd "a") "do-search amazon"
(kbd "h") "do-search php"
(kbd "p") "do-search python"
(kbd "o") "do-search stack-overflow"
(kbd "y") "do-search youtube"
(kbd "l") "do-search lisp"
(kbd "w") "do-search wikipedia"
(kbd "d") "do-search duckduckgo"
(kbd "g") "do-search google"
(kbd "s") *selection-search-map*
(kbd "/") "do-search google"
(kbd "Return") "search-for-selection google"
(kbd "s-/") "do-search google")
(define-key *top-map* (kbd "s-/") *search-map*)
(define-key *top-map* (kbd "s-TAB") "fnext")
(define-key *top-map* (kbd "s-ISO_Left_Tab") "fother")
; vim: set ft=lisp: