summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--commands.lisp16
-rw-r--r--init.lisp15
-rw-r--r--keybinds.lisp40
-rw-r--r--modeline.lisp16
-rw-r--r--visual.lisp7
6 files changed, 98 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..606458e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+modules/
+
+*.log
+*.log.*
diff --git a/commands.lisp b/commands.lisp
new file mode 100644
index 0000000..66c657d
--- /dev/null
+++ b/commands.lisp
@@ -0,0 +1,16 @@
+(defpackage #:config.commands
+ (:use #:cl #:config #:stumpwm))
+(in-package #:config.commands)
+
+(defcommand get-current-volume () ()
+ (let* ((raw-output (run-shell-command "wpctl get-volume @DEFAULT_AUDIO_SINK@ | awk '{ printf(\"%s %s %d%% \", $3, $1, $2*100) }'" t)))
+ (message "~a" raw-output)))
+
+(defcommand get-current-temp () ()
+ (let* ((raw-output (run-shell-command "sensors | sed -n /Tctl/p | sed 's/Tctl: *+/Temp: /'" t)))
+ (message "~a" raw-output)))
+
+(defcommand print-calendar () ()
+ (let* ((raw-output (run-shell-command
+ "cal | sed -e \"s/ $(date +%e) /\<$(date +%e)\>/\"" t)))
+ (message "~a" raw-output)))
diff --git a/init.lisp b/init.lisp
new file mode 100644
index 0000000..90257f3
--- /dev/null
+++ b/init.lisp
@@ -0,0 +1,15 @@
+(defpackage #:config
+ (:use #:cl #:stumpwm))
+(in-package #:config)
+
+(set-module-dir (uiop:subpathname* (user-homedir-pathname) ".stumpwm.d/modules"))
+
+(load "~/.stumpwm.d/modeline.lisp")
+(load "~/.stumpwm.d/keybinds.lisp")
+(load "~/.stumpwm.d/visual.lisp")
+
+(when *initializing*
+ (dolist (h (screen-heads (current-screen)))
+ (enable-mode-line (current-screen) h t)))
+
+(stumptray::stumptray)
diff --git a/keybinds.lisp b/keybinds.lisp
new file mode 100644
index 0000000..d90efca
--- /dev/null
+++ b/keybinds.lisp
@@ -0,0 +1,40 @@
+(defpackage #:config.keybinds
+ (:use #:cl #:config #:stumpwm))
+(in-package #:config.keybinds)
+
+(load "~/.stumpwm.d/commands.lisp")
+
+(set-prefix-key (kbd "C-z"))
+
+(define-key *top-map* (kbd "XF86AudioRaiseVolume") "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+")
+(define-key *top-map* (kbd "XF86AudioLowerVolume") "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-")
+(define-key *top-map* (kbd "XF86AudioMute") "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle")
+(define-key *top-map* (kbd "XF86AudioNext") "exec mpc next")
+(define-key *top-map* (kbd "XF86AudioPrev") "exec mpc prev")
+(define-key *top-map* (kbd "XF86AudioPlay") "exec mpc toggle")
+
+(define-key *top-map* (kbd "s-h") "move-focus left")
+(define-key *top-map* (kbd "s-j") "move-focus down")
+(define-key *top-map* (kbd "s-k") "move-focus up")
+(define-key *top-map* (kbd "s-l") "move-focus right")
+(define-key *top-map* (kbd "s-H") "exchange-direction left")
+(define-key *top-map* (kbd "s-J") "exchange-direction down")
+(define-key *top-map* (kbd "s-K") "exchange-direction up")
+(define-key *top-map* (kbd "s-L") "exchange-direction right")
+(define-key *top-map* (kbd "s-C") "delete")
+
+(define-key *top-map* (kbd "s-Return") "exec urxvtc")
+(define-key *top-map* (kbd "s-z") "exec boomer")
+(define-key *top-map* (kbd "s-Print") "exec scrot -s -e 'mv $f ~/pics/'")
+(define-key *top-map* (kbd "Print") "exec scrot -u -e 'mv $f ~/pics/'")
+(define-key *top-map* (kbd "s-b") "exec bm -o")
+(define-key *top-map* (kbd "s-B") "exec bm -y")
+(define-key *root-map* (kbd "C-f") "exec firefox -P default-release")
+(define-key *root-map* (kbd "C-F") "exec firefox -P less-strict")
+(define-key *root-map* (kbd "C-e") "exec emacsclient -c -a ''")
+(define-key *root-map* (kbd "C-m") "exec mpdmenu")
+(define-key *root-map* (kbd "C-.") "exec dmenu_run -m 0 -fn 'xft:Hack Nerd Font:size=11' -nb '#222222' -nf '#bbbbbb' -sb '#005577' -sf '#eeeeee'")
+
+(define-key *root-map* (kbd "C-v") "get-current-volume")
+(define-key *root-map* (kbd "C-t") "get-current-temp")
+(define-key *root-map* (kbd "C-a") "print-calendar")
diff --git a/modeline.lisp b/modeline.lisp
new file mode 100644
index 0000000..c96a2e0
--- /dev/null
+++ b/modeline.lisp
@@ -0,0 +1,16 @@
+(defpackage #:config.modeline
+ (:use #:cl #:config #:stumpwm))
+(in-package #:config.modeline)
+
+(load-module "cpu")
+(load-module "mem")
+(load-module "stumptray")
+
+(setf *mode-line-timeout* 2)
+(setf *time-modeline-string* "%A, %F - %H:%M")
+(setf *window-format* "%n: %30t")
+
+(setf cpu::*cpu-modeline-fmt* "%c")
+
+(setf *screen-mode-line-format*
+ (list "[%n] %v ^> %C | %M | %d" (make-string 4 :initial-element #\Space)))
diff --git a/visual.lisp b/visual.lisp
new file mode 100644
index 0000000..edd0454
--- /dev/null
+++ b/visual.lisp
@@ -0,0 +1,7 @@
+(defpackage #:config.visual
+ (:use #:cl #:config #:stumpwm))
+(in-package #:config.visual)
+
+(set-focus-color "cyan")
+(setf *window-border-style* :thin)
+(setf *set-msg-border-width* 1)