Stumpwm configs
This commit is contained in:
parent
feadd84c93
commit
6339a9ef31
4 changed files with 105 additions and 5 deletions
|
|
@ -1,7 +1,7 @@
|
|||
(in-package :stumpwm)
|
||||
|
||||
;; change the prefix key to something else
|
||||
(set-prefix-key (kbd "C-z"))
|
||||
(set-prefix-key (kbd "C-t"))
|
||||
|
||||
;; prompt the user for an interactive command. The first arg is an
|
||||
;; optional initial contents.
|
||||
|
|
@ -10,6 +10,7 @@
|
|||
(when cmd
|
||||
(eval-command cmd t))))
|
||||
|
||||
|
||||
;; Read some doc
|
||||
(define-key *root-map* (kbd "d") "exec gv")
|
||||
;; Browse somewhere
|
||||
|
|
@ -32,8 +33,47 @@
|
|||
(define-key *root-map* (kbd "M-s") "duckduckgo")
|
||||
(define-key *root-map* (kbd "i") "imdb")
|
||||
|
||||
;; Message window font
|
||||
(set-font "-xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-15")
|
||||
;; Message/help window styling
|
||||
(set-fg-color "#d8dee9")
|
||||
(set-bg-color "#1b2b34")
|
||||
(set-border-color "#6699cc")
|
||||
(setf *normal-border-width* 2)
|
||||
(setf *window-border-style* :thin)
|
||||
(setf *ignore-wm-inc-hints* t)
|
||||
(set-module-dir "~/.stumpwm.d/modules/util")
|
||||
(load-module "swm-gaps")
|
||||
(setf swm-gaps:*inner-gaps-size* 8)
|
||||
(setf swm-gaps:*outer-gaps-size* 16)
|
||||
|
||||
(defcommand gaps-off () ()
|
||||
(swm-gaps:toggle-gaps-off))
|
||||
|
||||
(defcommand gaps-small () ()
|
||||
(setf swm-gaps:*inner-gaps-size* 8
|
||||
swm-gaps:*outer-gaps-size* 8)
|
||||
(swm-gaps:toggle-gaps-on))
|
||||
|
||||
(defcommand gaps-medium () ()
|
||||
(setf swm-gaps:*inner-gaps-size* 16
|
||||
swm-gaps:*outer-gaps-size* 16)
|
||||
(swm-gaps:toggle-gaps-on))
|
||||
|
||||
(defcommand gaps-large () ()
|
||||
(setf swm-gaps:*inner-gaps-size* 32
|
||||
swm-gaps:*outer-gaps-size* 32)
|
||||
(swm-gaps:toggle-gaps-on))
|
||||
|
||||
(defvar *gaps-map* (make-sparse-keymap))
|
||||
(define-key *gaps-map* (kbd "0") "gaps-off")
|
||||
(define-key *gaps-map* (kbd "1") "gaps-small")
|
||||
(define-key *gaps-map* (kbd "2") "gaps-medium")
|
||||
(define-key *gaps-map* (kbd "3") "gaps-large")
|
||||
(set-font "-b&h-luxi mono-medium-r-normal--20-*-*-*-m-0-iso10646-1")
|
||||
(setf *message-window-padding* 16)
|
||||
(setf *message-window-gravity* :center)
|
||||
(setf *input-window-gravity* :center)
|
||||
|
||||
|
||||
|
||||
;;; Define window placement policy...
|
||||
|
||||
|
|
@ -69,3 +109,46 @@
|
|||
(define-frame-preference "Emacs"
|
||||
(1 t t :restore "emacs-editing-dump" :title "...xdvi")
|
||||
(0 t t :create "emacs-dump" :class "Emacs"))
|
||||
|
||||
(defcommand kill-window-or-frame () ()
|
||||
(if (current-window)
|
||||
(delete-window)
|
||||
(remove-split)))
|
||||
|
||||
;; Don't send a random window to a new split
|
||||
(setf *new-frame-action* :empty)
|
||||
(setf *suppress-frame-indicator* t)
|
||||
|
||||
(defcommand rofi-pull-window () ()
|
||||
(let* ((windows (remove (current-window) (group-windows (current-group))))
|
||||
(names (format nil "~{~a~%~}" (mapcar #'window-name windows)))
|
||||
(selection (run-prog-collect-output
|
||||
"/bin/sh" "-c"
|
||||
(format nil "echo '~a' | rofi -dmenu -p 'window'" names))))
|
||||
(when (and selection (not (string= selection "")))
|
||||
(let ((win (find (string-trim '(#\Newline) selection)
|
||||
windows :key #'window-name :test #'string=)))
|
||||
(when win (pull-window win))))))
|
||||
|
||||
(defvar *window-map* (make-sparse-keymap))
|
||||
(define-key *top-map* (kbd "s-W") *window-map*)
|
||||
(define-key *window-map* (kbd "r") "iresize")
|
||||
(define-key *window-map* (kbd "g") *gaps-map*)
|
||||
|
||||
(defvar *media-map* (make-sparse-keymap))
|
||||
(define-key *top-map* (kbd "s-m") *media-map*)
|
||||
(define-key *media-map* (kbd "v")
|
||||
"exec mpv-pick.sh")
|
||||
|
||||
(define-key *top-map* (kbd "s-d") "exec rofi -show run")
|
||||
(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-w") "rofi-pull-window")
|
||||
(define-key *top-map* (kbd "s-p") "next-in-frame")
|
||||
(define-key *top-map* (kbd "s-n") "prev-in-frame")
|
||||
(define-key *top-map* (kbd "s-q") "kill-window-or-frame")
|
||||
(define-key *top-map* (kbd "s--") "vsplit")
|
||||
(define-key *top-map* (kbd "s-\|") "hsplit")
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue