转自:
http://blog.csdn.net/ccat/article/details/4378345
;; transform window
;; Anchor: March Liu (刘鑫) <march.liu@gmail.com>
;;
;; This is a script to set emacs window's alpha value.
;; It work well on windows xp and vista with EmacsWin32
;; useage: add below line in your .emacs
;;
;; (load-file "path/alpha-window.el")
;;
;; you can define your alpha-list to set the transform combine
;; bind key with below code:
;;
;; (global-set-key [(f11)] 'loop-alpha)
(setq alpha-list '((100 100) (95 65) (85 55) (75 45) (65 35)))
(defun loop-alpha ()
(interactive)
(let ((h (car alpha-list))) ;; head value will set to
((lambda (a ab)
(set-frame-parameter (selected-frame) 'alpha (list a ab))
(add-to-list 'default-frame-alist (cons 'alpha (list a ab)))
) (car h) (car (cdr h)))
(setq alpha-list (cdr (append alpha-list (list h))))
)
)
这个脚本的特点如下:
- 单命令轮转任意多个状态
- 可以用 (global-set-key [(f11)] 'loop-alpha) 把 loop-alpha 绑定到快捷键上
- 我设定了四个透明度组合,你可以在自己的 .emacs 里重定义 alpha-list ,设定自己 的透明度方案
目前我只在windows上试验过了,X窗口下如果没有开透明效果应该是不行的。当然,X本身 的半透明就很好用了,我在X上从来没想过需要这么个功能==;
应该只能用于图形界面:P。