diff options
Diffstat (limited to '.config/emacs/modules/bd--window.el')
-rw-r--r-- | .config/emacs/modules/bd--window.el | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/.config/emacs/modules/bd--window.el b/.config/emacs/modules/bd--window.el new file mode 100644 index 0000000..b0eecf0 --- /dev/null +++ b/.config/emacs/modules/bd--window.el @@ -0,0 +1,61 @@ +;;; -*- lexical-binding: t; -*- +;;; Commentary: +;;; Code: + + +(require 'transient) + +(use-package autorevert + :init + (global-auto-revert-mode) + :config + (setopt global-auto-revert-non-file-buffers t + auto-revert-interval 30)) + +(setopt switch-to-buffer-obey-display-actions t + switch-to-buffer-in-dedicated-window 'pop) +(add-to-list 'display-buffer-alist + '("^\\*Async Shell Command\\*.*$" + (display-buffer-no-window))) + +(defun bd/layout--do-with-haste (f) + (let* ((args (transient-args 'bd/layout-dispatcher)) + (haste (if (member "haste" args) 3 1))) + (funcall f haste))) +(transient-define-prefix bd/layout-dispatcher () + ["Dispatcher > Layout\n" + ["Infixes" + ("s" "haste" "haste")]] + [["Commands" + ("-" "text decrease" + (lambda () (interactive) (bd/layout--do-with-haste #'text-scale-decrease)) + :transient t) + ("=" "text increase" + (lambda () (interactive) (bd/layout--do-with-haste #'text-scale-increase)) + :transient t) + ("b" "narrow" + (lambda () (interactive) (bd/layout--do-with-haste #'shrink-window-horizontally)) + :transient t) + ("f" "widen" + (lambda () (interactive) (bd/layout--do-with-haste #'enlarge-window-horizontally)) + :transient t) + ("p" "shrink" + (lambda () (interactive) (bd/layout--do-with-haste #'shrink-window)) + :transient t) + ("n" "enlarge" + (lambda () (interactive) (bd/layout--do-with-haste #'enlarge-window)) + :transient t) + ("|" "balance" balance-windows)] + ["" + ("N" "shift down" windmove-swap-states-down :transient t) + ("P" "shift up" windmove-swap-states-up :transient t) + ("F" "shift right" windmove-swap-states-right :transient t) + ("B" "shift left" windmove-swap-states-left :transient t)] + ["" + ("a" "alpha" bd/set-frame-alpha) + ("w" "wallpaper" bd/set-bg)]]) +(keymap-global-set "C-c w" #'bd/layout-dispatcher) + + +(provide 'bd--window) +;;; bd--window.el ends here |