[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:08719] Re: タブ・バーのタイトル文字列



takeharu_yanagiuraさん、こんにちわ。

> (cadr(tab-bar-current-item 'editor::pseudo-frame-bar))
> 
> ⇒ "Frame 1"
> 
> 何故かはサッパリわかりませんが(^^; cadr で こうなりましたが・・・。

どうもありがとうございます。

今、2chフレームに移動したときだけ、バッファタブを消して2chスレッドタブを表
示するようなものを作ろうとしています。
完成してないし、自分の環境にしか役立たないようなものですが。
もし時間と興味がある方がいれば突っ込み入れていくれると嬉しいです。

;;---------------------------------------------------------------------
;;; buffer/2ch-barを表示・非表示
;;初期化
(require "2ch/main")
(defun my-toggle-buffer-bar-init ()
  (multiple-value-setq
	  (*my-bb-edge* *my-bb-x* *my-bb-y* *my-bb-z*)
	(tool-bar-info 'buffer-bar))
  (if (eq *my-bb-edge* nil)
	  (setq *my-bb-edge* :left))
  )
(add-hook '*post-startup-hook* #'my-toggle-buffer-bar-init)
;; 表示・非表示切り替え
(defun toggle-buffer-bar
  (&aux (edge (or
			   (if (tool-bar-exist-p 'buffer-bar)
				   (tool-bar-info 'buffer-bar) nil)
			   (if (tool-bar-exist-p '2ch::thread-bar)
				   (tool-bar-info '2ch::thread-bar) nil)
			   )))
  (interactive)
  (if (equal (cadr (tab-bar-current-item 'editor::pseudo-frame-bar)) "2ch")
	  (if (equal edge nil)
		  (show-tool-bar '2ch::thread-bar *my-bb-edge* *my-bb-x* *my-bb-y* *my-bb-z*)
		(progn
		  (multiple-value-setq (*my-bb-edge* *my-bb-x* *my-bb-y* *my-bb-z*) (tool-bar-info '2ch::thread-bar))
		  (hide-tool-bar '2ch::thread-bar))
		)
	(if (equal edge nil)
		(show-tool-bar 'buffer-bar *my-bb-edge* *my-bb-x* *my-bb-y* *my-bb-z*)
	  (progn
		(multiple-value-setq (*my-bb-edge* *my-bb-x* *my-bb-y* *my-bb-z*) (tool-bar-info 'buffer-bar))
		(hide-tool-bar 'buffer-bar))
	  )
	)
  )
(global-set-key '(#\C-c #\C-b) 'toggle-buffer-bar)

;;-----------------------------------------------------------------------
;;; フレームによってbuffer/2ch-bar切り替え
(defun toggle-buffer-or-2ch-bar
  (&aux (edge (or
			   (if (tool-bar-exist-p 'buffer-bar)
				   (tool-bar-info 'buffer-bar) nil)
			   (if (tool-bar-exist-p '2ch::thread-bar)
				   (tool-bar-info '2ch::thread-bar) nil)
			   )))
  (unless (equal edge nil)
	(if (equal (cadr (tab-bar-current-item 'editor::pseudo-frame-bar)) "2ch")
		(progn
		  (hide-tool-bar 'buffer-bar)
		  (show-tool-bar '2ch::thread-bar *my-bb-edge* *my-bb-x* *my-bb-y* *my-bb-z*))
	  (progn
		(if (tool-bar-exist-p '2ch::thread-bar)
			(hide-tool-bar '2ch::thread-bar))
		(show-tool-bar 'buffer-bar *my-bb-edge* *my-bb-x* *my-bb-y* *my-bb-z*))
	  )
	)
  )
(defun my-2ch-add-hook ()
  (add-hook '*select-pseudo-frame-hook* #'toggle-buffer-or-2ch-bar)
  )
(add-hook '2ch::*2ch-start-hook* #'my-2ch-add-hook)

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/

Index Home