From 564e2611bfdbe6f85de0b1a9c26e97e1cb592bb3 Mon Sep 17 00:00:00 2001 From: justbur Date: Wed, 23 Dec 2015 12:43:06 -0500 Subject: [PATCH] Fix transparency toggle The docs state that the parameter should be a cons cell instead of a list. Cleaned up the toggle function a bit, too. --- .../spacemacs-base/keybindings.el | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/layers/+distribution/spacemacs-base/keybindings.el b/layers/+distribution/spacemacs-base/keybindings.el index f57cdd7e8..7e00d001d 100644 --- a/layers/+distribution/spacemacs-base/keybindings.el +++ b/layers/+distribution/spacemacs-base/keybindings.el @@ -553,15 +553,14 @@ otherwise it is scaled down." (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))) + (let* ((frame (selected-frame)) + (alpha (frame-parameter frame 'alpha))) + (set-frame-parameter + frame 'alpha + (if (or (null alpha) (= (cdr-safe alpha) 100)) + (cons dotspacemacs-active-transparency + dotspacemacs-inactive-transparency) + '(100 . 100)))) ;; Immediately enter the micro-state, but also keep toggle ;; accessible from helm-spacemacs (spacemacs/scale-transparency-micro-state)) @@ -572,7 +571,8 @@ otherwise it is scaled down." (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))))) + (set-frame-parameter (selected-frame) 'alpha + (cons increased-alpha increased-alpha))))) (defun spacemacs/decrease-transparency () "Decrease transparency of current frame." @@ -580,7 +580,8 @@ otherwise it is scaled down." (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))))) + (set-frame-parameter (selected-frame) 'alpha + (cons decreased-alpha decreased-alpha))))) (spacemacs|define-micro-state scale-transparency :doc "[+] increase [-] decrease [T] toggle transparency [q] quit"