# HG changeset patch # User Steve Losh # Date 1530593706 0 # Node ID c55730194b7036dbb36e55767cb0d4e5e43dba65 # Parent 0e3de710bb6c91a12072c5cbb7fd8c814ad51c4d Tower diff -r 0e3de710bb6c -r c55730194b70 ackrc --- a/ackrc Thu Jun 28 11:10:24 2018 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ ---smart-case ---type-set -log=.log ---type-set -django=.py,.html ---type-set -less=.less ---type-set -vim=.vim ---type-set -puppet=.pp ---type-set -fe=.html,.js,.less ---type-set -fea=.html,.js,.less,.css ---type-set -docs=.markdown,.md,.mdown,.rst ---ignore-dir=public/media/cache ---ignore-dir=public/static/cache ---ignore-dir=build/html ---ignore-dir=docs/build ---ignore-dir=migrations diff -r 0e3de710bb6c -r c55730194b70 bash_profile --- a/bash_profile Thu Jun 28 11:10:24 2018 -0400 +++ b/bash_profile Tue Jul 03 04:55:06 2018 +0000 @@ -15,7 +15,7 @@ fi } -export PATH=~/bin:~/lib/dotfiles/bin:~/lib/dotfiles/roswell:/usr/local/share/python:/usr/local/bin/:$PATH +export PATH=~/bin:~/src/dotfiles/bin:~/src/dotfiles/roswell:/usr/local/share/python:/usr/local/bin/:$PATH alias h='hg' alias g='git' @@ -27,7 +27,6 @@ alias vs='vagrant suspend' alias o='open' alias oo='open .' -alias t='~/lib/t/t.py --task-dir="~/Dropbox/tasks" --list=tasks.txt' function psg() { ps auxww | grep --color=always $* | grep -v grep | collapse | cuts -f 2,11- diff -r 0e3de710bb6c -r c55730194b70 bin/bootstrap.sh --- a/bin/bootstrap.sh Thu Jun 28 11:10:24 2018 -0400 +++ b/bin/bootstrap.sh Tue Jul 03 04:55:06 2018 +0000 @@ -11,51 +11,51 @@ } mkdir -p ~/.config/fish -mkdir -p ~/lib/hg -mkdir -p ~/lib/virtualenvs +mkdir -p ~/src/hg +mkdir -p ~/src/virtualenvs mkdir -p ~/bin mkdir -p ~/src mkdir -p ~/Library/KeyBindings -ensure_link "lib/dotfiles/hgrc" ".hgrc" +ensure_link "src/dotfiles/hgrc" ".hgrc" test -d ~/.hg-git/ || hg clone "bb://durin42/hg-git/" "$HOME/.hg-git" -test -d ~/lib/dulwich || git clone "git://github.com/jelmer/dulwich.git" "$HOME/lib/dulwich" +test -d ~/src/dulwich || git clone "git://github.com/jelmer/dulwich.git" "$HOME/src/dulwich" -ensure_link "lib/dulwich/dulwich" "lib/hg/hg/dulwich" +ensure_link "src/dulwich/dulwich" "src/hg/dulwich" -test -d ~/lib/dotfiles || hg clone http://bitbucket.org/sjl/dotfiles ~/lib/dotfiles +test -d ~/src/dotfiles || hg clone http://bitbucket.org/sjl/dotfiles ~/src/dotfiles -ensure_link "lib/dotfiles/DefaultKeyBinding.dict" "Library/KeyBindings/DefaultKeyBinding.dict" -ensure_link "lib/dotfiles/slate" ".slate" -ensure_link "lib/dotfiles/tmux/tmux.conf" ".tmux.conf" -ensure_link "lib/dotfiles/vim" ".vim" -ensure_link "lib/dotfiles/vim/vimrc" ".vimrc" -ensure_link "lib/dotfiles/gitconfig" ".gitconfig" -ensure_link "lib/dotfiles/ackrc" ".ackrc" -ensure_link "lib/dotfiles/weechat" ".weechat" -ensure_link "lib/dotfiles/urlview" ".urlview" -ensure_link "lib/dotfiles/pentadactylrc" ".pentadactylrc" -ensure_link "lib/dotfiles/vimperatorrc" ".vimperatorrc" -ensure_link "lib/dotfiles/offlineimaprc" ".offlineimaprc" -ensure_link "lib/dotfiles/mutt" ".mutt" -ensure_link "lib/dotfiles/dotjs" ".js" -ensure_link "lib/dotfiles/dotcss" ".css" -ensure_link "lib/dotfiles/hgignore" ".hgignore" -ensure_link "lib/dotfiles/gitignore" ".gitignore" -ensure_link "lib/dotfiles/ffignore" ".ffignore" -ensure_link "lib/dotfiles/agignore" ".agignore" -ensure_link "lib/dotfiles/ctags" ".ctags" -ensure_link "lib/dotfiles/grc" ".grc" -ensure_link "lib/dotfiles/bash_profile" ".bash_profile" -ensure_link "lib/dotfiles/inputrc" ".inputrc" -ensure_link "lib/dotfiles/fish/config.fish" ".config/fish/config.fish" -ensure_link "lib/dotfiles/fish/functions" ".config/fish/functions" -ensure_link "lib/dotfiles/ipython" ".ipython" -ensure_link "lib/dotfiles/sbclrc" ".sbclrc" -ensure_link "lib/dotfiles/eclrc" ".eclrc" -ensure_link "lib/dotfiles/abclrc" ".abclrc" -ensure_link "lib/dotfiles/ccl-init.lisp" ".ccl-init.lisp" +ensure_link "src/dotfiles/DefaultKeyBinding.dict" "Library/KeyBindings/DefaultKeyBinding.dict" +ensure_link "src/dotfiles/slate" ".slate" +ensure_link "src/dotfiles/tmux/tmux.conf" ".tmux.conf" +ensure_link "src/dotfiles/vim" ".vim" +ensure_link "src/dotfiles/vim/vimrc" ".vimrc" +ensure_link "src/dotfiles/gitconfig" ".gitconfig" +ensure_link "src/dotfiles/ackrc" ".ackrc" +ensure_link "src/dotfiles/weechat" ".weechat" +ensure_link "src/dotfiles/urlview" ".urlview" +ensure_link "src/dotfiles/pentadactylrc" ".pentadactylrc" +ensure_link "src/dotfiles/vimperatorrc" ".vimperatorrc" +ensure_link "src/dotfiles/offlineimaprc" ".offlineimaprc" +ensure_link "src/dotfiles/mutt" ".mutt" +ensure_link "src/dotfiles/dotjs" ".js" +ensure_link "src/dotfiles/dotcss" ".css" +ensure_link "src/dotfiles/hgignore" ".hgignore" +ensure_link "src/dotfiles/gitignore" ".gitignore" +ensure_link "src/dotfiles/ffignore" ".ffignore" +ensure_link "src/dotfiles/agignore" ".agignore" +ensure_link "src/dotfiles/ctags" ".ctags" +ensure_link "src/dotfiles/grc" ".grc" +ensure_link "src/dotfiles/bash_profile" ".bash_profile" +ensure_link "src/dotfiles/inputrc" ".inputrc" +ensure_link "src/dotfiles/fish/config.fish" ".config/fish/config.fish" +ensure_link "src/dotfiles/fish/functions" ".config/fish/functions" +ensure_link "src/dotfiles/ipython" ".ipython" +ensure_link "src/dotfiles/sbclrc" ".sbclrc" +ensure_link "src/dotfiles/eclrc" ".eclrc" +ensure_link "src/dotfiles/abclrc" ".abclrc" +ensure_link "src/dotfiles/ccl-init.lisp" ".ccl-init.lisp" echo remember to copy the notmuch-config echo completed diff -r 0e3de710bb6c -r c55730194b70 bin/ccl-vlime --- a/bin/ccl-vlime Thu Jun 28 11:10:24 2018 -0400 +++ b/bin/ccl-vlime Tue Jul 03 04:55:06 2018 +0000 @@ -1,4 +1,4 @@ #!/usr/bin/env bash set -e -ccl --eval "(load \"~/lib/dotfiles/vim/bundle/vlime/lisp/start-vlime.lisp\")" "$@" +ccl --eval "(load \"~/src/dotfiles/vim/bundle/vlime/lisp/start-vlime.lisp\")" "$@" diff -r 0e3de710bb6c -r c55730194b70 bin/sbcl-vlime --- a/bin/sbcl-vlime Thu Jun 28 11:10:24 2018 -0400 +++ b/bin/sbcl-vlime Tue Jul 03 04:55:06 2018 +0000 @@ -1,4 +1,4 @@ #!/usr/bin/env bash set -e -sbcl --eval "(load \"~/lib/dotfiles/vim/bundle/vlime/lisp/start-vlime.lisp\")" "$@" +sbcl --eval "(load \"~/src/dotfiles/vim/bundle/vlime/lisp/start-vlime.lisp\")" "$@" diff -r 0e3de710bb6c -r c55730194b70 bin/sbcl-vlime-raw --- a/bin/sbcl-vlime-raw Thu Jun 28 11:10:24 2018 -0400 +++ b/bin/sbcl-vlime-raw Tue Jul 03 04:55:06 2018 +0000 @@ -1,4 +1,4 @@ #!/usr/bin/env bash set -e -sbcl-raw --eval "(load \"~/lib/dotfiles/vim/bundle/vlime/lisp/start-vlime.lisp\")" "$@" +sbcl-raw --eval "(load \"~/src/dotfiles/vim/bundle/vlime/lisp/start-vlime.lisp\")" "$@" diff -r 0e3de710bb6c -r c55730194b70 dunstrc --- a/dunstrc Thu Jun 28 11:10:24 2018 -0400 +++ b/dunstrc Tue Jul 03 04:55:06 2018 +0000 @@ -6,7 +6,7 @@ indicate_hidden = true # geometry = "x5" idle_threshold = 60 - geometry = "300x5-20+20" + geometry = "300x5-15+30" alignment = left show_age_threshold = 60 sticky_history = yes @@ -35,7 +35,7 @@ [urgency_normal] background = "#94DBFF" foreground = "#000000" - timeout = 25 + timeout = 20 [urgency_critical] background = "#ff9999" diff -r 0e3de710bb6c -r c55730194b70 fish/config.fish --- a/fish/config.fish Thu Jun 28 11:10:24 2018 -0400 +++ b/fish/config.fish Tue Jul 03 04:55:06 2018 +0000 @@ -74,9 +74,9 @@ prepend_to_path "/usr/local/bin" prepend_to_path "/usr/local/sbin" prepend_to_path "/usr/local/MacGPG2/bin" -prepend_to_path "$HOME/lib/dotfiles/roswell" -prepend_to_path "$HOME/lib/dotfiles/bin" -prepend_to_path "$HOME/lib/hg/hg" +prepend_to_path "$HOME/src/dotfiles/roswell" +prepend_to_path "$HOME/src/dotfiles/bin" +prepend_to_path "$HOME/src/hg" prepend_to_path "$HOME/bin" set BROWSER open diff -r 0e3de710bb6c -r c55730194b70 fish/functions/dump.fish --- a/fish/functions/dump.fish Thu Jun 28 11:10:24 2018 -0400 +++ b/fish/functions/dump.fish Tue Jul 03 04:55:06 2018 +0000 @@ -42,7 +42,7 @@ hg -R ~/src/chancery push hg -R ~/src/chancery push git - hg -R ~/lib/dotfiles push + hg -R ~/src/dotfiles push offlineimap -qf INBOX end diff -r 0e3de710bb6c -r c55730194b70 grc/conf.gamecontroller --- a/grc/conf.gamecontroller Thu Jun 28 11:10:24 2018 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -regexp=^usage: -colours=red bold -======= -regexp=^.*creating Socket.*$ -colours=black bold -======= -regexp=^.*tud.gamecontroller.players.RemotePlayer.*$ -colours=black bold -======= -regexp=^.*Sending play messages.*$ -colours=black bold -======= -regexp=^.*current state:.*$ -colours=cyan bold -======= -regexp=^.*reply from .*:.*$ -colours=green -======= -regexp=^.*moves:.*$ -colours=green -======= -regexp=^.*[iI]llegal.*$ -colours=red bold -======= -regexp=^.*Game over!.*$ -colours=cyan diff -r 0e3de710bb6c -r c55730194b70 grc/conf.maven --- a/grc/conf.maven Thu Jun 28 11:10:24 2018 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -regexp=.+ FAILURE!$ -colours=red bold -======= -regexp=^Expected: .+$ -colours=magenta -======= -regexp=^ got: .+$ -colours=magenta -======= -regexp=^ but: .+$ -colours=magenta -======= -regexp= T E S T S -colours=cyan bold -======= -regexp=^Running \w+$ -colours=cyan bold -======= -regexp=^Tests run: \d+, -colours=cyan bold -======= -regexp=^Failed tests: -colours=red bold -======= -regexp=Skipped: \d+, -colours=yellow bold -======= -regexp=(Failures|Errors): \d+, -colours=red bold -======= -regexp=Skipped: 0,? -colours=green bold -======= -regexp=(Failures|Errors): 0, -colours=green bold -======= -regexp=^\[INFO\] .*$ -colours=black bold -======= -regexp=.*logback.classic pattern.* -colours=black bold -======= -regexp=^\[INFO\] BUILD SUCCESS$ -colours=green bold -======= -regexp=^\[INFO\] BUILD FAILURE$ -colours=red bold -======= -regexp=^\[debug\] .*$ -colours=black bold -======= -regexp=^SLF4J: .*$ -colours=black bold -======= -regexp=^log4j:.*$ -colours=black bold diff -r 0e3de710bb6c -r c55730194b70 hgrc --- a/hgrc Thu Jun 28 11:10:24 2018 -0400 +++ b/hgrc Tue Jul 03 04:55:06 2018 +0000 @@ -21,7 +21,7 @@ progress = fetch = shelve = -prompt = ~/lib/dotfiles/mercurial/hg-prompt/prompt.py +prompt = ~/src/dotfiles/mercurial/hg-prompt/prompt.py hggit = ~/.hg-git/hggit [progress] @@ -162,25 +162,25 @@ # Each of these can be used with -v to add a bit more info. # Datelog: short, pretty hg log with dates. -dlog = log --style=$HOME/lib/dotfiles/mercurial/templates/map-cmdline.dlog +dlog = log --style=$HOME/src/dotfiles/mercurial/templates/map-cmdline.dlog _ = dlog -l15 __ = _ -l100000000 -o_ = outgoing -n --style=$HOME/lib/dotfiles/mercurial/templates/map-cmdline.dlog -i_ = incoming -n --style=$HOME/lib/dotfiles/mercurial/templates/map-cmdline.dlog +o_ = outgoing -n --style=$HOME/src/dotfiles/mercurial/templates/map-cmdline.dlog +i_ = incoming -n --style=$HOME/src/dotfiles/mercurial/templates/map-cmdline.dlog # Shortlog: short, pretty hg log. -slog = log --style=$HOME/lib/dotfiles/mercurial/templates/map-cmdline.slog +slog = log --style=$HOME/src/dotfiles/mercurial/templates/map-cmdline.slog . = slog -l15 .. = . -l100000000 -o. = outgoing -n --style=$HOME/lib/dotfiles/mercurial/templates/map-cmdline.slog -i. = incoming -n --style=$HOME/lib/dotfiles/mercurial/templates/map-cmdline.slog +o. = outgoing -n --style=$HOME/src/dotfiles/mercurial/templates/map-cmdline.slog +i. = incoming -n --style=$HOME/src/dotfiles/mercurial/templates/map-cmdline.slog # Short graphlog: short, pretty hg log with a graph. -sglog = glog --style=$HOME/lib/dotfiles/mercurial/templates/map-cmdline.sglog +sglog = glog --style=$HOME/src/dotfiles/mercurial/templates/map-cmdline.sglog , = sglog -l7 ,, = , -l100000000 -o, = outgoing --graph --style=$HOME/lib/dotfiles/mercurial/templates/map-cmdline.sglog -i, = incoming --graph --style=$HOME/lib/dotfiles/mercurial/templates/map-cmdline.sglog +o, = outgoing --graph --style=$HOME/src/dotfiles/mercurial/templates/map-cmdline.sglog +i, = incoming --graph --style=$HOME/src/dotfiles/mercurial/templates/map-cmdline.sglog # Incoming and Outgoing all in one inout = !figlet incoming | lolcat; "$HG" incoming $@; figlet outgoing | lolcat; echo; "$HG" outgoing $@ @@ -188,7 +188,7 @@ # hg n . -- show a summary of rev . without diff. # hg show . -- show a summary of rev . with diff. # hg sl . -- show a summary of rev . with diff, piped to less -nlog = log --style=$HOME/lib/dotfiles/mercurial/templates/map-cmdline.nlog +nlog = log --style=$HOME/src/dotfiles/mercurial/templates/map-cmdline.nlog n = nlog -vr show = nlog --color=always -vpr sl = !"$HG" nlog --color=always -vpr $@ | less -R @@ -233,12 +233,6 @@ # Edit the current repo's hgrc file. erc = !$EDITOR `$HG root`/.hg/hgrc -# Simple bug/todo tracking -# Idea from Justin: http://gist.github.com/464871 -# Install t first: http://bitbucket.org/sjl/t/ -bug = !~/lib/t/t.py --task-dir="`$HG root`" --list=BUGS $@ -todo = !~/lib/t/t.py --task-dir="`$HG root`" --list=TODO $@ - # Easily add ignore patterns to .hgignore and commit. ignore = ![ -n "$@" ] && echo '$@' >> `$HG root`/.hgignore && \ $HG commit `$HG root`/.hgignore -Am 'Add "$@" to .hgignore.' diff -r 0e3de710bb6c -r c55730194b70 stumpwmrc --- a/stumpwmrc Thu Jun 28 11:10:24 2018 -0400 +++ b/stumpwmrc Tue Jul 03 04:55:06 2018 +0000 @@ -6,6 +6,7 @@ ;;;; Config ------------------------------------------------------------------- (set-prefix-key (kbd "C-space")) + (setf *mouse-focus-policy* :click *message-window-gravity* :center *input-window-gravity* :center @@ -42,7 +43,6 @@ (string-trim "%" <>) parse-integer)) - (defun battery () (run-shell-command "acpi -b | awk -F '[ ,]' '{printf \"%s%s\", $3, $5}' | sed s/Discharging// | sed s/Unknown// | sed s/Full// | sed s/Charging/+/" @@ -61,6 +61,21 @@ (apply #'format s args))) +(defun keywordize (string) + (-<> string + (string-trim (string #\newline) <>) + string-upcase + (intern <> (find-package :keyword)))) + +(defparameter *host* (keywordize (run-shell-command "hostname" t))) + +(defmacro ehostcase (&body clauses) + `(ecase *host* ,@clauses)) + +(defmacro hostcase (&body clauses) + `(case *host* ,@clauses)) + + ;;;; Regroup ------------------------------------------------------------------- (defparameter *class-groups* '(("zoom" . "zoom") @@ -147,7 +162,8 @@ do (uiop:run-program `("xrandr" "--output" ,output ,@commands)))) (defcommand vlime () () - (load "~/lib/dotfiles/vim/bundle/vlime/lisp/start-vlime.lisp")) + (load "~/src/dotfiles/vim/bundle/vlime/lisp/start-vlime.lisp") + (message "Started VLIME")) (defcommand toggle-current-mode-line () () (toggle-mode-line (current-screen) (current-head))) @@ -156,10 +172,10 @@ (let ((pass:*password-store* "/home/sjl/Dropbox/password-store/")) (pass:pass-copy))) -(defcommand pass-work () () - (let ((pass:*password-store* "/home/sjl/.password-store-work/") - (pass:*pass* "/home/sjl/lib/dotfiles/bin/pass-work")) - (pass:pass-copy))) +;; (defcommand pass-work () () +;; (let ((pass:*password-store* "/home/sjl/.password-store-work/") +;; (pass:*pass* "/home/sjl/src/dotfiles/bin/pass-work")) +;; (pass:pass-copy))) ;;;; Applications ------------------------------------------------------------- @@ -169,6 +185,12 @@ (defcommand intellij () () (run-or-raise "~/intellij/bin/idea.sh" '(:class "jetbrains-idea-ce"))) +(defcommand browser () () + (run-shell-command + (hostcase + (:bitdumpster "google-chrome") + (t "firefox")))) + ;;;; Key Mapping -------------------------------------------------------------- (defmacro define-top-keys (&body keyforms) @@ -181,8 +203,8 @@ (define-top-keys ;; application shortcuts ("H-m" "exec st") ("H-\\" "pass-personal") - ("H-|" "pass-work") - ("H-b" "exec google-chrome") + ;; ("H-|" "pass-work") + ("H-b" "browser") ("H-o" "spotify") ("H-I" "intellij") ("H-q" "exec slock") @@ -234,24 +256,31 @@ ;;;; Modeline ----------------------------------------------------------------- -(setf - *time-modeline-string* - "%a %b %e %k:%M" - *screen-mode-line-format* - (list "[^B%n^b] %W^>" - "(V " - ;; '(:eval (volume)) - ")" - " " - "(B " - '(:eval (battery)) - ")" - " %d %T")) +(defun configure-modeline () + (setf + *time-modeline-string* + "%a %b %e %k:%M" -(setf *mode-line-timeout* 10) -(setf *mode-line-background-color* "#111111") + *screen-mode-line-format* + (append (list + "[^B%n^b] %W^>" + ;; "(V " + ;; ;; '(:eval (volume)) + ;; ")" + " ") + (hostcase + (:bitdumpster '("(B " + (:eval (battery)) + ")"))) + (list + " %d %T"))) -(ensure-mode-line) + (setf *mode-line-timeout* 10) + (setf *mode-line-background-color* "#111111") + + (ensure-mode-line)) + +(configure-modeline) ;;;; System Tray -------------------------------------------------------------- @@ -261,7 +290,3 @@ (run-shell-command "nm-applet --sm-disable") (run-shell-command "~/.dropbox-dist/dropboxd") (run-shell-command "/usr/bin/dunst -conf ~/.dunstrc") - -;;;; Notifications ------------------------------------------------------------- -;; (load-module "notify") -;; (notify:notify-server-off) diff -r 0e3de710bb6c -r c55730194b70 vim/vimrc --- a/vim/vimrc Thu Jun 28 11:10:24 2018 -0400 +++ b/vim/vimrc Tue Jul 03 04:55:06 2018 +0000 @@ -1323,7 +1323,7 @@ autocmd BufNewFile,BufRead eqlog_*.txt set filetype=eq - vnoremap d ::w !~/lib/dotfiles/bin/eq-dotcount + vnoremap d ::w !~/src/dotfiles/bin/eq-dotcount augroup END " }}} @@ -2587,7 +2587,7 @@ let g:syntastic_scala_checkers = ['scalac', 'scalastyle'] let g:syntastic_scala_checkers = ['fsc'] let g:syntastic_scala_scalastyle_jar = '/usr/local/Cellar/scalastyle/0.8.0/libexec/scalastyle_2.11-0.8.0-batch.jar' -let g:syntastic_scala_scalastyle_config_file = '~/lib/dotfiles/scalastyle_config.xml' +let g:syntastic_scala_scalastyle_config_file = '~/src/dotfiles/scalastyle_config.xml' if has('autocmd') function! FindClasspath(where) diff -r 0e3de710bb6c -r c55730194b70 xsessionrc --- a/xsessionrc Thu Jun 28 11:10:24 2018 -0400 +++ b/xsessionrc Tue Jul 03 04:55:06 2018 +0000 @@ -8,18 +8,18 @@ fi -TRACKPAD=`xinput list | grep 'Elantech Touchpad' | cut -d= -f2 | cut -f1` -SCROLL=`xinput list-props $TRACKPAD | grep 'Natural Scrolling Enabled (' | cut -d\( -f2 | cut -d\) -f1` +# TRACKPAD=`xinput list | grep 'Elantech Touchpad' | cut -d= -f2 | cut -f1` +# SCROLL=`xinput list-props $TRACKPAD | grep 'Natural Scrolling Enabled (' | cut -d\( -f2 | cut -d\) -f1` # CLICK=`xinput list-props $TRACKPAD | grep 'Click Method Enabled (' | cut -d\( -f2 | cut -d\) -f1` -xinput set-prop $TRACKPAD $SCROLL 1 +# xinput set-prop $TRACKPAD $SCROLL 1 # xinput set-prop $TRACKPAD $CLICK 0, 1 -/home/sjl/lib/dotfiles/bin/keysettings -xcape -t 200 -e 'Control_L=Escape' -xautolock -time 15 -locker /usr/bin/slock & +/home/sjl/src/dotfiles/bin/keysettings +# xcape -t 200 -e 'Control_L=Escape' +# xautolock -time 15 -locker /usr/bin/slock & -/usr/bin/dunst -config $HOME/.dunstrc & +# /usr/bin/dunst -config $HOME/.dunstrc & exec /usr/local/bin/stumpwm