Emacs 창의 투명 설정
3650 단어 emacs
(set-frame-parameter (selected-frame) 'alpha (list 85 50))
(add-to-list 'default-frame-alist (cons 'alpha (list 85 50)))
그리고 노력을 통해 저는 전환 기능을 썼습니다. f7을 누르면 투명해지고 f8을 누르면 투명 상태가 종료됩니다.
(defun transform-window (a ab)
(set-frame-parameter (selected-frame) 'alpha (list a ab))
(add-to-list 'default-frame-alist (cons 'alpha (list a ab)))
)
(global-set-key [(f7)] (lambda()
(interactive)
(transform-window 85 55)))
(global-set-key [(f8)] (lambda()
(interactive)
(transform-window 100 100)))
그러나 이런 물건은 두 키 전환이 분명히 우호적이지 않아서 나는 그것을 한 키 전환으로 바꾸었다.
(setq is-alpha nil)
(defun transform-window (a ab)
(set-frame-parameter (selected-frame) 'alpha (list a ab))
(add-to-list 'default-frame-alist (cons 'alpha (list a ab)))
)
(global-set-key [(f8)] (lambda()
(interactive)
(if is-alpha
(transform-window 100 100)
(transform-window 85 50))
(setq is-alpha (not is-alpha))))
나중에 코드를 다시 읽어보니 아직 개선할 여지가 있다고 느꼈다.우선 투명도 전환일 뿐 두 개의 단축키를 차지할 필요가 없다. Emacs로 N종을 쓰는 나에게 단축키는 상당히 귀중한 자원이다.다시 한 번, 현재의 디자인은 두 가지 투명도만 지원할 수 있고 전체적인 변수를 하나 더 사용했다.
Feather Bromans의 조언에 저는 emacs lisp를 깜짝 공격하여 이런 버전을 썼습니다.
;; transform window
;; Anchor: March Liu ( ) <[email protected]
>
;;
;; 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))))
)
)
이 스크립트의 특징은 다음과 같습니다.
그래픽 인터페이스: P에만 사용할 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Emacs Lisp 디버깅 팁미니 버퍼에 "잘못된 유형 인수"또는 이와 유사한 것이 있습니까? 스택 추적을 얻을 수 있습니까? 이상한 "잘못된 유형 인수"오류 또는 이전에 미니버퍼에 인쇄된 유사한 오류 중 하나를 받았을 것입니다. 대신 스택 추...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.