(in-package :stumpwm) ;; Start up a swank server for happy SLIME hacking (require :swank) (swank-loader:init) (swank:create-server :port 4004 :style swank:*communication-style* :dont-close t) ;; Commands (defcommand firefox () () (run-or-raise "firefox" '(:class "firefox"))) (defcommand lock () () (run-shell-command (concatenate 'string "i3lockmore " "--image-fill ~/Pictures/space-background.png " "-n " "--lock-icon ~/Pictures/lock.png"))) (defcommand battery () () (let ((capacity (string-trim '(#\newline) (run-shell-command "cat /sys/class/power_supply/BAT0/capacity" t)))) (echo-string (current-screen) (format nil "Battery: ~A%" capacity)))) ;; Keybindings (define-key stumpwm:*root-map* (kbd "C-f") "firefox") (define-key stumpwm:*root-map* (kbd "d") "exec rofi -show run") (define-key stumpwm:*root-map* (kbd "w") "exec rofi -show window") (define-key stumpwm:*root-map* (kbd "P") "exec passmenu") (define-key stumpwm:*root-map* (kbd "N") "exec networkmanager_dmenu") (define-key stumpwm:*root-map* (kbd "M") "exec ~/bin/monitor_layout.sh") (define-key stumpwm:*root-map* (kbd "L") "lock") (define-key stumpwm:*root-map* (kbd "b") "battery") (define-key *top-map* (kbd "XF86MonBrightnessDown") "exec light -U 5") (define-key *top-map* (kbd "XF86MonBrightnessUp") "exec light -A 5") (define-key *top-map* (kbd "XF86AudioRaiseVolume") "exec pavolume volup") (define-key *top-map* (kbd "XF86AudioLowerVolume") "exec pavolume voldown") (define-key *top-map* (kbd "XF86AudioMute") "exec pavolume mutetoggle") ;; X Windows config (run-shell-command "xsetroot -cursor_name left_ptr") (run-shell-command "setxkbmap -option caps:escape") ;; UI (ql:quickload "clx-truetype") (load-module "ttf-fonts") (set-font (make-instance 'xft:font :family "Triplicate T4c" :subfamily "Regular" :size 12)) (set '*message-window-padding* 4) ;; Notifications via Dunst (run-shell-command "/usr/bin/dunst")