From 1c8cab9a44fa80e88afc016067623d7e3a25bb10 Mon Sep 17 00:00:00 2001 From: yuzu-eva Date: Tue, 17 Dec 2024 18:52:36 +0100 Subject: initial commit --- .gitignore | 4 ++++ commands.lisp | 16 ++++++++++++++++ init.lisp | 15 +++++++++++++++ keybinds.lisp | 40 ++++++++++++++++++++++++++++++++++++++++ modeline.lisp | 16 ++++++++++++++++ visual.lisp | 7 +++++++ 6 files changed, 98 insertions(+) create mode 100644 .gitignore create mode 100644 commands.lisp create mode 100644 init.lisp create mode 100644 keybinds.lisp create mode 100644 modeline.lisp create mode 100644 visual.lisp 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) -- cgit v1.2.3