Some major revisions as i have recently replaced my desktop. Namely:

* switched to systemd for user level daemons and startup programs originally run from .xinitrc
 * beefed up the logout menu implemented by .bin/xmonadClose.sh to support pretty well all
   windows-managers (with some minor modification) and now with support for suspend and hibernate

.Xdefaults:
  * did a little rearrangement to make things pretty
  * added the clipboard extension
.authinfo.gpg:
.authinfo-cd.gpg:
  * encrypted authinfo files for gnus (emacs)
.bash_profile:
  * now checks if ~/.bashrc is a file and then executes it instead of just assuming
.bashrc:
  * added a few new aliases
  * modified path to include ~/.bin
.bin/xmonadClose.sh:
  * now supports pretty well any window manager with minor modification (just edit the
    actionNames and actionExecs arrays respective elements)
  * now brings up a dmenu options menu to select one of cancel, logout, suspend, hybrid-sleep,
    hibernate, or shutdown
  * uses xdotool to send a hidden 'kill switch' to xmonad upon 'logout'
  * uses systemctl to suspend, hybrid-sleep and hibernate
  * uses the classic shutdown command for shutdown
.config/mc/:
  * moved the config files from .mc
.config/systemd/user/:
  * all user instance systemd service files go here

  default.target.wants/:
   * contains a symbolic link to all the currently enabled service files

  emacs.service:
   * starts the emacs daemon
  mpd.service:
   * starts a user level instance of mpd using the config ~/.mpdconf
  udiskie.service:
   * starts udiskie (a user level daemon for automounted media using udisk)
  urxvtd.service:
   * starts the urxvt daemon
  unclutter.service:
   * starts the uncluttered program
  trayer.service:
   * starts trayer using the options:
      --monitor 1 --edge top --align right --expand true --width 4 --height 2 --transparent true --tint 0x000000
  xbindkeys.service:
   * starts xbindkeys
  xcompmgr.service:
   * starts xcompmgr
  xscreensaver.service:
   * starts xscreensaver
.emacs:
  * added support for magit
  * added support for ipython
  * dropped in ELPA version of swank-clojure in place of the AUR version
  * preparing to use babel (part of org more for use with code)
  * upgraded yas to the most recent version from ELPA; need to smooth out some minor issues
  * python-mode is currently commented out in config but working; dropped in ELPA version in
    place of the AUR version i had previous
  * disabled gieser (in the process of dropping in the ELPA version..just ran into some hitch)
  * add a template for ruby to .emacs.d/templates
.mpdconf:
  * user instance mpd config
.screenrc:
  * re-enabled ncmpcpp in place of cmus as i'm using mpd now
  * disable mc in screen because it doesn't start correctly; mc is available through my xmonad
    scratchpad "mc"
.vimrc:
  * enabled syntax highlighting
.xbindkeysrc:
  * switched music keybindings from cmus-remote commands to there respective mpc commands
  * switched www key to conkeror in place of firefox
.xinitrc:
  * use systemd --user to run a user instance of systemd to run startup programs generally
    run from this script. The programs i have written unit files are specified above and left
    as comments in this file.
.xmobarrc:
  * my ethernet interface is now called 'eno1' not 'eth0'
  * TODO: need to setup wireless status xmobar widget for 'wlp7s0'
