summaryrefslogtreecommitdiff
path: root/.stumpwm.d/commands.lisp
diff options
context:
space:
mode:
Diffstat (limited to '.stumpwm.d/commands.lisp')
-rw-r--r--.stumpwm.d/commands.lisp56
1 files changed, 56 insertions, 0 deletions
diff --git a/.stumpwm.d/commands.lisp b/.stumpwm.d/commands.lisp
new file mode 100644
index 0000000..1976e9d
--- /dev/null
+++ b/.stumpwm.d/commands.lisp
@@ -0,0 +1,56 @@
+;; Functions
+
+(defun feh-set-wallpaper (wallpaper-name)
+ "Set wallpaper using feh"
+ (let ((wallpaper-dir "~/wallpapers/"))
+ (format t "Setting wallpaper: ~a~%" wallpaper-name)
+ (stumpwm:run-shell-command (format nil "feh --bg-scale ~a~a" wallpaper-dir wallpaper-name))))
+
+
+(defun thanos/set-wallpapers ()
+ "Set wallpapers depending on hostname."
+ (cond ((equal (asdf:hostname) "zeus") (feh-set-wallpaper "anime-night-mountains.jpg"))
+ ((equal (asdf:hostname) "hermes") (feh-set-wallpaper "library-old-house.jpg"))))
+
+;; Web jump (works for DuckDuckGo)
+(defmacro make-web-jump (name prefix)
+ `(defcommand ,(intern name) (search) ((:rest ,(concatenate 'string "Ask the " name ": ")))
+ (nsubstitute #\+ #\Space search)
+ (run-shell-command (concatenate 'string ,prefix search))))
+
+(make-web-jump "Duck" "firefox https://duckduckgo.com/?q=")
+(make-web-jump "Invidious" "firefox https://yewtu.be/search?q=")
+(defcommand firefox () ()
+ "Run or raise Firefox."
+ (sb-thread:make-thread (lambda () (run-or-raise "firefox" '(:class "firefox") t nil))))
+
+(defcommand delete-window-and-frame () ()
+ "Delete the current frame with its window."
+ (delete-window)
+ (remove-split))
+
+(defcommand hsplit-and-focus () ()
+ "Create a new frame on the right and focus it."
+ (hsplit)
+ (move-focus :right))
+
+(defcommand vsplit-and-focus () ()
+ "Create a new frame below and move focus to it."
+ (vsplit)
+ (move-focus :down))
+
+(defcommand term (&optional program) ()
+ "Invoke a terminal, possibly with a @arg{program}."
+ (sb-thread:make-thread
+ (lambda ()
+ (run-shell-command (if program
+ (format nil "kitty ~A" program)
+ "kitty")))))
+
+(when *initializing*
+ (mapc #'stumpwm:run-shell-command
+ '("emacs --daemon"
+ "picom"
+ "transmission-daemon"
+ "xsetroot -cursor_name left_ptr"))
+ (thanos/set-wallpapers))