diff --git a/.stumpwmrc b/.stumpwmrc deleted file mode 100644 index c90eecb..0000000 --- a/.stumpwmrc +++ /dev/null @@ -1,155 +0,0 @@ -;;;;;; -*- mode: lisp -*- - -(in-package :stumpwm) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Variables ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(defvar *my-program-bindings* - (let ((m (stumpwm:make-sparse-keymap))) - (stumpwm:define-key m (stumpwm:kbd "M") "check-mail") - ;; NOTE: this is important - m)) - -(defvar *my-mpc-bindings* - (let ((m (make-sparse-keymap))) - (define-key m (kbd "s") "mpc-playing") - (define-key m (kbd "S") "mpc-stop") - (define-key m (kbd "P") "mpc-toggle") - (define-key m (kbd "n") "mpc-next") - (define-key m (kbd "p") "mpc-previous") - (define-key m (kbd "v") "mpc-volume") - m)) - -(defvar *browser* - (getenv "BROWSER")) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Functions ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(defun get-mail-count (mailbox) - "Check how many new messages there are for mailbox." - (length - (directory - (format nil "/home/slash/documents/mail/~A/INBOX/new/*.*" mailbox)))) - -(defun echo-urgent-window (target) - (message-no-timeout "~a has a message for you." - (window-title target))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Commands ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(defcommand urxvt () () - "run urxvt" - (run-shell-command "urxvt")) - -(defcommand browser () () - "open browser" - (run-shell-command *browser*)) - -(defcommand conkeror () () - "run or raise conkeror" - (run-or-raise "conkeror" '(:class "Conkeror"))) - -(defcommand evolus-pencil () () - "run evolus-pencil" - (run-shell-command "/usr/lib/evolus-pencil-svn/evolus-pencil.sh")) - -(defcommand luakit () () - "run luakit" - (run-shell-command "luakit")) - -(defcommand check-mail () () - "check new messages" - (run-shell-command "~/bin/mailrun.sh")) - -(defcommand i3lock () () - "run i3lock" - (run-shell-command "i3lock -c 000000")) - -(defcommand mpc-playing () () - "Show which song mpc is currently playing" - (message (run-shell-command "mpc | head -n1" t))) - -(defcommand mpc-stop () () - "Stop mpc from playing" - (run-shell-command "mpc stop")) - -(defcommand mpc-toggle () () - "Toggle mpc between playing and pauzed" - (run-shell-command "mpc toggle")) - -(defcommand mpc-next () () - "Tell mpc to go to the next song" - (message (run-shell-command "mpc next | head -n1" t))) - -(defcommand mpc-previous () () - "Tell mpc to go to the previous song" - (message (run-shell-command "mpc prev | head -n1" t))) - -(defcommand mpc-volume (level) ((:string "Volume: ")) - "Tell mpc to change the volume" - (run-shell-command (format nil "mpc volume ~a" level))) - -(defcommand screenshot () () - "Take a screenshot" - (run-shell-command "scrot")) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; General Settings ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(set-prefix-key (kbd "s-w")) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Mode-line ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(set-font "-*-dejavu sans-bold-r-*-*-13-*-*-*-*-*-iso8859-1") - -(setf *mode-line-background-color* "Black") -(setf *mode-line-foreground-color* "White") -(setf *mode-line-timeout* 60) - -;(setf *window-format* "%20t") -(setf *group-format* "[%n]") - -(if (not (head-mode-line (current-head))) - (toggle-mode-line (current-screen) (current-head))) -(setf - stumpwm:*screen-mode-line-format* - (list - "%g | " - '(:eval (format - nil - "arch: ~D | gmail: ~D | aethon: ~D | updates: ~A | cower: ~A " - (get-mail-count "arch") - (get-mail-count "gmail") - (get-mail-count "aethon") - (run-shell-command - "echo -n `pacman -Qu | wc -l`" t) - (run-shell-command - "echo -n `cat ~/.cowercount`" t))))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Keybindings ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(define-key *root-map* (kbd "c") "urxvt") -(define-key *root-map* (kbd "s-l") "i3lock") -(define-key *root-map* (kbd "s-p") '*my-program-bindings*) -(define-key *root-map* (kbd "m") '*my-mpc-bindings*) -(define-key *root-map* (kbd "w") "browser") -(define-key *root-map* (kbd "SunPrint_Screen") "screenshot") - -(define-key *top-map* (kbd "M-TAB") "next") - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Hooks ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(add-hook *urgent-window-hook* 'echo-urgent-window)