.xmonad/xmonad.hs:
  * added keybinding for auto-umounting any disk auto-mounted by udiskie (Mod+shift+control u)
  * now using new .bin/xmonadClose.sh to kill session in a few different ways (Mod+shift q)
  * added a keybinding to toggle the status bar (xmobar) using (Mod b)
  * added better support for some full screen games: supertux2, doom3, steam and hl2
  * set opacity on all emacs and gvim windows to 13/16 (btw this is done for urxvt using a
    property in .Xdefaults
.xscreensaver:
  * an auto-generated file by xscreensaver-demo; may consider removing in the future as it can
    always be auto-generated but its nice to have all my screensavers saved and ready
.xsession:
  * not currently using since i use slim but here for compatibility with gdm,kdm and other de's
.zshrc:
  * some auto-generated changes thanks to compinstall
  * added a few new aliases
  * modified path to include ~/.bin

Signed-off-by: Collin Doering <rekahsoft@gmail.com>
This commit is contained in:
Collin J. Doering 2013-03-10 23:26:58 -04:00 committed by Collin J. Doering
parent 5cd2b23713
commit 28602aa7ed
50 changed files with 2072 additions and 77 deletions

View File

@ -4,12 +4,14 @@ URxvt.cursorColor: green
URxvt.underlineColor: yellow
URxvt.font: xft:Bitstream Vera Sans Mono:pixelsize=12:antialias=false
URxvt.boldFont: xft:Bitstream Vera Sans Mono:bold:pixelsize=13:antialias=false
URxvt.perl-ext-common: default,tabbedex,url-select,keyboard-select,matcher
URxvt.matcher.button: 1
URxvt.scrollstyle: plain
URxvt.perl-ext-common: default,clipboard,tabbedex,url-select,keyboard-select,matcher
URxvt.keysym.M-u: perl:url-select:select_next
URxvt.urlLauncher: /usr/bin/conkeror
URxvt.underlineURLs: true
URxvt.matcher.button: 1
URxvt.scrollstyle: plain
URxvt.keysym.M-Escape: perl:keyboard-select:activate
URxvt.keysym.M-s: perl:keyboard-select:search

View File

@ -1,4 +1,4 @@
. $HOME/.bashrc
[[ -f ~/.bashrc ]] && . ~/.bashrc
# Create variable GENERAL_SCREEN which is the pid of one or more screens called "general"
export GENERAL_SCREEN=`screen -ls | grep general | cut -f1 -d'.' | sed 's/\W//g'`

View File

@ -8,10 +8,13 @@ alias grep='grep --color=auto'
alias fgrep='fgrep --color-auto'
alias egrep='egrep --color-auto'
alias ncmpc='ncmpc -c'
alias pacman='pacman-color'
alias knk='knock rekahsoft-mini 7713:tcp 1377:udp && sleep 3s && '
alias knkc='knk ssh rekahsoft-mini '
alias skreen='screen -c /dev/null'
alias tranr='transmission-remote'
alias sctl='sudo systemctl'
alias ctlu='systemctl --user'
export GREP_COLOR="1;33"
alias grep='grep --color=auto'
@ -20,6 +23,9 @@ alias grep='grep --color=auto'
export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
export LESS=' -R '
# Set text/background colors for ls
export LS_COLORS="di=01;37"
PS1='[\u@\h: \w]\$ '
# Turn off noscroll
@ -29,7 +35,7 @@ stty stop undef
# * mathematica / tools
# * nxclient / associated tools
# * maven tools
export PATH=${PATH}:/usr/local/bin:/opt/maven/bin:/opt/NX/bin:/home/collin/.cabal/bin
export PATH=${PATH}:/usr/local/bin:/opt/maven/bin:/opt/NX/bin:/home/collin/.cabal/bin:/home/collin/.bin
# start keychain
eval `keychain --eval --timeout 10 --quiet --agents ssh id_rsa`

View File

@ -18,7 +18,42 @@
# File: xmonadClose.sh
# Author: Collin J. Doering <rekahsoft@gmail.com>
# Date: May 13, 2011
# Description: A simple script to allow a nice dmenu gui when logging out,
# shutting down, or rebooting
# TODO: * Support sleep and hibernate
# * Needs to check whether a reboot/shutdown is allowed (user must be in the group
# 'power' and must be the only user logged in or they will be prompted for sudo's
# password to override)
# * re-write in haskell direct into ~/.xmonad/xmonad.hs using the dmenu extension(?)
# - issue with that is then the script could only be used within xmonad
# - perhaps consider taking a second argument when logout is passed as the first
# so that the second argument could be used as a 'logout command' and thus
# this script could be used with any wm
if [[ `echo "" | dmenu -b -i -nb '#040404' -nf '#525252' -sf '#ffa0ff' -sb '#000000' -p "Do you really want to close XMonad? [yes/no]: "` == 'yes' ]]; then
xdotool key super+control+shift+End
fi
actionNames=(cancel logout suspend hibernate hybrid-sleep shutdown)
actionExecs=(""
"xdotool key super+control+shift+End"
"xscreensaver-command -lock && systemctl suspend"
"xscreensaver-command -lock && systemctl hibernate"
"xscreensaver-command -lock && systemctl hybrid-sleep"
"shutdown -h now")
# Ask the user whether they want to logout, cancel, suspend, hibernate, hybrid-sleep, shutdown
ask=`echo ${actionNames[*]} | tr ' ' '\n' | dmenu -b -i -nb '#040404' -nf '#525252' -sf '#ffa0ff' -sb '#000000'`
case "$ask" in
logout|suspend|hibernate|hybrid-sleep|shutdown)
if [[ `echo "" | dmenu -b -i -nb '#040404' -nf '#525252' -sf '#ffa0ff' -sb '#000000' -p "Are you sure you want to $ask? [yes/no] "` == 'yes' ]]; then
for ((i=0; i < ${#actionNames[*]}; i++)); do
if [[ "$ask" == "${actionNames[$i]}" ]]; then
sh -c "${actionExecs[$i]}"
break
fi
done
fi
break
;;
cancel|*)
# Do nothing; the user entered cancel or a invalid input
;;
esac

684
.config/mc/bindings Normal file
View File

@ -0,0 +1,684 @@
# Midnight Commander 3.0 extension file
# Warning: Structure of this file has changed completely with version 3.0
#
# All lines starting with # or empty lines are thrown away.
# Lines starting in the first column should have following format:
#
# keyword/descNL, i.e. everything after keyword/ until new line is desc
#
# keyword can be:
#
# shell (desc is, when starting with a dot, any extension (no wildcars),
# i.e. matches all the files *desc . Example: .tar matches *.tar;
# if it doesn't start with a dot, it matches only a file of that name)
#
# regex (desc is an extended regular expression)
# Please note that we are using the GNU regex library and thus
# \| matches the literal | and | has special meaning (or) and
# () have special meaning and \( \) stand for literal ( ).
#
# type (file matches this if `file %f` matches regular expression desc
# (the filename: part from `file %f` is removed))
#
# directory (matches any directory matching regular expression desc)
#
# include (matches an include directive)
#
# default (matches any file no matter what desc is)
#
# Other lines should start with a space or tab and should be in the format:
#
# keyword=commandNL (with no spaces around =), where keyword should be:
#
# Open (if the user presses Enter or doubleclicks it),
#
# View (F3), Edit (F4)
#
# Include is the keyword used to add any further entries from an include/
# section
#
# command is any one-line shell command, with the following substitutions:
#
# %% -> % character
# %p -> name of the current file (without path, but pwd is its path)
# %f -> name of the current file. Unlike %p, if file is located on a
# non-local virtual filesystem, i.e. either tarfs or ftpfs,
# then the file will be temporarily copied into a local directory
# and %f will be the full path to this local temporal file.
# If you don't want to get a local copy and want to get the
# virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then
# use %d/%p instead of %f.
# %d -> name of the current directory (pwd, without trailing slash)
# %s -> "selected files", i.e. space separated list of tagged files if any
# or name of the current file
# %t -> list of tagged files
# %u -> list of tagged files (they'll be untaged after the command)
#
# (If these 6 letters are in uppercase, they refer to the other panel.
# But you shouldn't have to use it in this file.)
#
#
# %cd -> the rest is a path mc should change into (cd won't work, since it's
# a child process). %cd handles even vfs names.
#
# %view -> the command you type will be piped into mc's internal file viewer
# if you type only the %view and no command, viewer will load %f file
# instead (i.e. no piping, so it is different to %view cat %f)
# %view may be directly followed by {} with a list of any of
# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for
# text using backspace for bold and underscore) and unform
# (no highlighting for nroff sequences) separated by commas.
#
# %var -> You use it like this: %var{VAR:default}. This macro will expand
# to the value of the VAR variable in the environment if it's set
# otherwise the value in default will be used. This is similar to
# the Bourne shell ${VAR-default} construct.
#
# Rules are applied from top to bottom, thus the order is important.
# If some actions are missing, search continues as if this target didn't
# match (i.e. if a file matches the first and second entry and View action
# is missing in the first one, then on pressing F3 the View action from
# the second entry will be used. default should catch all the actions.
#
# Any new entries you develop for you are always welcome if they are
# useful on more than one system. You can post your modifications
# as tickets at www.midnight-commander.org
### Changes ###
#
# Reorganization: 2000-05-01 Michal Svec <rebel@penguin.cz>
### TODO ###
#
# Postscript Open: ps2svga [gs -DEVICE=jpeg|zgv or something]
# Images asciiview
#
# All X Apps [Nothing/Warning] if no DISPLAY
# Not found [Default/Warning]
# Empty Output [Default/Warning]
# Edit: CopyOut+EDIT+CopyIn
# Security Check gzip/bzip EDIT (mktemp)
#
# Maybe: Open/XOpen/GOpen/KOpen/... for Console/X/GNOME/KDE/etc.
### Archives ###
# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk
regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$
Open=%cd %p#utar
View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
regex/\.tar\.bz$
# Open=%cd %p#utar
View=%view{ascii} bzip -dc %f 2>/dev/null | tar tvvf -
regex/\.t(ar\.bz2|bz2?|b2)$
Open=%cd %p#utar
View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
# .tar.lzma, .tlz
regex/\.t(ar\.lzma|lz)$
Open=%cd %p#utar
View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf -
# .tar.xz, .txz
regex/\.t(ar\.xz|xz)$
Open=%cd %p#utar
View=%view{ascii} xz -dc %f 2>/dev/null | tar tvvf -
# .tar.F - used in QNX
regex/\.tar\.F$
# Open=%cd %p#utar
View=%view{ascii} freeze -dc %f 2>/dev/null | tar tvvf -
# .qpr/.qpk - QNX Neutrino package installer files
regex/\.(qp[rk])$
Open=%cd %p#utar
View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
# tar
regex/\.(tar|TAR)$
Open=%cd %p#utar
View=%view{ascii} tar tvvf - < %f
# lha
type/^LHa\ .*archive
Open=%cd %p#ulha
View=%view{ascii} lha l %f
# arj
regex/\.a(rj|[0-9][0-9])$
Open=%cd %p#uarj
View=%view{ascii} unarj l %f
# cab
regex/\.([cC][aA][bB])$
Open=%cd %p#ucab
View=%view{ascii} cabextract -l %f
# ha
regex/\.([Hh][Aa])$
Open=%cd %p#uha
View=%view{ascii} ha lf %f
# rar
regex/\.[rR]([aA][rR]|[0-9][0-9])$
Open=%cd %p#urar
View=%view{ascii} rar v -c- %f
# ALZip
regex/\.(alz|ALZ)$
Open=%cd %p#ualz
View=%view{ascii} unalz -l %f
# cpio
shell/.cpio.Z
Open=%cd %p#ucpio
View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
shell/.cpio.gz
Open=%cd %p#ucpio
View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
shell/.cpio
Open=%cd %p#ucpio
View=%view{ascii} cpio -itv < %f 2>/dev/null
# ls-lR
regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
Open=%cd %p#lslR
# patch
regex/\.(diff|patch)(\.bz2)$
Open=%cd %p#patchfs
View=%view{ascii} bzip2 -dc %f 2>/dev/null
regex/\.(diff|patch)(\.(gz|Z))$
Open=%cd %p#patchfs
View=%view{ascii} gzip -dc %f 2>/dev/null
regex/\.(diff|patch)$
Open=%cd %p#patchfs
View=%view{ascii} /bin/cat %f 2>/dev/null
# ar library
regex/\.s?a$
Open=%cd %p#uar
#Open=%view{ascii} ar tv %f
View=%view{ascii} file %f && nm -C %f
# trpm
regex/\.trpm$
Open=%cd %p#trpm
View=%view{ascii} rpm -qivl --scripts `basename %p .trpm`
# RPM packages (SuSE uses *.spm for source packages)
regex/\.(src\.rpm|spm)$
Open=%cd %p#rpm
View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
regex/\.rpm$
Open=%cd %p#rpm
View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
# deb
regex/\.u?deb$
Open=%cd %p#deb
View=%view{ascii} dpkg-deb -I %f && echo && dpkg-deb -c %f
# dpkg
shell/.debd
Open=%cd %p#debd
View=%view{ascii} dpkg -s `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
# apt
shell/.deba
Open=%cd %p#deba
View=%view{ascii} apt-cache show `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
# ISO9660
regex/\.([iI][sS][oO])$
Open=%cd %p#iso9660
View=%view{ascii} isoinfo -l -i %f
# 7zip archives (they are not man pages)
regex/\.(7z|7Z)$
Open=%cd %p#u7z
View=%view{ascii} 7za l %f 2>/dev/null
# Mailboxes
type/^ASCII\ mail\ text
Open=%cd %p#mailfs
### Sources ###
# C
shell/.c
Open=%var{EDITOR:emacsclient} %f
# Fortran
shell/.f
Open=%var{EDITOR:emacsclient} %f
# Header
regex/\.(h|hpp)$
Open=%var{EDITOR:emacsclient} %f
# Asm
shell/.s
Open=%var{EDITOR:emacsclient} %f
# C++
regex/\.(C|cc|cpp)$
Open=%var{EDITOR:emacsclient} %f
# .so libraries
regex/\.(so|so\.[0-9\.]*)$
View=%view{ascii} file %f && nm -C -D %f
# Python
shell/.py
Open=%var{EDITOR:emacsclient} %f
# Racket
shell/.rkt
Open=%var{EDITOR:emacsclient} %f
# General Scheme
shell/.scm
Open=%var{EDITOR:emacsclient} %f
# Lisp
shell/.lisp
Open=%var{EDITOR:emacsclient} %f
# Haskell
shell/.hs
Open=%var{EDITOR:emacsclient} %f
# Object
type/^ELF
#Open=%var{PAGER:more} %f
View=%view{ascii} file %f && nm -C %f
### Documentation ###
# Texinfo
regex/\.(te?xi|texinfo)$
# GNU Info page
type/^Info\ text
Open=info -f %f
shell/.info
Open=info -f %f
# Manual page
regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$
Open=case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac
# Perl pod page
shell/.pod
Open=pod2man %f | nroff -c -Tlatin1 -mandoc | %var{PAGER:more}
View=%view{ascii,nroff} pod2man %f | nroff -c -Tlatin1 -mandoc
# Troff with me macros.
# Exception - "read.me" is not a nroff file.
shell/read.me
Open=
View=
shell/.me
Open=nroff -c -Tlatin1 -me %f | %var{PAGER:more}
View=%view{ascii,nroff} nroff -c -Tlatin1 -me %f
# Troff with ms macros.
shell/.ms
Open=nroff -c -Tlatin1 -ms %f | %var{PAGER:more}
View=%view{ascii,nroff} nroff -c -Tlatin1 -ms %f
# Manual page - compressed
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?[Zz]$
Open=case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$
Open=case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
Open=case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
Open=case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
Open=case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
# CHM
regex/\.(chm|CHM)$
Open=which kchmviewer > /dev/null 2>&1 && (kchmviewer %f &) || (xchm %f &)
### Images ###
type/^GIF
Include=image
type/^JPEG
View=%view{ascii} identify %f; test -x /usr/bin/exif && echo && exif %f 2>/dev/null
Include=image
type/^PC\ bitmap
Include=image
type/^PNG
Include=image
type/^TIFF
Include=image
type/^PBM
Include=image
type/^PGM
Include=image
type/^PPM
Include=image
type/^Netpbm
Include=image
shell/.xcf
Open=(gimp %f &)
shell/.xbm
Open=bitmap %f
shell/.xpm
Include=image
View=sxpm %f
shell/.ico
Include=image
include/image
Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (feh --scale-down %f &); fi
View=%view{ascii} identify %f
#View=%view{ascii} asciiview %f
### Sound files ###
regex/\.([wW][aA][vV]|[sS][nN][dD]|[vV][oO][cC]|[aA][uU]|[sS][mM][pP]|[aA][iI][fF][fF]|[sS][nN][dD])$
Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
regex/\.([mM][oO][dD]|[sS]3[mM]|[xX][mM]|[iI][tT]|[mM][tT][mM]|669|[sS][tT][mM]|[uU][lL][tT]|[fF][aA][rR])$
Open=mikmod %f
#Open=tracker %f
regex/\.([wW][aA][wW]22)$
Open=vplay -s 22 %f
regex/\.([mM][pP]3)$
Open=if [ "$DISPLAY" = "" ]; then mpg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
View=%view{ascii} mpg123 -vtn1 %f 2>&1 | sed -n '/^Title/,/^Comment/p;/^MPEG/,/^Audio/p'
regex/\.([oO][gG][gG|aA|vV|xX])$
Open=if [ "$DISPLAY" = "" ]; then ogg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
View=%view{ascii} ogginfo %s
regex/\.([sS][pP][xX]|[fF][lL][aA][cC])$
Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
regex/\.([mM][iI][dD][iI]?|[rR][mM][iI][dD]?)$
Open=timidity %f
regex/\.([wW][mM][aA])$
Open=mplayer -vo null %f
View=%view{ascii} mplayer -quiet -slave -frames 0 -vo null -ao null -identify %f 2>/dev/null | tail +13 || file %f
### Play lists ###
regex/\.([mM]3[uU]|[pP][lL][sS])$
Open=if [ -z "$DISPLAY" ]; then mplayer -vo null -playlist %f; else (xmms -p %f >/dev/null 2>&1 &); fi
### Video ###
regex/\.([aA][vV][iI])$
Include=video
regex/\.([aA][sS][fFxX])$
Include=video
regex/\.([dD][iI][vV][xX])$
Include=video
regex/\.([mM][kK][vV])$
Include=video
regex/\.([mM][oO][vV]|[qQ][tT])$
Include=video
regex/\.([mM][pP]4|[mM][pP][eE]?[gG])$
Include=video
regex/\.([vV][oO][bB])$
Include=video
regex/\.([wW][mM][vV])$
Include=video
regex/\.([fF][lL][iIcCvV])$
Include=video
regex/\.([oO][gG][mM])$
Include=video
regex/\.([rR][aA]?[mM])$
Open=(realplay %f >/dev/null 2>&1 &)
include/video
Open=(mplayer %f >/dev/null 2>&1 &)
#Open=(gtv %f >/dev/null 2>&1 &)
#Open=(xanim %f >/dev/null 2>&1 &)
### Documents ###
# Postscript
type/^PostScript
Open=zathura --fork %f
View=%view{ascii} ps2ascii %f
# PDF
type/^PDF
Open=zathura --fork %f
#Open=(acroread %f &)
#Open=(ghostview %f &)
View=%view{ascii} pdftotext %f -
# The following code very ugly and should not be taken as example.
# It should be cleaned up when the new format of mc.ext is developed.
# html
regex/\.([hH][tT][mM][lL]?)$
Open=(if test -n "" && test -n "$DISPLAY"; then ( file://%d/%p &) 1>&2; else links %f || lynx -force_html %f || ${PAGER:-more} %f; fi) 2>/dev/null
View=%view{ascii} links -dump %f 2>/dev/null || w3m -dump %f 2>/dev/null || lynx -dump -force_html %f
# StarOffice 5.2
shell/.sdw
Open=(ooffice %f &)
# StarOffice 6 and OpenOffice.org formats
regex/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
Open=(ooffice %f &)
View=%view{ascii} odt2txt %f
# AbiWord
shell/.abw
Open=(abiword %f &)
# Microsoft Word Document
regex/\.([Dd][oO][cCtT]|[Ww][rR][iI])$
Open=(abiword %f >/dev/null 2>&1 &)
View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
type/^Microsoft\ Word
Open=(abiword %f >/dev/null 2>&1 &)
View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
# RTF document
regex/\.([rR][tT][fF])$
Open=(abiword %f >/dev/null 2>&1 &)
# Microsoft Excel Worksheet
regex/\.([xX][lL][sSwW])$
Open=(gnumeric %f >/dev/null 2>&1 &)
View=%view{ascii} xls2csv %f || strings %f
type/^Microsoft\ Excel
Open=(gnumeric %f >/dev/null 2>&1 &)
View=%view{ascii} xls2csv %f || strings %f
# Use OpenOffice.org to open any MS Office documents
type/^Microsoft\ Office\ Document
Open=(ooffice %f &)
# Framemaker
type/^FrameMaker
Open=fmclient -f %f
# DVI
regex/\.([dD][vV][iI])$
Open=if [ x$DISPLAY = x ]; then dvisvga %f; else (xdvi %f &); fi
View=%view{ascii} dvi2tty %f
# TeX
regex/\.([Tt][Ee][Xx])$
Open=%var{EDITOR:emacsclient} %f
# DjVu (changed)
regex/\.(djvu|DJVU)$
Open=zathura --fork %f
### Miscellaneous ###
# Makefile
regex/[Mm]akefile$
Open=make -f %f %{Enter parameters}
# Imakefile
shell/Imakefile
Open=xmkmf -a
# Makefile.PL (MakeMaker)
regex/^Makefile.(PL|pl)$
Open=%var{PERL:perl} %f
# dbf
regex/\.([dD][bB][fF])$
Open=%view{ascii} dbview %f
View=%view{ascii} dbview -b %f
# REXX script
regex/\.(rexx?|cmd)$
Open=rexx %f %{Enter parameters};echo "Press ENTER";read y
# Disk images for Commodore computers (VIC20, C64, C128)
regex/\.(d64|D64)$
Open=%cd %p#uc1541
View=%view{ascii} c1541 %f -list
Extract=c1541 %f -extract
# Glade, a user interface designer for GTK+ and GNOME
regex/\.([Gg][Ll][Aa][Dd][Ee])$
Open=if glade-3 --version >/dev/null 2>&1; then (glade-3 %f >/dev/null 2>&1 &); else (glade-2 %f >/dev/null 2>&1 &); fi
# Gettext Catalogs
shell/.mo
View=%view{ascii} msgunfmt %f || cat %f
# lyx
regex/\.(lyx|LYX)$
Open=lyx %f
View=%view{ascii} lyxcat %f
### Plain compressed files ###
# ace
regex/\.(ace|ACE)$
Open=%cd %p#uace
View=%view{ascii} unace l %f
Extract=unace x %f
# arc
regex/\.(arc|ARC)$
Open=%cd %p#uarc
View=%view{ascii} arc l %f
Extract=arc x %f '*'
Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
# zip
type/^([Zz][Ii][Pp])\ archive
Open=%cd %p#uzip
View=%view{ascii} unzip -v %f
# zoo
regex/\.([Zz][Oo][Oo])$
Open=%cd %p#uzoo
View=%view{ascii} zoo l %f
# gzip
type/^gzip
Open=gzip -dc %f | %var{PAGER:more}
View=%view{ascii} gzip -dc %f 2>/dev/null
regex/\.(gz|Z)$
View=%view{ascii} gzip -dc %f 2>/dev/null
# bzip2
type/^bzip2
Open=bzip2 -dc %f | %var{PAGER:more}
View=%view{ascii} bzip2 -dc %f 2>/dev/null
regex/\.bz2?$
View=%view{ascii} bzip2 -dc %f 2>/dev/null
# bzip
type/^bzip
Open=bzip -dc %f | %var{PAGER:more}
View=%view{ascii} bzip -dc %f 2>/dev/null
# compress
type/^compress
Open=gzip -dc %f | %var{PAGER:more}
View=%view{ascii} gzip -dc %f 2>/dev/null
# lzma
regex/\.lzma$
Open=lzma -dc %f | %var{PAGER:more}
View=%view{ascii} lzma -dc %f 2>/dev/null
# xz
regex/\.xz$
Open=xz -dc %f | %var{PAGER:more}
View=%view{ascii} xz -dc %f 2>/dev/null
### Default ###
# Default target for anything not described above
default/*
Open=%var{EDITOR:emacsclient} %f
View=%var{EDITOR:emacsclient} %f
### EOF ###

5
.config/mc/hotlist Normal file
View File

@ -0,0 +1,5 @@
ENTRY "/home/collin" URL "/home/collin"
ENTRY "/media/dm" URL "/media/dm"
GROUP "Local Network"
ENTRY "sh:alpha/~" URL "/home/collin/#sh:alpha/~"
ENDGROUP

194
.config/mc/ini Normal file
View File

@ -0,0 +1,194 @@
[Midnight-Commander]
verbose=1
pause_after_run=1
shell_patterns=1
auto_save_setup=1
auto_menu=0
use_internal_view=0
use_internal_edit=0
clear_before_exec=1
confirm_delete=1
confirm_overwrite=1
confirm_execute=0
confirm_history_cleanup=1
confirm_exit=1
confirm_directory_hotlist_delete=1
safe_delete=1
mouse_repeat_rate=100
double_click_speed=250
use_8th_bit_as_meta=0
confirm_view_dir=0
mouse_move_pages_viewer=1
mouse_close_dialog=0
fast_refresh=0
drop_menus=0
wrap_mode=1
old_esc_mode=1
old_esc_mode_timeout=1000000
cd_symlinks=1
show_all_if_ambiguous=0
max_dirt_limit=10
torben_fj_mode=0
use_file_to_guess_type=1
alternate_plus_minus=0
only_leading_plus_minus=1
show_output_starts_shell=0
xtree_mode=0
num_history_items_recorded=60
file_op_compute_totals=1
classic_progressbar=1
vfs_timeout=60
ftpfs_directory_timeout=900
use_netrc=1
ftpfs_retry_seconds=30
ftpfs_always_use_proxy=0
ftpfs_use_passive_connections=1
ftpfs_use_passive_connections_over_proxy=0
ftpfs_use_unix_list_options=1
ftpfs_first_cd_then_ls=1
fish_directory_timeout=900
editor_tab_spacing=8
editor_word_wrap_line_length=72
editor_fill_tabs_with_spaces=0
editor_return_does_auto_indent=1
editor_backspace_through_tabs=0
editor_fake_half_tabs=1
editor_option_save_mode=0
editor_option_save_position=1
editor_option_auto_para_formatting=0
editor_option_typewriter_wrap=0
editor_edit_confirm_save=1
editor_syntax_highlighting=1
editor_persistent_selections=1
editor_cursor_beyond_eol=0
editor_visible_tabs=1
editor_visible_spaces=1
editor_line_state=0
editor_simple_statusbar=0
editor_check_new_line=0
editor_show_right_margin=0
nice_rotating_dash=1
mcview_remember_file_position=0
auto_fill_mkdir_name=1
copymove_persistent_attr=1
select_flags=6
editor_backup_extension=~
mcview_eof=
kilobyte_si=0
mix_all_files=0
show_backups=1
show_dot_files=1
fast_reload=0
fast_reload_msg_shown=0
mark_moves_down=1
reverse_files_only=1
navigate_with_arrows=0
scroll_pages=1
mouse_move_pages=1
filetype_mode=1
permission_mode=0
quick_search_case_sensitive=2
ignore_ftp_chattr_errors=true
keymap=mc.keymap
skin=gotar
filepos_max_saved_entries=1024
preallocate_space=0
editor_cursor_after_inserted_block=0
editor_group_undo=0
[Layout]
message_visible=1
keybar_visible=1
xterm_title=1
output_lines=0
command_prompt=1
menubar_visible=1
show_mini_info=1
free_space=1
horizontal_split=0
vertical_equal=1
left_panel_size=61
horizontal_equal=1
top_panel_size=113
[Misc]
timeformat_recent=%b %e %H:%M
timeformat_old=%b %e %Y
ftp_proxy_host=gate
ftpfs_password=anonymous@
display_codepage=ASCII
source_codepage=Other_8_bit
autodetect_codeset=
clipboard_store=
clipboard_paste=
[Colors]
base_color=
screen=
color_terminals=
rxvt-unicode-256color=
xterm=
[Panels]
kilobyte_si=false
mix_all_files=false
show_backups=true
show_dot_files=true
fast_reload=false
fast_reload_msg_shown=false
mark_moves_down=true
reverse_files_only=true
auto_save_setup_panels=true
navigate_with_arrows=false
panel_scroll_pages=true
mouse_move_pages=true
filetype_mode=true
permission_mode=false
quick_search_mode=2
simple_swap=false
show_mini_info=true
torben_fj_mode=false
[HotlistConfig]
expanded_view_of_groups=0
[FindFile]
ignore_dirs=
file_case_sens=true
file_shell_pattern=true
file_find_recurs=true
file_skip_hidden=false
file_all_charsets=false
content_use=true
content_case_sens=true
content_regexp=false
content_first_hit=false
content_whole_words=false
content_all_charsets=false
ignore_dirs_enable=true
[DiffView]
show_symbols=false
show_numbers=false
tab_size=8
diff_quality=0
diff_ignore_tws=false
diff_ignore_all_space=false
diff_ignore_space_change=false
diff_tab_expansion=false
diff_ignore_case=false
[Panelize]
Find *.orig after patching=find . -name \\*.orig -print
Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm +011 \\) -o \\( -perm -02000 -a -perm +01 \\) \\) -print
Find rejects after patching=find . -name \\*.rej -print

32
.config/mc/panels.ini Normal file
View File

@ -0,0 +1,32 @@
[New Left Panel]
display=listing
reverse=0
case_sensitive=1
exec_first=0
sort_order=name
list_mode=full
user_format=half type name | size | perm
user_status0=half type name | size | perm
user_status1=half type name | size | perm
user_status2=half type name | size | perm
user_status3=half type name | size | perm
user_mini_status=0
[New Right Panel]
display=listing
reverse=0
case_sensitive=1
exec_first=0
sort_order=name
list_mode=full
user_format=half type name | size | perm
user_status0=half type name | size | perm
user_status1=half type name | size | perm
user_status2=half type name | size | perm
user_status3=half type name | size | perm
user_mini_status=0
[Dirs]
other_dir=/home/collin
current_is_left=false

View File

@ -0,0 +1 @@
/home/collin/.config/systemd/user/emacs.service

View File

@ -0,0 +1 @@
/home/collin/.config/systemd/user/emacsd.service

View File

@ -0,0 +1 @@
/home/collin/.config/systemd/user/mpd.service

View File

@ -0,0 +1 @@
/home/collin/.config/systemd/user/udiskie.service

View File

@ -0,0 +1 @@
/home/collin/.config/systemd/user/unclutter.service

View File

@ -0,0 +1 @@
/home/collin/.config/systemd/user/urxvtd.service

View File

@ -0,0 +1 @@
/home/collin/.config/systemd/user/xbindkeys.service

View File

@ -0,0 +1 @@
/home/collin/.config/systemd/user/xcompmgr.service

View File

@ -0,0 +1 @@
/home/collin/.config/systemd/user/xscreensaver.service

View File

@ -0,0 +1,11 @@
[Unit]
Description = Emacs: the extensible, self-documenting text editor
[Service]
Type = forking
ExecStart = /usr/bin/emacs --daemon
ExecStop = /usr/bin/emacsclient --eval "(progn (setq kill-emacs-hook 'nil) (kill-emacs))"
Restart = always
[Install]
WantedBy = default.target

View File

@ -0,0 +1,9 @@
[Unit]
Description = Music Player Daemon
[Service]
ExecStart = /usr/bin/mpd --no-daemon
Restart = always
[Install]
WantedBy = default.target

View File

@ -0,0 +1,9 @@
[Unit]
Description = A lightwieght GTK2-based systray for UNIX desktop
[Service]
ExecStart = /usr/bin/trayer --monitor 1 --edge top --align right --expand true --width 4 --height 2 --transparent true --tint 0x000000
Restart = always
[Install]
WantedBy = default.target

View File

@ -0,0 +1,9 @@
[Unit]
Description = Automatic disk mounting service using udisks
[Service]
ExecStart = /usr/bin/udiskie -s
Restart = always
[Install]
WantedBy = default.target

View File

@ -0,0 +1,9 @@
[Unit]
Description = Remove idle cursor image from screen
[Service]
ExecStart = /usr/bin/unclutter
Restart = always
[Install]
WantedBy = default.target

View File

@ -0,0 +1,9 @@
[Unit]
Description = urxvt terminal daemon
[Service]
ExecStart = /usr/bin/urxvtd --quiet
Restart = always
[Install]
WantedBy = default.target

View File

@ -0,0 +1,9 @@
[Unit]
Description = A grabbing keys program for X
[Service]
ExecStart = /usr/bin/xbindkeys -n
Restart = always
[Install]
WantedBy = default.target

View File

@ -0,0 +1,9 @@
[Unit]
Description = Simple X compositing manager
[Service]
ExecStart = /usr/bin/xcompmgr
Restart = always
[Install]
WantedBy = default.target

View File

@ -0,0 +1,9 @@
[Unit]
Description = Extensible screen saver framework, plus locking
[Service]
ExecStart = /usr/bin/xscreensaver -no-splash
Restart = always
[Install]
WantedBy = default.target

69
.emacs
View File

@ -15,14 +15,22 @@
;; * caml (required by tuareg)
;; * tuareg
;; * project-mode
;; * register-list
;; ELPA packages configured explicitly below:
;; * php-mode
;; * python-mode
;; * ipython
;; * lua-mode
;; * erlang
;; * clojure-mode
;; Set repos for package.el
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
("marmalade" . "http://marmalade-repo.org/packages/")
("melpa" . "http://melpa.milkbox.net/packages/")
("ELPA" . "http://tromey.com/elpa/")))
;; This needs to be a the start of ~/.emacs since package-initialize is run after the user
;; init file is read but before after-init-hook. It autoloads packages installed by
;; package.el including updating the load-path and running/loading/requiring
@ -185,6 +193,7 @@
(mode . geiser-mode)
(mode . slime-repl-mode)
(mode . inferior-python-mode)
(mode . ipython-mode)
(mode . inferior-haskell-mode)
(mode . inferior-lisp-mode)
(mode . eshell-mode)
@ -193,6 +202,10 @@
(mode . erlang-shell-mode)
(name . "^\\*inferior-lisp\\*$")
(name . "^\\* Racket REPL \\*$")))
("git" (or
(name . "^\\*magit: ") ;; this regxp could be better
(mode . magit-mode)
(mode . magit-log-mode)))
("planner" (or
(name . "^\\*Calendar\\*$")
(name . "^diary$")
@ -274,9 +287,9 @@
(require 'slime) ;; AUR: emacs-slime-cvs
(slime-setup '(slime-fancy))
;; Setup swank-clojure-mode *TODO* drop in version from ELPA
;; Setup swank-clojure-mode
(add-to-list 'load-path "/usr/share/emacs/site-lisp/swank-clojure")
(require 'swank-clojure) ;; AUR: swank-clojure-git
(require 'swank-clojure) ;; ELPA
(add-hook 'clojure-mode-hook
'(lambda ()
@ -298,12 +311,18 @@
(add-hook 'org-mode-hook 'turn-on-font-lock) ; not needed when global-font-lock-mode is on
(setq org-return-follows-link t)
(setq org-log-done 'time)
;; Add additional languages for org-babel (now part of org-mode)
(org-babel-do-load-languages
'org-babel-load-languages
'((haskell . t)))
;; Set keybindings for org-mode
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cb" 'org-iswitchb)
;; Setup emacs-haskell-mode *TODO* drop in ELPA version
(load "/usr/share/emacs/site-lisp/haskell-mode/haskell-site-file")
;; Setup haskell-mode ;; ELPA
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indentation)
;;(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)
@ -312,9 +331,17 @@
;; Set inferior haskell default executable
(setq haskell-program-name "/usr/bin/ghci")
;; Python stuff currently *BROKEN*
;; Setup emacs-python-mode
(autoload 'python-mode "python-mode.el" "Python mode." t) ;; ELPA
(setq auto-mode-alist (append '(("/*.\.py$" . python-mode)) auto-mode-alist))
;; (autoload 'python-mode "python-mode.el" "Python mode." t) ;; ELPA
;; (setq auto-mode-alist (append '(("/*.\.py$" . python-mode)) auto-mode-alist))
;; Setup ipython-mode
;; (setq py-python-command "/usr/bin/ipython")
;; (require 'ipython) ;; ELPA
;; Make a variable alias because ipython-mode references python-mode-map as py-mode-map
;;(defvaralias 'python-mode-map 'py-mode-map)
;; Setup emacs-lua-mode
(setq auto-mode-alist (cons '("\.lua$" . lua-mode) auto-mode-alist)) ;; ELPA
@ -327,7 +354,7 @@
;; Setup enhanced scheme/racket mode consisting of geiser, quack and paredit
;; Setup geiser
(require 'geiser-install) ;; AUR: geiser-git
;;(require 'geiser-install) ;; AUR: geiser-git
;; Setup quack *DISABLED*
;(require 'quack)
@ -390,8 +417,8 @@
;; Setup yasnippet-mode (not yasnippet-bundle)
(require 'yasnippet) ;; ELPA
(yas/initialize)
(yas/load-directory "~/.emacs.d/elpa/yasnippet-0.6.1/snippets")
;;(yas/initialize)
(yas/load-directory "~/.emacs.d/elpa/yasnippet-20120718/snippets")
;; Enable flyspell-mode
(ac-flyspell-workaround)
@ -411,6 +438,7 @@
'(("\\.c$" . ["c-template.c" auto-update-generic-template])
("\\.\(cc\|cpp\)$" . ["cpp-template.c" auto-update-generic-template])
("\\.php$" . ["php-template.php" auto-update-generic-template])
("\\.rb$" . ["ruby-template.rb" auto-update-generic-template])
("\\.lua$" . ["lua-template.lua" auto-update-generic-template])
("\\.erl$" . ["erlang-template.erl" auto-update-generic-template])
("\\.sh$" . ["shell-template.sh" auto-update-generic-template])
@ -525,12 +553,20 @@
;; Commands that require a little more then a dumb-term
(setq eshell-visual-commands '("vi" "screen" "top" "less" "more" "lynx" "ncftp" "vim" "ncmpcpp" "irssi" "mc" "alsamixer" "/usr/bin/sudo"))
(defun eshell/ff (fs)
"Find many files using eshell's built in regexps"
(defun eshell/find-file-ext (fp)
"Finds a single file or a list of files and returns a list of their respective buffers"
(interactive)
(if (listp fs)
(mapc #'find-file fs)
(find-file fs)))
(if (listp fp) (mapcar #'find-file fp)
(list (find-file fp))))
(defun eshell/ff (fp &rest other-fps)
"A FP is either a file path (relative or absolute) or a regexp which eshell converts to a
list of stings (file paths) which match the regexp (likely using file-expand-widcards).
eshell/ff takes one or more file paths and opens them in the current buffer returning a list
consisting of lists of buffers opened by each respective FP argument."
(interactive)
(mapcar #'eshell/find-file-ext (cons fp other-fps)))
(defun eshell/clear ()
"04Dec2001 - sailor, to clear the eshell buffer."
@ -552,11 +588,6 @@
;; ;; Synchronize el-get
;; (el-get 'sync)
;; Set repos for package.el
(setq package-archives '(("ELPA" . "http://tromey.com/elpa/")
("gnu" . "http://elpa.gnu.org/packages/")
("marmalade" . "http://marmalade-repo.org/packages/")))
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.

View File

@ -0,0 +1,19 @@
;; (C) Copyright Collin Doering @!@YEAR@!@
;;
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; File: @!@FILE@!@
;; Author: Collin J. Doering <rekahsoft@gmail.com>
;; Date: @!@DATE@!@

View File

@ -0,0 +1,19 @@
% (C) Copyright Collin Doering @!@YEAR@!@
%
% This program is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this program. If not, see <http://www.gnu.org/licenses/>.
% File: @!@FILE@!@
% Author: Collin J. Doering <rekahsoft@gmail.com>
% Date: @!@DATE@!@

View File

@ -0,0 +1,19 @@
-- (C) Copyright Collin Doering @!@YEAR@!@
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
-- File: @!@FILE@!@
-- Author: Collin J. Doering <rekahsoft@gmail.com>
-- Date: @!@DATE@!@

View File

@ -0,0 +1,23 @@
(*
* (C) Copyright Collin Doering @!@YEAR@!@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*)
(*
* File: @!@FILE@!@
* Author: Collin J. Doering
* Date: @!@DATE@!@
*)

View File

@ -0,0 +1,23 @@
/**
* (C) Copyright Collin Doering @!@YEAR@!@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* File: @!@FILE@!@
* Author: Collin J. Doering
* Date: @!@DATE@!@
*/

View File

@ -0,0 +1,3 @@
# This buffer is for notes you don't want to save, and for Lisp evaluation.
# If you want to create a file, visit that file with C-x C-f,
# then enter the text in that file's own buffer.

View File

@ -0,0 +1,19 @@
# (C) Copyright Collin Doering @!@YEAR@!@
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# File: @!@FILE@!@
# Author: Collin J. Doering <rekahsoft@gmail.com>
# Date: @!@DATE@!@

View File

@ -0,0 +1,23 @@
(*
* (C) Copyright Collin Doering 2013
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*)
(*
* File: sml-template.ml
* Author: Collin J. Doering
* Date: Mar 5, 2013
*)

5
.eshell/alias Normal file
View File

@ -0,0 +1,5 @@
alias ms magit-status $1
alias mss magit-status .
alias ssudo /usr/bin/sudo
alias d dired $1
alias ffo find-file-other-window $1

7
.eshell/profile Normal file
View File

@ -0,0 +1,7 @@
# File: ~/.eshell/profile
# Author: Collin J. Doering
# Date: Nov 12, 2011
# Description:
# Set commands that use a Term buffer instead of the eshell dumbterm
setq eshell-visual-commands (list "vi" "screen" "top" "less" "more" "lynx" "ncftp" "pine" "tin" "trn" "elm" "vim" "ncmpcpp" "irssi" "mc" "vim" "ncmpcpp" "irssi" "mc" "vim" "ncmpcpp" "irssi" "mc" "/usr/bin/sudo") >> /dev/null

6
.gitconfig Normal file
View File

@ -0,0 +1,6 @@
[user]
email = rekahsoft@gmail.com
[color]
branch = auto
diff = auto
status = auto

2
.gnus
View File

@ -39,7 +39,7 @@
;; (nnimap-address "imap.gmail.com")
;; (nnimap-server-port 993)
;; (nnimap-stream ssl)
;; (nnimap-authinfo-file "~/.cd-authinfo.gpg"))
;; (nnimap-authinfo-file "~/.authinfo-cd.gpg"))
;; (nnimap "rekahsoft"
;; (remove-prefix "INBOX.")
;; (nnimap-address "imap.gmail.com")

456
.mpdconf Normal file
View File

@ -0,0 +1,456 @@
# An example configuration file for MPD
# See the mpd.conf man page for a more detailed description of each parameter.
# Files and directories #######################################################
#
# This setting controls the top directory which MPD will search to discover the
# available audio files and add them to the daemon's online database. This
# setting defaults to the XDG directory, otherwise the music directory will be
# be disabled and audio files will only be accepted over ipc socket (using
# file:// protocol) or streaming files over an accepted protocol.
#
music_directory "/media/dm/Music"
#
# This setting sets the MPD internal playlist directory. The purpose of this
# directory is storage for playlists created by MPD. The server will use
# playlist files not created by the server but only if they are in the MPD
# format. This setting defaults to playlist saving being disabled.
#
playlist_directory "~/.mpd/playlists"
#
# This setting sets the location of the MPD database. This file is used to
# load the database at server start up and store the database while the
# server is not up. This setting defaults to disabled which will allow
# MPD to accept files over ipc socket (using file:// protocol) or streaming
# files over an accepted protocol.
#
db_file "~/.mpd/database"
#
# These settings are the locations for the daemon log files for the daemon.
# These logs are great for troubleshooting, depending on your log_level
# settings.
#
# The special value "syslog" makes MPD use the local syslog daemon. This
# setting defaults to logging to syslog, otherwise logging is disabled.
#
log_file "~/.mpd/log"
#
# This setting sets the location of the file which stores the process ID
# for use of mpd --kill and some init scripts. This setting is disabled by
# default and the pid file will not be stored.
#
pid_file "~/.mpd/pid"
#
# This setting sets the location of the file which contains information about
# most variables to get MPD back into the same general shape it was in before
# it was brought down. This setting is disabled by default and the server
# state will be reset on server start up.
#
state_file "~/.mpd/state"
#
# The location of the sticker database. This is a database which
# manages dynamic information attached to songs.
#
#sticker_file "~/.mpd/sticker.sql"
#
###############################################################################
# General music daemon options ################################################
#
# This setting specifies the user that MPD will run as. MPD should never run as
# root and you may use this setting to make MPD change its user ID after
# initialization. This setting is disabled by default and MPD is run as the
# current user.
#
#user "nobody"
#
# This setting specifies the group that MPD will run as. If not specified
# primary group of user specified with "user" setting will be used (if set).
# This is useful if MPD needs to be a member of group such as "audio" to
# have permission to use sound card.
#
#group "nogroup"
#
# This setting sets the address for the daemon to listen on. Careful attention
# should be paid if this is assigned to anything other then the default, any.
# This setting can deny access to control of the daemon.
#
# For network
#bind_to_address "any"
#
# And for Unix Socket
#bind_to_address "~/.mpd/socket"
#
# This setting is the TCP port that is desired for the daemon to get assigned
# to.
#
port "6600"
#
# This setting controls the type of information which is logged. Available
# setting arguments are "default", "secure" or "verbose". The "verbose" setting
# argument is recommended for troubleshooting, though can quickly stretch
# available resources on limited hardware storage.
#
#log_level "default"
#
# If you have a problem with your MP3s ending abruptly it is recommended that
# you set this argument to "no" to attempt to fix the problem. If this solves
# the problem, it is highly recommended to fix the MP3 files with vbrfix
# (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
# point gapless MP3 playback can be enabled.
#
#gapless_mp3_playback "yes"
#
# Setting "restore_paused" to "yes" puts MPD into pause mode instead
# of starting playback after startup.
#
#restore_paused "no"
#
# This setting enables MPD to create playlists in a format usable by other
# music players.
#
#save_absolute_paths_in_playlists "no"
#
# This setting defines a list of tag types that will be extracted during the
# audio file discovery process. The complete list of possible values can be
# found in the mpd.conf man page.
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
#
# This setting enables automatic update of MPD's database when files in
# music_directory are changed.
#
auto_update "yes"
#
# Limit the depth of the directories being watched, 0 means only watch
# the music directory itself. There is no limit by default.
#
#auto_update_depth "3"
#
###############################################################################
# Symbolic link behavior ######################################################
#
# If this setting is set to "yes", MPD will discover audio files by following
# symbolic links outside of the configured music_directory.
#
#follow_outside_symlinks "yes"
#
# If this setting is set to "yes", MPD will discover audio files by following
# symbolic links inside of the configured music_directory.
#
#follow_inside_symlinks "yes"
#
###############################################################################
# Zeroconf / Avahi Service Discovery ##########################################
#
# If this setting is set to "yes", service information will be published with
# Zeroconf / Avahi.
#
#zeroconf_enabled "yes"
#
# The argument to this setting will be the Zeroconf / Avahi unique name for
# this MPD server on the network.
#
#zeroconf_name "Music Player"
#
###############################################################################
# Permissions #################################################################
#
# If this setting is set, MPD will require password authorization. The password
# can setting can be specified multiple times for different password profiles.
#
#password "password@read,add,control,admin"
#
# This setting specifies the permissions a user has who has not yet logged in.
#
#default_permissions "read,add,control,admin"
#
###############################################################################
# Input #######################################################################
#
input {
plugin "curl"
# proxy "proxy.isp.com:8080"
# proxy_user "user"
# proxy_password "password"
}
#
###############################################################################
# Audio Output ################################################################
#
# MPD supports various audio output types, as well as playing through multiple
# audio outputs at the same time, through multiple audio_output settings
# blocks. Setting this block is optional, though the server will only attempt
# autodetection for one sound card.
#
# See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs> for examples of
# other audio outputs.
#
# An example of an ALSA output:
#
#audio_output {
# type "alsa"
# name "My ALSA Device"
## device "hw:0,0" # optional
## format "44100:16:2" # optional
## mixer_type "hardware" # optional
## mixer_device "default" # optional
## mixer_control "PCM" # optional
## mixer_index "0" # optional
#}
#
# An example of an OSS output:
#
#audio_output {
# type "oss"
# name "My OSS Device"
## device "/dev/dsp" # optional
## format "44100:16:2" # optional
## mixer_type "hardware" # optional
## mixer_device "/dev/mixer" # optional
## mixer_control "PCM" # optional
#}
#
# An example of a shout output (for streaming to Icecast):
#
#audio_output {
# type "shout"
# encoding "ogg" # optional
# name "My Shout Stream"
# host "localhost"
# port "8000"
# mount "/mpd.ogg"
# password "hackme"
# quality "5.0"
# bitrate "128"
# format "44100:16:1"
## protocol "icecast2" # optional
## user "source" # optional
## description "My Stream Description" # optional
## url "http://example.com" # optional
## genre "jazz" # optional
## public "no" # optional
## timeout "2" # optional
## mixer_type "software" # optional
#}
#
# An example of a recorder output:
#
#audio_output {
# type "recorder"
# name "My recorder"
# encoder "vorbis" # optional, vorbis or lame
# path "/var/lib/mpd/recorder/mpd.ogg"
## quality "5.0" # do not define if bitrate is defined
# bitrate "128" # do not define if quality is defined
# format "44100:16:1"
#}
#
# An example of a httpd output (built-in HTTP streaming server):
#
#audio_output {
# type "httpd"
# name "My HTTP Stream"
# encoder "vorbis" # optional, vorbis or lame
# port "8000"
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
## quality "5.0" # do not define if bitrate is defined
# bitrate "128" # do not define if quality is defined
# format "44100:16:1"
# max_clients "0" # optional 0=no limit
#}
#
# An example of a pulseaudio output (streaming to a remote pulseaudio server)
#
#audio_output {
# type "pulse"
# name "My Pulse Output"
## server "remote_server" # optional
## sink "remote_server_sink" # optional
#}
#
audio_output {
type "pulse"
name "My Pulse Output"
# server "remote_server" # optional
# sink "remote_server_sink" # optional
}
audio_output {
type "fifo"
name "RekahSoft_FIFO"
path "~/.mpd/mpd.fifo"
format "44100:16:2"
}
## Example "pipe" output:
#
#audio_output {
# type "pipe"
# name "my pipe"
# command "aplay -f cd 2>/dev/null"
## Or if you're want to use AudioCompress
# command "AudioCompress -m | aplay -f cd 2>/dev/null"
## Or to send raw PCM stream through PCM:
# command "nc example.org 8765"
# format "44100:16:2"
#}
#
## An example of a null output (for no audio output):
#
#audio_output {
# type "null"
# name "My Null Output"
# mixer_type "none" # optional
#}
#
# This setting will change all decoded audio to be converted to the specified
# format before being passed to the audio outputs. By default, this setting is
# disabled.
#
#audio_output_format "44100:16:2"
#
# If MPD has been compiled with libsamplerate support, this setting specifies
# the sample rate converter to use. Possible values can be found in the
# mpd.conf man page or the libsamplerate documentation. By default, this is
# setting is disabled.
#
#samplerate_converter "Fastest Sinc Interpolator"
#
###############################################################################
# Normalization automatic volume adjustments ##################################
#
# This setting specifies the type of ReplayGain to use. This setting can have
# the argument "off", "album" or "track". See <http://www.replaygain.org>
# for more details. This setting is off by default.
#
#replaygain "album"
#
# This setting sets the pre-amp used for files that have ReplayGain tags. By
# default this setting is disabled.
#
#replaygain_preamp "0"
#
# This setting enables on-the-fly normalization volume adjustment. This will
# result in the volume of all playing audio to be adjusted so the output has
# equal "loudness". This setting is disabled by default.
#
volume_normalization "yes"
#
###############################################################################
# MPD Internal Buffering ######################################################
#
# This setting adjusts the size of internal decoded audio buffering. Changing
# this may have undesired effects. Don't change this if you don't know what you
# are doing.
#
#audio_buffer_size "2048"
#
# This setting controls the percentage of the buffer which is filled before
# beginning to play. Increasing this reduces the chance of audio file skipping,
# at the cost of increased time prior to audio playback.
#
#buffer_before_play "10%"
#
###############################################################################
# Resource Limitations ########################################################
#
# These settings are various limitations to prevent MPD from using too many
# resources. Generally, these settings should be minimized to prevent security
# risks, depending on the operating resources.
#
#connection_timeout "60"
#max_connections "10"
#max_playlist_length "16384"
#max_command_list_size "2048"
#max_output_buffer_size "8192"
#
###############################################################################
# Client TCP keep alive #######################################################
#
# For clients connected by TCP on supported platforms.
# Allows detection of dangling connections due to clients disappearing from
# the network without closing their connections.
#
# This is not usually necessary but can be useful in cases such as wifi connectected
# clients that go in and out of network range or turn off wifi without closing their
# connections. Combined with low max_connections this can soon cause clients to not
# be able to connect.
#
#
# Enable tcp keepalive on new client connections (default is "no")
#
#tcp_keep_alive "no"
#
# Time in seconds since the last communication on the connection and before
# the keepalive probing is started. (default is 7200 seconds)
#tcp_keep_alive_idle "7200"
#
# Interval in seconds between keepalive probes, once a probe started.
# (default is 75 seconds)
#tcp_keep_alive_interval "75"
#
# Number of failed probes before the connection is pronounced dead and
# the connection is closed. (default is 9 times)
#tcp_keep_alive_count "9"
#
###############################################################################
# Character Encoding ##########################################################
#
# If file or directory names do not display correctly for your locale then you
# may need to modify this setting.
#
#filesystem_charset "UTF-8"
#
# This setting controls the encoding that ID3v1 tags should be converted from.
#
#id3v1_encoding "ISO-8859-1"
#
###############################################################################
# SIDPlay decoder #############################################################
#
# songlength_database:
# Location of your songlengths file, as distributed with the HVSC.
# The sidplay plugin checks this for matching MD5 fingerprints.
# See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
#
# default_songlength:
# This is the default playing time in seconds for songs not in the
# songlength database, or in case you're not using a database.
# A value of 0 means play indefinitely.
#
# filter:
# Turns the SID filter emulation on or off.
#
#decoder {
# plugin "sidplay"
# songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
# default_songlength "120"
# filter "true"
#}
#
###############################################################################

View File

@ -1,10 +1,10 @@
# Open several named screens at startup and run different commands in each
screen -t zsh 0 zsh
screen -t irssi 1 irssi
#screen -t ncmpcpp 2 ncmpcpp
screen -t ncmpcpp 2 ncmpcpp
screen -t alsamixer 3 alsamixer
screen -t mc 4 mc
screen -t cmus 5 cmus
#screen -t mc 4 mc
#screen -t cmus 5 cmus
#screen -t nvlc 5 nvlc
# Set default prefix from C-a to C-t

View File

@ -42,6 +42,10 @@
(stumpwm:define-key stumpwm:*root-map* (stumpwm:kbd "C-e") "exec emacsclient -c")
(stumpwm:define-key stumpwm:*root-map* (stumpwm:kbd "P") "exec dmenu_run")
;; Center message and input windows
(setq stumpwm:*message-window-gravity* :center)
(setq stumpwm:*input-window-gravity* :center)
;; Load swank for emacs to connect to stumpwm's lisp process
(load "/usr/share/emacs/site-lisp/slime/swank-loader.lisp")
(swank-loader:init)

3
.vimrc
View File

@ -9,6 +9,9 @@ set guioptions-=T
" set color scheme to a dark one
colorscheme slate
" enable syntax highlighting
syntax enable
" number the lines
set number

View File

@ -14,32 +14,32 @@
# play/pause key = toggle play pause
#"~/.bin/toggle-pp.py"
#"mpc toggle"
"cmus-remote --pause"
#"cmus-remote --pause"
"mpc toggle"
m:0x10 + c:172
XF86AudioPlay
#"mpc toggle"
"cmus-remote --pause"
#"cmus-remote --pause"
"mpc toggle"
m:0x58 + c:33
Alt+Mod2+Mod4 + p
# next key = next song
#"mpc next"
"cmus-remote --next"
#"cmus-remote --next"
"mpc next"
m:0x10 + c:171
XF86AudioNext
#"mpc next"
"cmus-remote --next"
#"cmus-remote --next"
"mpc next"
m:0x58 + c:60
Alt+Mod2+Mod4 + period
# prev key = previous song
#"mpc prev"
"cmus-remote --prev"
#"cmus-remote --prev"
"mpc prev"
m:0x10 + c:173
XF86AudioPrev
#"mpc prev"
"cmus-remote --prev"
#"cmus-remote --prev"
"mpc prev"
m:0x58 + c:59
Alt+Mod2+Mod4 + comma
@ -88,7 +88,7 @@
## Left side of keyboard
# WWW key
"firefox"
"conkeror"
m:0x10 + c:158
XF86WWW

View File

@ -10,37 +10,35 @@
# where: window-manager is one of '(xmonad openbox stumpwm awesome pekwm)
# session-type is either "" or "remote"
# Runs system-wide xinitrc scripts
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
# Set the default curson used by all WM's
xsetroot -cursor_name left_ptr
# Initialize a local desktop session (run generic helper applications)
function init_local_session() {
# Setup monitors
xrandr --output DVI-I-1 --auto --output DVI-I-2 --auto --left-of DVI-I-1
# Start xscreensaver
xscreensaver -no-splash &
# Start a user instance of systemd, which in turns starts:
# * xcompmgr
# * xscreensaver
# * unclutter
# * xbindkeys
# * urxvtd
# * emacsd
# * trayer *disabled* ..
# * udiskie
systemd --user &
# Set a desktop background
nitrogen --restore &
# Have mouse pointer hide after 5 seconds
unclutter &
# Setup system tray *DISABLED* :: whats the point of a systray if no apps use it?
#trayer --monitor 1 --edge top --align right --expand true --width 4 --height 2 --transparent true --tint 0x000000 &
# Use xbindkeys to bind media keys etc..
xbindkeys &
# Start pulseaudio
#start-pulseaudio-x11 &
# Start-up applications
#parcellite &
emacs --daemon &
urxvtd --quiet &
xcompmgr &
# Create variable GENERAL_SCREEN which is the pid of a screen called "general"
export GENERAL_SCREEN=`screen -ls | grep general | cut -f1 -d'.' | sed 's/\W//g'`

View File

@ -22,7 +22,7 @@ Config { font = "-*-terminus-*-*-*-*-35-*-*-*-*-*-*-u"
, fgColor = "#00FFFF"
, position = TopW L 100
, lowerOnStart = True
, commands = [ Run Network "eth0" ["-L","0","-H","32","-l","green","--normal","orange","--high","red"] 40
, commands = [ Run Network "eno1" ["-L","0","-H","32","-l","green","--normal","orange","--high","red"] 40
-- , Run Com "/home/collin/.bin/vol.sh" [] "vol" 15
, Run MultiCpu ["-t","Cpu <total> | cpu0: <total0> | cpu1: <total1> | cpu2: <total2> | cpu3: <total3>","-L","3","-H","50","--high","#f0c040"] 10
, Run Memory ["-t","Mem: <usedratio>%","-l","green","--normal","orange","--high","red"] 40
@ -35,5 +35,5 @@ Config { font = "-*-terminus-*-*-*-*-35-*-*-*-*-*-*-u"
]
, sepChar = "%"
, alignSep = "}{"
, template = " %StdinReader% }{ %multicpu% %memory% <fc=#0033FF>|</fc> %swap% <fc=#0033FF>|</fc> %eth0% <fc=#0033FF>|</fc> %uptime% <fc=#0033FF>|</fc> %CYKF% <fc=#0033FF>|</fc> %date% <fc=#0033FF>|</fc> "
, template = " %StdinReader% }{ %multicpu% %memory% <fc=#0033FF>|</fc> %swap% <fc=#0033FF>|</fc> %eno1% <fc=#0033FF>|</fc> %uptime% <fc=#0033FF>|</fc> %CYKF% <fc=#0033FF>|</fc> %date% <fc=#0033FF>|</fc> "
}

View File

@ -21,7 +21,7 @@
--
-- http://www.haskell.org/haskellwiki/Xmonad/Notable_changes_since_0.8
--
import XMonad
import XMonad.Actions.UpdatePointer
import XMonad.Actions.WindowBringer
@ -44,6 +44,7 @@ import XMonad.Hooks.ManageDocks
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.UrgencyHook
import XMonad.Hooks.ManageHelpers
import XMonad.Hooks.FadeInactive (setOpacity)
import System.IO
import qualified XMonad.StackSet as W
@ -177,8 +178,11 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
, ((modm .|. shiftMask .|. controlMask, xK_End), io (exitWith ExitSuccess))
-- Quit xmonad (user friendly)
, ((modm .|. shiftMask, xK_q ), spawn "~/.bin/xmonadClose.sh")
, ((modm .|. shiftMask, xK_q), spawn "~/.bin/xmonadClose.sh")
-- Unmount automounted disks by udiskie
, ((modm .|. shiftMask .|. controlMask, xK_u), spawn "udiskie-umount -as")
--, ((modm .|. shiftMask, xK_w ), if (dmenu "-b -i -nb '#040404' -nf '#525252' -sf '#ffa0ff' -sb '#000000' -p \"Do you really want to close XMonad? [yes/no]: \"") == "yes" then (sendMessage Expand) else (sendMessage Shrink))
-- Restart xmonad
@ -211,6 +215,9 @@ myGenericKeys =
-- Lock the screen using xscreensaver
[ ((modm .|. shiftMask, xK_v), spawn "xscreensaver-command -lock")
-- Key binding to toggle the gap for the bar.
, ((modm, xK_b), sendMessage ToggleStruts)
-- Toggle full-screen mode
, ((modm .|. controlMask, xK_space), sendMessage (Toggle "Full"))
@ -358,6 +365,10 @@ maxFloat = flip W.float $ rectWithBorder 0.05
doMaxFloat = ask >>= doF . maxFloat
-- removes duplicate code in my manage hook following the pattern:
-- resource =? "a" <||> resource =? "b" <||> ...
resourceIsOneOf = foldl (<||>) (return False) . fmap (resource =?)
------------------------------------------------------------------------
-- Window rules:
@ -374,16 +385,18 @@ doMaxFloat = ask >>= doF . maxFloat
-- 'className' and 'resource' are used below.
--
myManageHook = composeAll
[ className =? "MPlayer" --> doFloat
, resource =? "supertux2" --> doCenterFloat
-- , title =? "DOOM 3" --> doIgnore
[ resource =? "supertux2" --> doCenterFloat
, title =? "DOOM 3" --> doFullFloat
, resource =? "Qt-subapplication" <&&> title /=? "Oracle VM VirtualBox Manager" --> doFloat
, resource =? "vncviewer" --> doCenterFloat
, resource =? "opennx" --> doMaxFloat
, resource =? "Steam.exe" --> doCenterFloat
, resource =? "Steam" --> doCenterFloat
, resource =? "supertux2" --> doCenterFloat
, title =? "Xnest" --> doCenterFloat
-- , resource =? "hl2.exe" --> doCenterFloat
, resource =? "qemu-system-x86_64" --> doFullFloat
, resource =? "hl2_linux" --> doFullFloat
, isFullscreen --> (doF W.focusDown <+> doFullFloat)
, resourceIsOneOf ["emacs","gvim"] --> ask >>= (liftX . flip setOpacity (13/16)) >> idHook
, resource =? "desktop_window" --> doIgnore ] <+> namedScratchpadManageHook scratchpads <+> manageDocks
-- NamedScratchPad Hook

258
.xscreensaver Normal file
View File

@ -0,0 +1,258 @@
# XScreenSaver Preferences File
# Written by xscreensaver-demo 5.21 for collin on Fri Mar 8 02:57:40 2013.
# http://www.jwz.org/xscreensaver/
timeout: 0:10:00
cycle: 0:10:00
lock: True
lockTimeout: 1:00:00
passwdTimeout: 0:00:30
visualID: default
installColormap: True
verbose: False
timestamp: True
splash: True
splashDuration: 0:00:05
demoCommand: xscreensaver-demo
prefsCommand: xscreensaver-demo -prefs
nice: 10
memoryLimit: 0
fade: True
unfade: False
fadeSeconds: 0:00:03
fadeTicks: 20
captureStderr: True
ignoreUninstalledPrograms:False
font: *-medium-r-*-140-*-m-*
dpmsEnabled: False
dpmsQuickOff: False
dpmsStandby: 2:00:00
dpmsSuspend: 2:00:00
dpmsOff: 4:00:00
grabDesktopImages: True
grabVideoFrames: False
chooseRandomImages: False
imageDirectory:
mode: random
selected: -1
textMode: file
textLiteral: XScreenSaver
textFile:
textProgram: fortune
textURL: http://en.wikipedia.org/w/index.php?title=Special:NewPages&feed=rss
programs: \
- maze -root \n\
- GL: superquadrics -root \n\
attraction -root \n\
blitspin -root \n\
- greynetic -root \n\
- helix -root \n\
- hopalong -root \n\
- imsmap -root \n\
- noseguy -root \n\
- pyro -root \n\
- qix -root \n\
- rocks -root \n\
- rorschach -root \n\
decayscreen -root \n\
- flame -root \n\
- halo -root \n\
slidescreen -root \n\
- pedal -root \n\
- bouboule -root \n\
- braid -root \n\
coral -root \n\
- deco -root \n\
drift -root \n\
- fadeplot -root \n\
- galaxy -root \n\
- goop -root \n\
grav -root \n\
- ifs -root \n\
- GL: jigsaw -root \n\
- julia -root \n\
- kaleidescope -root \n\
- GL: moebius -root \n\
- moire -root \n\
- GL: morph3d -root \n\
- mountain -root \n\
- munch -root \n\
- penrose -root \n\
- GL: pipes -root \n\
- rd-bomb -root \n\
- GL: rubik -root \n\
- sierpinski -root \n\
slip -root \n\
- GL: sproingies -root \n\
- starfish -root \n\
- strange -root \n\
- swirl -root \n\
- triangle -root \n\
- xjack -root \n\
- xlyap -root \n\
- GL: atlantis -root \n\
- bsod -root \n\
- GL: bubble3d -root \n\
- GL: cage -root \n\
- crystal -root \n\
- cynosure -root \n\
- discrete -root \n\
- distort -root \n\
- epicycle -root \n\
- flow -root \n\
- GL: glplanet -root \n\
- interference -root \n\
- kumppa -root \n\
- GL: lament -root \n\
- moire2 -root \n\
- GL: sonar -root \n\
- GL: stairs -root \n\
- truchet -root \n\
- vidwhacker -root \n\
blaster -root \n\
bumps -root \n\
- ccurve -root \n\
- compass -root \n\
- deluxe -root \n\
demon -root \n\
- GL: extrusion -root \n\
- loop -root \n\
- penetrate -root \n\
- petri -root \n\
- phosphor -root \n\
- GL: pulsar -root \n\
ripples -root \n\
- shadebobs -root \n\
- GL: sierpinski3d -root \n\
spotlight -root \n\
- squiral -root \n\
- wander -root \n\
- webcollage -root \n\
- xflame -root \n\
- xmatrix -root \n\
- GL: gflux -root \n\
- nerverot -root \n\
- xrayswarm -root \n\
- xspirograph -root \n\
- GL: circuit -root \n\
- GL: dangerball -root \n\
- GL: dnalogo -root \n\
- GL: engine -root \n\
- GL: flipscreen3d -root \n\
- GL: gltext -root \n\
- GL: menger -root \n\
- GL: molecule -root \n\
- rotzoomer -root \n\
- speedmine -root \n\
- GL: starwars -root \n\
- GL: stonerview -root \n\
- vermiculate -root \n\
whirlwindwarp -root \n\
zoom -root \n\
- anemone -root \n\
- apollonian -root \n\
- GL: boxed -root \n\
- GL: cubenetic -root \n\
- GL: endgame -root \n\
- euler2d -root \n\
- fluidballs -root \n\
GL: flurry -root \n\
- GL: glblur -root \n\
- GL: glsnake -root \n\
- halftone -root \n\
- GL: juggler3d -root \n\
- GL: lavalite -root \n\
- polyominoes -root \n\
- GL: queens -root \n\
- GL: sballs -root \n\
- GL: spheremonics -root \n\
- thornbird -root \n\
- twang -root \n\
- GL: antspotlight -root \n\
- apple2 -root \n\
- GL: atunnel -root \n\
- barcode -root \n\
- GL: blinkbox -root \n\
- GL: blocktube -root \n\
- GL: bouncingcow -root \n\
cloudlife -root \n\
- GL: cubestorm -root \n\
- eruption -root \n\
- GL: flipflop -root \n\
- GL: flyingtoasters -root \n\
- fontglide -root \n\
- GL: gleidescope -root \n\
- GL: glknots -root \n\
GL: glmatrix -root \n\
- GL: glslideshow -root \n\
- GL: hypertorus -root \n\
- GL: jigglypuff -root \n\
- metaballs -root \n\
- GL: mirrorblob -root \n\
- piecewise -root \n\
- GL: polytopes -root \n\
- pong -root \n\
- popsquares -root \n\
- GL: surfaces -root \n\
xanalogtv -root \n\
- abstractile -root \n\
- anemotaxis -root \n\
- GL: antinspect -root \n\
fireworkx -root \n\
- fuzzyflakes -root \n\
interaggregate -root \n\
intermomentary -root \n\
- memscroller -root \n\
- GL: noof -root \n\
- pacman -root \n\
- GL: pinion -root \n\
- GL: polyhedra -root \n\
- GL: providence -root \n\
substrate -root \n\
- wormhole -root \n\
- GL: antmaze -root \n\
- GL: boing -root \n\
boxfit -root \n\
GL: carousel -root \n\
- celtic -root \n\
- GL: crackberg -root \n\
- GL: cube21 -root \n\
- fiberlamp -root \n\
- GL: fliptext -root \n\
- GL: glhanoi -root \n\
- GL: tangram -root \n\
- GL: timetunnel -root \n\
- GL: glschool -root \n\
- GL: topblock -root \n\
GL: cubicgrid -root \n\
- cwaves -root \n\
- GL: gears -root \n\
- GL: glcells -root \n\
- GL: lockward -root \n\
- m6502 -root \n\
- GL: moebiusgears -root \n\
- GL: voronoi -root \n\
- GL: hypnowheel -root \n\
- GL: klein -root \n\
- lcdscrub -root \n\
- GL: photopile -root \n\
- GL: skytentacles -root \n\
- GL: rubikblocks -root \n\
- GL: companioncube -root \n\
- GL: hilbert -root \n\
- GL: tronbit -root \n\
electricsheep --root 1 \n\
pointerPollTime: 0:00:05
pointerHysteresis: 10
windowCreationTimeout:0:00:30
initialDelay: 0:00:00
GetViewPortIsFullOfLies:False
procInterrupts: True
xinputExtensionDev: False
overlayStderr: True

10
.xsession Normal file
View File

@ -0,0 +1,10 @@
#!/bin/sh
#
# ~/.xsession
#
# Executed by xdm/gdm/kdm at login
#
/bin/bash --login -i ~/.xinitrc

10
.zshrc
View File

@ -1,7 +1,7 @@
# The following lines were added by compinstall
zstyle ':completion:*' completer _list _expand _complete _ignored _match _correct _approximate _prefix
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' matcher-list '' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'r:|[._-/,+]=** r:|=**' 'l:|=* r:|=*'
zstyle ':completion:*' max-errors 5
zstyle ':completion:*' preserve-prefix '//[^/]##/'
@ -26,11 +26,14 @@ alias grep='grep --color=auto'
alias fgrep='fgrep --color-auto'
alias egrep='egrep --color-auto'
alias ncmpc='ncmpc -c'
alias pacman='pacman-color'
alias knk='knock rekahsoft-mini 7713:tcp 1377:udp && sleep 3s && '
alias knkc='knk ssh rekahsoft-mini '
alias kgit='knk git'
alias skreen='screen -c /dev/null'
alias tranr='transmission-remote'
alias sctl='sudo systemctl'
alias ctlu='systemctl --user'
export GREP_COLOR="1;33"
alias grep='grep --color=auto'
@ -39,6 +42,9 @@ alias grep='grep --color=auto'
export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
export LESS=' -R '
# Set text/background colors for ls
export LS_COLORS="di=01;37"
PS1="[%n@%M: %~]%% "
# Turn off noscroll
@ -48,7 +54,7 @@ stty stop undef
# * mathematica / tools
# * nxclient / associated tools
# * maven tools
export PATH=${PATH}:/usr/local/bin:/opt/maven/bin:/opt/NX/bin:/home/collin/.cabal/bin
export PATH=${PATH}:/usr/local/bin:/opt/maven/bin:/opt/NX/bin:/home/collin/.cabal/bin:/home/collin/.bin
# start keychain
eval `keychain --eval --timeout 10 --quiet --agents ssh id_rsa`