[Fix #1514] Add transparency micro-state.

This commit is contained in:
person808 2015-06-23 20:57:20 -10:00 committed by syl20bnr
parent cd78f92b37
commit 9e03747e55
3 changed files with 53 additions and 22 deletions

View File

@ -763,14 +763,14 @@ and ~T~):
| ~SPC t L~ | toggle visual lines |
| ~SPC t n~ | show the absolute line numbers |
| Key Binding | Description |
|-------------+------------------------------|
| ~SPC T F~ | toggle frame fullscreen |
| ~SPC T f~ | toggle display of the fringe |
| ~SPC T m~ | toggle menu bar |
| ~SPC T M~ | toggle frame maximize |
| ~SPC T t~ | toggle tool bar |
| ~SPC T T~ | toggle frame transparency |
| Key Binding | Description |
|-------------+--------------------------------------------------------------|
| ~SPC T F~ | toggle frame fullscreen |
| ~SPC T f~ | toggle display of the fringe |
| ~SPC T m~ | toggle menu bar |
| ~SPC T M~ | toggle frame maximize |
| ~SPC T t~ | toggle tool bar |
| ~SPC T T~ | toggle frame transparency and enter transparency micro-state |
*Note* These toggles are all available via the =helm-spacemacs= interface (press
~SPC f e h~ to display the =helm-spacemacs= buffer).

View File

@ -280,19 +280,6 @@ the current state and point position."
(delete-other-windows)
(bzg-big-fringe-mode 1))))
(defun toggle-transparency ()
"Toggle between transparent or opaque display."
(interactive)
;; Define alpha if it's nil
(if (eq (frame-parameter (selected-frame) 'alpha) nil)
(set-frame-parameter (selected-frame) 'alpha '(100 100)))
;; Do the actual toggle
(if (/= (cadr (frame-parameter (selected-frame) 'alpha)) 100)
(set-frame-parameter (selected-frame) 'alpha '(100 100))
(set-frame-parameter (selected-frame) 'alpha
(list dotspacemacs-active-transparency
dotspacemacs-inactive-transparency))))
(defun toggle-triple-double-column-mode ()
" Toggle between triple columns and double columns mode quickly. "
(interactive)

View File

@ -220,7 +220,7 @@ Ensure that helm is required before calling FUNC."
:evil-leader "tmt")
(spacemacs|add-toggle transparent-frame
:status nil
:on (toggle-transparency)
:on (spacemacs/toggle-transparency)
:documentation "Make the current frame non-opaque."
:evil-leader "TT")
(spacemacs|add-toggle tool-bar
@ -504,3 +504,47 @@ otherwise it is scaled down."
("q" nil :exit t))
;; end of Text Manipulation Micro State
;; Transparency micro-state
(defun spacemacs/toggle-transparency ()
"Toggle between transparent or opaque display."
(interactive)
;; Define alpha if it's nil
(if (eq (frame-parameter (selected-frame) 'alpha) nil)
(set-frame-parameter (selected-frame) 'alpha '(100 100)))
;; Do the actual toggle
(if (/= (cadr (frame-parameter (selected-frame) 'alpha)) 100)
(set-frame-parameter (selected-frame) 'alpha '(100 100))
(set-frame-parameter (selected-frame) 'alpha
(list dotspacemacs-active-transparency
dotspacemacs-inactive-transparency)))
;; Immediately enter the micro-state, but also keep toggle
;; accessible from helm-spacemacs
(spacemacs/scale-transparency-micro-state))
(defun spacemacs/increase-transparency ()
"Increase transparency of current frame."
(interactive)
(let* ((current-alpha (car (frame-parameter (selected-frame) 'alpha)))
(increased-alpha (- current-alpha 5)))
(when (>= increased-alpha frame-alpha-lower-limit)
(set-frame-parameter (selected-frame) 'alpha (list increased-alpha increased-alpha)))))
(defun spacemacs/decrease-transparency ()
"Decrease transparency of current frame."
(interactive)
(let* ((current-alpha (car (frame-parameter (selected-frame) 'alpha)))
(decreased-alpha (+ current-alpha 5)))
(when (<= decreased-alpha 100)
(set-frame-parameter (selected-frame) 'alpha (list decreased-alpha decreased-alpha)))))
(spacemacs|define-micro-state scale-transparency
:doc "[+] increase [-] decrease [T] toggle transparency [q] quit"
:bindings
("+" spacemacs/increase-transparency)
("-" spacemacs/decrease-transparency)
("T" spacemacs/toggle-transparency)
("q" nil :exit t))
;; end of Transparency Micro State