diff options
Diffstat (limited to '.config/emacs/modules/bd--buffers.el')
-rw-r--r-- | .config/emacs/modules/bd--buffers.el | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/.config/emacs/modules/bd--buffers.el b/.config/emacs/modules/bd--buffers.el new file mode 100644 index 0000000..c80e75f --- /dev/null +++ b/.config/emacs/modules/bd--buffers.el @@ -0,0 +1,73 @@ +;;; -*- lexical-binding: t; -*- +;;; Commentary: +;;; Code: + + +;; dedication +(defun toggle-current-window-dedication () + "Adds or revokes dedicated window status from a buffer. A +dedicated buffer will never be automatically orphaned." + (interactive) + (let* ((window (selected-window)) + (dedicated (window-dedicated-p window))) + (set-window-dedicated-p window (not dedicated)) + (message "Window %sdedicated to %s" + (if dedicated "no longer " "") + (buffer-name)))) + +;; reading mode +(defun split-and-follow () + (interactive) + (delete-other-windows) + (split-window-horizontally) + (split-window-horizontally) + (balance-windows) + (other-window -1) + (follow-mode 1)) + +(defun set-frame-alpha (value) + "Sets the transparency of the frame background. 0=transparent/100=opaque +Due to a bug with guix-packaged emacs, only uses true-transparency on wayland." + (interactive "nTransparency Value (30 - 100 opaque): ") + (setq value (max 30 (min value 100))) + (message "Alpha set to %d" value)) +(add-to-list 'default-frame-alist '(alpha . (92 . 92))) + +(use-package autorevert + :init + (global-auto-revert-mode) + :custom + (global-auto-revert-non-file-buffers t) + (auto-revert-interval 30)) + +(use-package shackle + :demand t + :config + (shackle-mode) + :custom + (shackle-rules '( + ;; native + (compilation-mode :select nil :align bottom :size 0.2) + (completion-list-mode :select nil :align bottom :size 0.1) + ;; info + (help-mode :noselect t :align left :size 0.3) + (Info-mode :select t :align left :size 0.4) + ("^\\*slime-description.*\\*$" :regexp t :select t :align left) + ;; repls + (geiser-repl-mode :select t :align right) + (slime-repl-mode :select t :align right) + ;; shells + (".*eshell.*\\*$" :regexp t :select t :align above :size 0.3) + (".*shell.*\\*$" :regexp t :select t :align above :size 0.3) + ("^\\*term.*\\*$" :regexp t :select t :align above :size 0.3) + ;; magit + (magit-status-mode :select t :align bottom :size 0.3) + (magit-diff-mode :select nil :align right :size 0.3) + ;; emms + (emms-playlist-mode :select t :align left :size 0.2) + )) + (shackle-default-rule '(:select t))) + + +(provide 'bd--buffers) +;;; bd-buffers ends here |