2021年2月5日金曜日

xyzzyをタスクトレイに常駐

ttrayを使うとxyzzyをタスクトレイに常駐することができる。

これと、ホットキーによる表示/非表示を組み合わせると、調べ物をしながらのメモが楽になる。

PPtrayを利用する方法

.xyzzyに以下を追加し、タイトルバーに -xyzzy- が含まれるようにする。

(require "ttray")
(setq-default title-bar-format "-xyzzy- %f (%M) [%k:%l]")

PPtrayから表示/非表示を実現する。以下を編集して取込。

K_tray	= {
^\X	,*focus !"-xyzzy-"
}

これでCtrl+Shirt+Xで表示/非表示ができる。PPtrayはもちろん常駐させておく。

PPtrayを利用しない方法

利用しているのがPPxとxyzzyのみで、ブラウザその他のソフトを使わない、このOSではそんなもの起動することもない!という硬派な人の場合。

  • PPc側からxyzzy呼び出し
  • xyzzy側からxyzzy最小化

の二つで表示/非表示を実現する。
PPx Key Modeuleをインストールした上で、

.xyzzy

(require "ttray")
(global-set-key '(#\C-x #\C-x) 'kill-all-buffer)
;; すべてのバッファを削除する
;; http://www.nct9.ne.jp/m_hiroi/xyzzy_lisp/xyzzy01.htmlより
(global-set-key '(#\C-x #\C-c) 'ttray-hide-xyzzy)
(defun kill-all-buffer ()
  (interactive)
  (let ((scratch-buff (find-buffer "*scratch*")))
    (dolist (buffer (buffer-list))
      (if (and (not (eq scratch-buff buffer))
               (not (buffer-modified-p buffer)))
          (delete-buffer buffer)))))

以下を編集して取込。

KC_main	= {
^X	,*setnextkey K_launcher
}
KV_main	= {
^X	,*setnextkey K_launcher
}
K_launcher	= {
^C	,xyzzy
}

これで、C_x,C_c で表示/非表示が実現できる。xyzzyでバッファを全て消したくなったときは C_x,C_x 。

0 件のコメント:

コメントを投稿