ボタンひとつで日付挿入!officeで便利なツールバーをxyzzyでも使いこなす

ファイル名: -

window上部のメニューのあたりに表示されるアイコン付き機能ボタンの設定について説明します。

ツールバーのカスタマイズ

window上部のメニューのあたりに表示されるアイコン付き機能ボタンです。 ツールバーのカスタマイズはこちらが参考になります。
リファレンス(wiki)> define-command-barHieさんのツールバー説明ページohkuboさんのツールバー説明ページ

サンプル

これを.xyzzyに書いて 立ち上げ後、表示 -> ツールバー -> semi標準(&S) でOK 再起動しても表示されているはず。 一言書くつもりがだいぶ長くなってしまった。。。
(defun semi-std-tool-bar ()
  (create-tool-bar
   'semi-std-tool-bar
   (merge-pathnames "toolbar.bmp" (etc-path))
   '(("新規作成" 24 new-file)
     ("開く" 22 open-file-dialog)
     ("上書き保存" 20 save-buffer-dialog :modified)
     ("全て保存" 75 save-all-buffers)
     ("読み取り専用トグル" 25 toggle-read-only (lambda () (when buffer-read-only :check)))
     :sep
     ("印刷" 29 print-selected-buffer-dialog)
     :sep
     ("元に戻す" 0 undo :undo)
     ("やっぱり元に戻さない" 1 redo :redo)
     :sep
     ("検索" 5 search-dialog)
     ("前を検索" 3 repeat-backward-search ed::tool-bar-update-search)
     ("次を検索" 4 repeat-forward-search ed::tool-bar-update-search)
     :sep
     ("grep" 74 grep-dialog)
     :sep
     ("折り返さない" 76
      set-buffer-fold-type-none set-buffer-fold-type-none-update)
     ("指定位置で折り返す" 77
      set-buffer-fold-type-column set-buffer-fold-type-column-update)
     ("ウィンドウ幅で折り返す" 78
      set-buffer-fold-type-window set-buffer-fold-type-window-update)
     :sep
     ("最後の編集した行" 38 goto-last-modified-line)
     ("ファイルのフォルダを開く" 26 open-directory-where-current-buffer-file-be) ;独自関数
     ("ファイルをshellで実行" 43 execute-current-buffer) ;独自関数
     ("日付の挿入" 54 insert-date) ;独自関数
     ("共通設定" 56 option-property-sheet)
    )))
(define-command-bar 'semi-std-tool-bar "semi標準(&S)")

(defun insert-date()
 (interactive)
 (insert (format-date-string "%Y/%m/%d(%v) %H:%M")))

(defun execute-current-buffer ()
  (interactive)
  (shell-execute (buffer-name (selected-buffer))))

;カレントにも対応 (filer ではない)
(defun open-directory-where-buffer-file-be (&optional buffer-name)
  (interactive)
  (let (b-f-name d-name)
	(if buffer-name
		(and
		 (setq b-f-name (get-buffer-file-name buffer-name))
		 (setq d-name (directory-namestring b-f-name)))
	  (setq d-name (read-directory-name "open direcory: " &key (get-buffer-file-name ))))
	(shell-execute d-name)
  )
)
(defun open-directory-where-current-buffer-file-be ()
  (interactive)
  (let ((name  (get-buffer-file-name)))
    (shell-execute (if name (directory-namestring name) "~/"))))

;まだちょっと ファイラーの操作になれてないので、急いでいるとき 私はwindows フォルダーを出してしまう。
表示がおかしくなったら、上記のサイトや cmds.lか usr/ 配下の .xyzzy.historyの *command-bar-list*などを参考にしてみてください。
Delicious にシェア
Digg にシェア
reddit にシェア
LinkedIn にシェア
LINEで送る
email this
Pocket

564 views.



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です