summaryrefslogtreecommitdiff
path: root/.config/emacs/modules/bd--essential-windowing.el
blob: 0759ad490127adab33fa6bbabe1e4e1fc559415f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
;; -*- lexical-binding: t; -*-


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; This file contains sane windowing settings for any ;;
;; environment type.                                  ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)

;; no fringe
(fringe-mode '(0 . 0))

(keymap-global-set "M-<down>" 'other-window)
(keymap-global-set "M-<up>" (lambda ()
                              (interactive)
                              (other-window -1)))


;; 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))))

;; alpha
(defun bd/clamp (lower-bound upper-bound value)
  (max lower-bound (min value upper-bound)))

(defun set-frame-alpha (value)
  "Sets the transparency of the frame background. 0=transparent/100=opaque"
  (interactive "nTransparency Value (30 - 100 opaque): ")
  (setq value (bd/clamp 30 100 value))
  (set-frame-parameter (selected-frame) 'alpha `(,value . ,value))
  (message "Alpha set to %d" value))
(add-to-list 'default-frame-alist '(alpha . (82 . 82)))


(provide 'bd--essential-windowing)