;;; -*- 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." (interactive "nTransparency Value (30 - 100 opaque): ") (setq value (max 30 (min value 100))) (set-frame-parameter (selected-frame) 'alpha `(,value . ,value)) (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 visual-fill-column :hook ((org-mode . visual-fill-column-mode) (eww-after-render . visual-fill-column-mode)) :custom (visual-fill-column-center-text t) (visual-fill-column-width 120)) (use-package shackle :demand t :config (shackle-mode) :custom (switch-to-buffer-obey-display-actions t) (shackle-rules '( ;; native (compilation-mode :select nil :align bottom :size 0.2) (completion-list-mode :select nil :align bottom :size 0.1) ("^\\*Async Shell Command\\*.*$" :regexp t :ignore t) ;; 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) ))) (provide 'bd--buffers) ;;; bd-buffers ends here