summaryrefslogtreecommitdiff
path: root/.config/emacs/modules/bd--buffers.el
diff options
context:
space:
mode:
Diffstat (limited to '.config/emacs/modules/bd--buffers.el')
-rw-r--r--.config/emacs/modules/bd--buffers.el73
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