;; (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: .stumpwmrc
;; Author: Collin J. Doering <rekahsoft@gmail.com>
;; Date: Aug 11, 2011
;; TODO: write some nice custom config for stumpwm
;(set-contrib-dir "/usr/share/stumpwm")
;; Add the date to the modeline
(setf stumpwm:*screen-mode-line-format*
(list "%w | "
'(:eval (remove #\Newline (stumpwm:run-shell-command "date '+%a %b %_d %l:%M %p'" t)))))
;; Enable the modeline
(stumpwm:toggle-mode-line (stumpwm:current-screen) (stumpwm:current-head))
;; Disable some of the defaults
(stumpwm:undefine-key stumpwm:*root-map* (stumpwm:kbd "c"))
(stumpwm:undefine-key stumpwm:*root-map* (stumpwm:kbd "C-e"))
;; Create some keybindings to make life easier
(stumpwm:define-key stumpwm:*root-map* (stumpwm:kbd ">") "gnext")
(stumpwm:define-key stumpwm:*root-map* (stumpwm:kbd "<") "gprev")
(stumpwm:define-key stumpwm:*root-map* (stumpwm:kbd "d") "gkill")
(stumpwm:define-key stumpwm:*root-map* (stumpwm:kbd "N") "gnew")
(stumpwm:define-key stumpwm:*root-map* (stumpwm:kbd "c") "exec urxvt")
(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)
(defcommand swank () ()
(setf stumpwm:*top-level-error-action* :break)
(swank:create-server :port 5005
:style swank:*communication-style*
:dont-close t)
(echo-string (current-screen)
"Starting swank. M-x slime-connect RET RET, then (in-package stumpwm)."))
;; Start swank
(swank)