mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
I've taken a lot of inspiration from Emacs-Prelude when it came to the structure of this rewritten config. I didn't want to use Prelude as I don't agree with all it's defaults, nor do I want to have to deal with any future changes in Prelude that might break things for me. So instead I went down the fully custom path, but heavily inspired by Prelude, both in terms of file/code structure, and also some of it's features. Compared to my old config setup, it's got most of the same things, but nearly everything is in a module file now, making it easy to fully enable/disable certain features.
49 lines
1.7 KiB
EmacsLisp
49 lines
1.7 KiB
EmacsLisp
;;
|
|
;; frame transparency
|
|
;;
|
|
|
|
(defun siren-frame-transparency-fix ()
|
|
"Set initial value of alpha parameter for the current frame"
|
|
(interactive)
|
|
(if (equal (frame-parameter nil 'alpha) nil)
|
|
(set-frame-parameter nil 'alpha 100)))
|
|
|
|
(defun siren-frame-transparency-increase ()
|
|
"Increase level of transparency for the current frame"
|
|
(interactive)
|
|
(siren-frame-transparency-fix)
|
|
(if (> (frame-parameter nil 'alpha) 0)
|
|
(set-frame-parameter nil 'alpha (+ (frame-parameter nil 'alpha) -1))
|
|
(message "This is a minimum value of transparency!")))
|
|
|
|
(defun siren-frame-transparency-decrease ()
|
|
"Decrease level of transparency for the current frame"
|
|
(interactive)
|
|
(siren-frame-transparency-fix)
|
|
(if (< (frame-parameter nil 'alpha) 100)
|
|
(set-frame-parameter nil 'alpha (+ (frame-parameter nil 'alpha) +1))
|
|
(message "This is a minimum value of transparency!")))
|
|
|
|
(defun siren-frame-transparency (numb)
|
|
"Set level of transparency for the current frame"
|
|
(interactive "nEnter transparency level in range 0-100: ")
|
|
(if (> numb 100)
|
|
(message "Error! The maximum value for transparency is 100!")
|
|
(if (< numb 0)
|
|
(message "Error! The minimum value for transparency is 0!")
|
|
(set-frame-parameter nil 'alpha numb))))
|
|
|
|
(setq siren-transparency-level 99)
|
|
(siren-frame-transparency siren-transparency-level)
|
|
(add-hook 'after-make-frame-functions
|
|
(lambda (selected-frame)
|
|
(set-frame-parameter selected-frame 'alpha siren-transparency-level)))
|
|
|
|
;; Keybindings
|
|
(global-set-key (kbd "C-M-|") 'siren-frame-transparency)
|
|
(global-set-key (kbd "C-M-<") 'siren-frame-transparency-increase)
|
|
(global-set-key (kbd "C-M->") 'siren-frame-transparency-decrease)
|
|
|
|
|
|
(provide 'siren-frame-transparency)
|