Emacs Lisp なんぞ貼ってみるテスト

| コメント(0) | トラックバック(0)
ソースを blog に貼るときは、的な話がかなり前に話題になったけど。
ソースを貼るなんてことはまぁ無いわな、と思ってスルーしていたのだが。
この前ちょっと PRE タグ入れてみたら汚ないの。
(defun ma:change-alpha ()
  (interactive)
  (if (fboundp 'set-active-alpha) 
	  (progn
		(let ((tr 8))
		  (set-active-alpha (/ tr 10.0))
		  (catch 'endFlg
			(while t
			  (message "change alpha set. p:up n:down alpha:0.%s:0.%s" tr (- tr 1))
			  (setq c (read-char))
			  (cond ((= c ?p) 
					 (setq tr (or (and (> (+ tr 1) 10) 10) (+ tr 1)))
					 (set-active-alpha (/ tr 10.0))
					 (set-inactive-alpha (/ (- tr 1) 10.0)))
					((= c ?n) 
					 (setq tr (or (and (<= (- tr 1) 0) 1) (- tr 1)))
					 (set-active-alpha (/ tr 10.0))
					 (set-inactive-alpha (/ (- tr 1) 10.0)))
					((and (/= c ?p) (/= c ?n)) 
					 (message "quit alpha:0.%s:0.%s" tr (- tr 1))
					 (throw 'endFlg t)))))))
	(message "Can't exec set-active-alpha")))

(global-set-key "\C-x\ea" 'ma:change-alpha)
これは、NTEmacs で透明度をインタラクティブに変えてみようと作ったもの。
けっこう使ってます。
でもなんで alpha??

きっとそのウチ、キレイに見えるハズ。

追記: (07.10.24(wed)-18:43)
すみません。set-active-alpha と set-inactive-alpha はバージョンに依存するようです。
手元の、22.1.1 ではこの function はありません。変わりに set-alpha とシンプルなものの様。
まぁ一応、呼べる場合だけ実行するように修正しました。

追記: (07.10.26(fri)-13:38)
本格的に Emacs 22.1 を使うことにしたので修正しました。
(defun ma:change-alpha ()
  (interactive)
  (if (fboundp 'set-alpha) 
	  (progn
		(let ((tr 80))
		  (set-alpha (list tr (- tr 10)))
		  (catch 'endFlg
			(while t
			  (message "change alpha set. p:up n:down alpha:%s/%s" tr (- tr 10))
			  (setq c (read-char))
			  (cond ((= c ?p) 
					 (setq tr (or (and (> (+ tr 5) 100) 100) (+ tr 5)))
					 (set-alpha (list tr (- tr 10))))
					((= c ?n) 
					 (setq tr (or (and (<= (- tr 5) 0) 1) (- tr 5)))
					 (set-alpha (list tr (- tr 10))))
					((and (/= c ?p) (/= c ?n)) 
					 (message "quit alpha:%s/%s" tr (- tr 10))
					 (throw 'endFlg t)))))))
	(message "no exist set-alpha()")))
(global-set-key "\C-x\ea" 'ma:change-alpha)
Emacs を使い続けてるとバージョンによって機能を切り替えるということをよくやるのだけれど。
けっきょく、条件分岐させているだけ。ちょっとフマン。
まぁ、いまとなっては複数のバージョンで使ってひとつの .emacs を使うこともなくなったからいいのだけれど。
スマートにやる方法がきっとあると思うのだが。

トラックバック(0)

トラックバックURL: http://kuraku.net/mt426/mt-tb.cgi/919

コメントする

Profile

ウェブページ


today: / yesterday:

twitter / kuraku

    Wassr

    最近のブックマーク