Files
.emacs.d/core/siren-core-transparency.el
Jim Myhrberg 0375cd0328 Ensure module names cannot collide with core setup files
The core setup files for Emacs Siren which lives in the core directory
followed a `siren-*.el` naming convention, which is the same as the
naming convention for modules.

This means that the `modules/core/siren-packages.el` module for adding
packages for Emacs package development, was not being loaded due to it's
name conflicting with `core/siren-packages.el` which sets up and
configures the packaging system.

So all files under the root `core` directory now follow a
`siren-core-*.el` naming scheme, meaning modules should no longer
conflict with core files.
2019-08-17 17:00:35 +01:00

56 lines
2.0 KiB
EmacsLisp

;;; siren-core-transparency.el --- jimeh's Emacs Siren: Emacs Frame transparency.
;;; Commentary:
;; Basic helpers and configuration for frame transparency.
;;; Code:
(defun siren-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-transparency-increase ()
"Increase level of transparency for the current frame."
(interactive)
(siren-transparency-fix)
(if (> (frame-parameter nil 'alpha) 0)
(let ((new-level (+ (frame-parameter nil 'alpha) -1)))
(set-frame-parameter nil 'alpha new-level)
(message "Frame transparency set to %s" new-level))
(message "This is a minimum value of transparency!")))
(defun siren-transparency-decrease ()
"Decrease level of transparency for the current frame."
(interactive)
(siren-transparency-fix)
(if (< (frame-parameter nil 'alpha) 100)
(let ((new-level (+ (frame-parameter nil 'alpha) +1)))
(set-frame-parameter nil 'alpha (+ (frame-parameter nil 'alpha) +1))
(message "Frame transparency set to %s" new-level))
(message "This is a minimum value of transparency!")))
(defun siren-transparency (numb)
"Set level of transparency for the current frame by providing NUMB."
(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))))
(siren-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-transparency)
(global-set-key (kbd "C-M-<") 'siren-transparency-increase)
(global-set-key (kbd "C-M->") 'siren-transparency-decrease)
(provide 'siren-core-transparency)
;;; siren-core-transparency.el ends here